OpenCode · 第 8 章 System Context 与 Context Epoch


文档摘要

OpenCode · 第 8 章 System Context 与 Context Epoch 章节摘要:大多数 AI 应用的「系统提示」就是一段写死的字符串——但 OpenCode 不这么干。它把喂给模型的初始指令做成一套结构化的事实集合(System Context),由许多个独立、可观测、有稳定标识的「上下文源(Context Source)」组合而成:有报告工作目录与 Git 状态的环境源、有报告当前日期的日期源、有注入指令的指令源、有技能指引源……每个源都有自己的加载器、自己的纯渲染器。

OpenCode · 第 8 章 System Context 与 Context Epoch

章节摘要:大多数 AI 应用的「系统提示」就是一段写死的字符串——但 OpenCode 不这么干。它把喂给模型的初始指令做成一套结构化的事实集合(System Context),由许多个独立、可观测、有稳定标识的「上下文源(Context Source)」组合而成:有报告工作目录与 Git 状态的环境源、有报告当前日期的日期源、有注入指令的指令源、有技能指引源……每个源都有自己的加载器、自己的纯渲染器。这套设计的高明之处在于:它不是把所有东西一次性塞进一个字符串,而是引入了「上下文纪元(Context Epoch)」——一段不可变的基准有效期,当某个源变化、或会话被压缩、或会话被移动时,纪元结束,新纪元开始。本章要讲透三件最硬核的事:上下文源的代数运算(怎么用统一接口组合不同类型的源)、基准/快照/纪元三件套(怎么让模型缓存前缀不失效),以及最妙的「对话中途系统消息」——当某个源在对话进行中变化时,如何在一个「安全回合边界」插入一条系统消息,既让模型知道事实变了,又不破坏厂商签名。这是全书最研究级的一章。

学习目标

阅读完本章,你应当能够:

  1. 解释为什么 System Context 是结构化事实集合而非字符串,以及这种设计带来的好处(可组合、可观测、可演化)。
  2. 描述**上下文源(Context Source)**的代数:它有什么(稳定 key、编解码、loader、纯渲染器),如何用统一接口组合不同类型的源。
  3. 讲清基准/快照/纪元三件套:基准是精确文本(作为模型缓存前缀),快照是模型不可见的 JSON(用来 diff),纪元是不可变有效期。
  4. 解释对话中途系统消息:当源在对话进行中变化时,如何在「安全回合边界」(提升输入与工具结算之后、模型调用之前)合并发出一条按时间顺序的系统消息。
  5. 复述协调(reconcile)状态机:unchanged / updated / replacement-ready / blocked 各代表什么,以及为什么需要「阻塞」态。

核心概念速览

一句话总结:System Context 把「给模型的初始指令」从字符串升级成可演化的结构化事实集合——纪元保证前缀稳定(缓存不失效),快照保证变化可检测,对话中途系统消息保证演化时既通知模型又不破坏厂商签名。

子章节导航

01 上下文源代数与统一组合

讲上下文源的概念:每个源是一个有稳定 key(如 core/environmentcore/datecore/instructions)、有编解码、有不可失败 loader、有纯基准/更新/移除渲染器的类型化值。重点讲「代数」——如何用统一接口组合不同类型的源,以及内置源有哪些。

02 基准、快照与纪元三件套

本章硬核之一。讲三件套的分工:基准是精确文本(作为模型缓存前缀,所以必须稳定),快照是模型不可见的 JSON(用来 diff 出「什么变了」),纪元是不可变有效期(压缩或移动时结束)。重点讲为什么这样设计能让模型缓存不失效。

03 对话中途系统消息与安全回合边界

本章硬核之二,也是最妙的设计。讲当某个源在对话进行中变化时,如何不重写历史、而是在「安全回合边界」(提升输入与工具结算之后、模型调用之前)合并发出一条按时间顺序的系统消息。重点说明:为什么必须等安全边界(否则破坏回合不变量)、为什么按时间顺序(保证语义正确)。

04 协调状态机

讲 reconcile 状态机:它返回 unchanged(无变化)/ updated(有更新)/ replacement-ready(基准可替换)/ blocked(阻塞,等工具结算)。重点解释为什么需要「阻塞」态——有些更新不能在工具执行中途插进来,必须等。

子章节之间的逻辑关系

本章遵循「认识源 → 理解纪元 → 掌握演化 → 懂得协调」的研究级深入路径:

上下文源 (01) ──事实集合的最小单元 │ ▼ 纪元三件套 (02) ──如何让前缀稳定、变化可测 │ ▼ 中途系统消息 (03) ──变化时如何安全通知模型 │ ▼ 协调状态机 (04) ──变化何时能插、何时得等 │ ▼ 第 9 章:纪元结束时,压缩如何介入

四节构成一个完整的「事实集合如何安全演化」的论述:源是基本单元,纪元保证稳定,中途消息处理演化,协调状态机守住边界。这是全书概念最密集的一章,建议子节正文舍得用图。

前置知识与后续延伸

前置知识:

  • 第 7 章会话核心(理解「回合」「安全回合边界」「Location 作用域」是本章的前提)
  • 第 6 章提示缓存(理解「基准作为缓存前缀」为何要求稳定)
  • 对「不可变数据结构」「纯函数」的基本概念

本章为后续章节奠定的基础:

  • 纪元结束触发第 9 章的上下文压缩
  • 对话中途系统消息解释了为什么压缩不能跨越纪元边界
  • 上下文源代数为第 11 章技能(作为上下文源)的接入机制铺垫

发布者: 作者: 灏天文库 转发
评论区 (0)
U