上下文管理
每次 AI 回复时,引擎会精心组装一套上下文送入模型。理解上下文的组成和生命周期,有助于你更高效地与 AI 协作。
上下文的组成
每次 Run(一轮对话交互)中,模型接收到的上下文由以下部分组成:
| 组件 | 来源 | 说明 |
|---|---|---|
| 系统提示词 | Agent 配置 | 定义 AI 角色、行为准则、工具使用规范 |
| SessionState | 上一轮 Run 的认知结算产物 | 包含对话摘要、关键事实、Plan 状态 |
| 记忆注入 | Memory Store | Eager 索引 + Lazy 召回 + Cold-start 重放 |
| 工具 Schema | Cell 工具注册表 | AI 可调用的工具列表与参数定义 |
| 对话历史 | 当前 Run 的消息列表 | 用户消息 + AI 回复 + 工具调用结果 |
上下文组装流程
- 系统提示词构建:基于 Agent 配置 + 环境记忆 + 技能指令合成完整的 System Prompt
- SessionState 注入:将前一轮 Run 产出的会话状态作为历史信息注入
- 记忆召回:通过三条路径注入相关记忆(见下文)
- 工具列表:根据 Agent 的工具白名单和技能配置生成可用工具 Schema
- 对话消息:当前轮的用户输入和此前的交互记录
三条记忆注入路径
- Eager 注入:高优先级记忆(约束、指令类)直接嵌入系统提示词,每轮必定出现
- Lazy 召回:根据当前对话内容,语义检索相关记忆作为 Overlay 动态注入
- Cold-start 重放:新会话首轮时,将跨会话的对话摘要注入用户消息,提供历史延续感
CognitiveSettlement(认知结算)
每次 Run 结束时,引擎会执行一个叫做 CognitiveSettlement 的强制阶段:
- 由主对话模型(不是辅助模型)产出 SessionState
- SessionState 包含对话摘要、活跃事实、Plan 进展等认知产物
- 这些产物对用户不可见(不会生成气泡),但会影响下一轮的上下文
- SessionState 是下一轮上下文的唯一历史来源——引擎不从旧消息推断历史
如果 Settlement 失败(例如模型调用出错),引擎会重试 3 次后降级到机械压缩(MechanicalFallback),确保信息不丢失。
上下文压缩
当对话过长、接近模型上下文窗口限制时,引擎会触发上下文压缩:
- MidRunHandoff:Run 中途触发的认知交班,产出新的 SessionState
- MechanicalFallback:交班不可用时,用确定性方式提取工具证据并注入系统消息
压缩的核心原则是信息保全优先于容量管理——丢弃消息前先提取关键证据。
对你的影响
- 长对话:即使对话很长,AI 也能通过 SessionState 记住关键上下文
- 新会话:Cold-start 机制让新会话也能延续之前的认知(如果有记忆)
- 系统提示词稳定性:一旦会话开始,系统提示词不会变化(保护 Prompt Cache),修改 Agent 配置需要开新会话才能生效
相关文档
- 记忆层模型 →
memory-layers.md - Plan 系统使用 →
plan-usage.md - 错误恢复机制 →
error-recovery.md - Run 生命周期 →
run-lifecycle.md