跳到正文

第 5 章 · 信息:上下文、状态与可复用能力资产 ​

核心观点 + 逻辑框架(构建篇 · 上下文与状态能力域)

原书章节 ↗

▍速览 ​

一句话版(开场,约 20 秒)

模型窗口有限,任务世界持续增长,两者之间必须有一层独立的信息组织机制。Context 不是把更多文本喂给模型,而是按身份与可信度编译本轮视图、用 Manifest 保持可解释;历史靠压缩与卸载控制增长,关键事实先进权威状态再出窗口;Call/Session/Task 分而治之、Workspace 承载窗口外的工作记忆;Memory 存经验、Knowledge 供事实、Skill 按需渐进披露——一切资产都带作用域、版本与删除语义,纳入反退化闭环。

一段话版(展开,约 60–90 秒)

长程任务每一轮推进,都要回答一个问题:模型此刻应该看见什么?窗口是有限的,任务世界却在持续增长。全塞进去,关键约束被淹没;只留最近几轮,目标变更和已确认的事实又丢了。所以需要一套独立的上下文与状态系统——不是把更多文本喂给模型,而是做四件事:编译本轮 Context、压缩卸载历史、把任务事实放到窗口之外、把记忆和知识按权限供给。Context 是编译出来的,不是拼接的:System Context 分层,平台策略在最上面、不能被项目文档覆盖,下面是 Agent 契约、租户规则、运行时提醒、选中的 Skill 和工具描述;Task Context 提供目标、计划、近期交互、压缩历史和检索到的知识。每次模型调用前,Context Builder 跑一条确定性管线,先做权限过滤再排序、分配 Token 预算、压缩引用化,最后生成一份 Manifest,记录本轮看到了什么——这样能回放、能审计。历史不能一直放在窗口里,也不能简单截断:关键事实先 Commit 进权威状态,再 Compact 成带来源的摘要,Rebuild 重建视图、检查约束还在不在,Validate 做完整性验证;数万行的大结果卸载到 Workspace,只留摘要和引用,需要时按需取回。边界要分清:Call 是一次请求,Session 是交互边界,Task 是可验收目标、能跨请求跨进程跨节点存在;Event Log 记过程、Snapshot 看当前、Checkpoint 才是安全恢复点。Workspace 是窗口外可寻址的工作记忆;Memory 分四类——Working 管当前任务、Episodic 存过往经验、Semantic 存稳定事实、Procedural 把成熟方法沉淀成 Skill;Knowledge 提供事实、Memory 提供经验,权威责任不同。最后,所有资产都要有作用域、版本和删除语义:先定身份再检索,不能先跨租户召回再提醒模型别泄漏;资产变更走反退化闭环,跟代码同一条发布链。

  • 一个命题:窗口有限 vs 任务世界增长——需要独立信息组织机制
  • 编译式 Context:分层合并 + 冲突处理 + Token 预算(分层解决责任问题)
  • 可解释性:Context Manifest(来源/权限/版本/变换/哈希)
  • 压缩生命周期:Commit→Compact→Rebuild→Validate(关键事实先入状态再出窗口)
  • 边界三件套:Call / Session / Task;Event Log / Snapshot / Checkpoint
  • 窗口外工作记忆:Workspace 六分区;四类 Memory(Working/Episodic/Semantic/Procedural)
  • 能力资产:Knowledge 供事实 · Memory 供经验 · Skill 渐进披露三层
  • 治理与反退化:作用域隔离 + 真删除 + 资产变更入发布链

一句话(收尾)

模型看到什么,是工程问题,不是提示词问题——Context 是可编译、可审计、可回放的行为,窗口之外的任务世界才是一致性与可恢复性的真正载体。

▍逻辑框架(记忆卡片) ​

① 命题:窗口有限 vs 任务世界增长 ​

  • 左:全部塞入窗口 成本与延迟上升;关键约束被重复信息淹没
  • 右:只留最近几轮 丢失目标变更 · 已确认事实 · 外部副作用 · 验收缺口 · 恢复位置

编译 Context · 压缩卸载历史 · 任务事实存窗口外 · 资产按需按权限供给

解法不是喂更多文本,而是一套独立信息组织机制;每推进一轮,Harness 都要回答"模型此刻应当看见什么"。

② Context 是编译出来的,不是拼接的 ​

  • System Context 六层(约束强度自上而下):Platform Policy (不可覆盖) → Agent Contract → Tenant/Project Rule → Runtime Reminder (阶段/预算/等待) → Selected Skill → Tool Descriptors
  • Task Context:User Goal · Plan/Todo · Recent Interaction · Compacted History · Retrieved Memory · Retrieved Knowledge · Workspace References

平台策略不能被项目文档覆盖 · 用户最新要求可改方向但不突破安全边界 · Memory 历史偏好不替代当前业务事实 · 工具返回内容不自动升级为系统指令

分层解决责任问题:冲突时按层级与权威来源取舍。

③ Context Builder 管线 + Manifest + Token 预算 ​

  • 1 读 Task State → 解析身份与作用域 → 收集候选 (配置/状态/Session/Workspace/Memory/Knowledge/Skill/Tool)
  • 2 权限与可信度过滤 (先过滤再排序,不能先跨租户召回) → 相关性排序去重 → 分配 Token 预算 → 压缩截断引用化 → 按层级编译 → 生成 Manifest

优先级:约束强度 · 任务相关性 · 时间有效性 · 来源可信度 · 执行依赖 · 信息增量 · Token 成本

预算分区:规则与目标固定下限 · 动态额度 · 预留输出与 Observation 空间 · 随阶段浮动

Manifest 记录 source / scope / version / trust / permission_basis / selected_reason / token_count / transform / content_hash,支撑开发解释遗漏、评估比较差异、审计确认敏感内容。

④ Context 生命周期与压缩 ​

  • A Commit:结构化事实提交到 Task State / Workspace
  • B Compact:叙述性历史转摘要,带来源与覆盖范围
  • C Rebuild:摘要 + 状态 + 最近消息重构,检查约束仍在
  • D Validate:目标 / 未决项 / 权限 / 证据完整性 + 续行用例;不满足 → 回到 Commit

"最近"不只按时间:目标最新修改 · 未解决工具错误 · 待审批动作 · 验收失败证据(更早也算活动状态) · 已完成探索可由 Artifact 证明后退出窗口

数万行大结果卸载到 Workspace / Artifact Store,活动 Context 只留摘要 + 稳定引用(受权限保护、带版本/时间戳),需要时按需取回。

  • Reset 前提:Continuation 已形成一致继续点;新窗口从 Continuation Package + 权威状态重建,不重放对话

质量衡量:事实保留率 · 继续成功率 · 矛盾率 · 引用可用率 · 成本收益

⑤ Session、Task State 与 Workspace ​

  • 左:边界三件套Call:一次请求(秒–分钟) Session:交互边界(分钟–数天,一个 Session 可发起多个 Task) Task:可验收目标,跨 Call / Session / 进程 / 节点
  • 右:状态三表示(不可互替)Event Log:记过程(审计 / 重建) Snapshot:看当前(快速读取) Checkpoint:安全恢复点(含 Continuation / 幂等 / 环境依赖)

把 Task ID 绑成消息线程 ID,会限制后台执行、多人协作与跨渠道续接。

逻辑状态接口(六组):append_event · load_task_state · commit_task_patch · save_snapshot · load_snapshotput_artifact · get_artifact · create_checkpoint · resume_checkpoint · search_workspace · read_range本地映射文件 / 分布式映射外置服务

  • Workspace:可寻址、可检查、可修改的外部工作记忆 —— inputs · scratch · state · artifacts · evidence · manifest,各分区生命周期与保留策略不同
  • Artifact 生命周期:Draft → Validating → Ready → Published/Rejected → Archived/Deleted;模型写出文件 ≠ 产物完成

⑥ Memory、Knowledge 与 Skill ​

Working:当前任务,直接来自 Task State / Workspace · Episodic:过往任务经验,按相似性 + 结果质量检索 · Semantic:稳定事实 / 偏好 / 实体 Procedural:已验证方法,稳定后升级为 Skill

  • 写入前六问:未来价值?环境验证还是推测?归属与保留周期?敏感数据?新增 / 合并 / 更新?出错谁纠正、派生索引如何清理?

冲突不静默覆盖:保留多版本按权威选择,高影响场景请求确认;遗忘不是只删向量,要连原文 / 摘要 / 索引 / 缓存 / 派生关系一起处理。

  • 左:Knowledge 提供事实 组织维护、带来源与时效;制度 / 文档 / 数据字典等业务事实

  • 右:Memory 提供经验 Agent 选择性积累,带可信度与适用条件;两者都可检索进入 Context,权威责任不同

  • Skill = 在某类任务中如何正确使用若干动作(≠ Prompt、≠ Tool 别名、不直接拥有权限);渐进式披露三层:发现 (名称描述) → 选择 (加载 Manifest) → 执行 (读详细指令脚本)

选择不只靠语义匹配:模型兼容 · 工具依赖 · 环境 · 租户许可 · 数据范围 · 版本 · 确定性步骤沉淀为脚本(过 Action Plane),模型负责语义判断

Skill Registry 生命周期:Draft → Test → Review → Publish → Observe → Update;Trace 必须定位到具体 Skill 版本,Agent 版本锁定 Skill 集。

⑦ 横切:多租户资产治理与反退化 ​

作用域:Global · Tenant · Project · User · Session · Task

先确定身份作用域再检索:内容进入模型输入时隔离已失败,不能先跨作用域召回再"提醒模型别泄漏"。

记忆污染:错误推测被当经验 · 指令污染:外部文本被提升为行为规则 · 跨租户污染:索引 / 缓存 / 摘要把一租户信息带进另一租户

  • 真正的删除:从稳定资产 ID 追踪派生链 → 禁读取 → 删原文 → 清索引 / 缓存 / 摘要 → 更新 Manifest 与 Skill → 留最小审计 → 触发验证;"权重衰减"与"彻底删除"在策略中区分。

  • 反退化闭环:资产变更 → 结构权限校验 → 受影响分析 → 离线回放 → 灰度新 Agent 版本 → Trace / Outcome 监测 → 保留 / 修订 / 回滚;监测含成本 / 延迟 / 引用准确性 / 泄漏 / 误选 / 膨胀。

  • 左:Framework 企业自建 Context 与状态,调优空间最大

  • 右:SDK / Managed SDK 复用成熟 Harness、企业补多租户与共享存储;Managed 平台托管 Session,长期资产与业务验收仍归企业

▍逻辑全景图 · 图 1 · Context 生命周期主链路:Builder 管线 → Manifest → Token 预算 → Commit→Compact→Rebuild→Validate ​

每次模型调用前编译本轮视图,历史事实先入权威状态再出窗口,压缩四步持续保持可继续执行的上下文。

  • Agent / 平台核心
  • 编译 / 编排
  • 约束 / 预算 / 风险边界
  • 可解释 / 观测
  • 中性状态

读法:① 左侧 3×3 是 Builder 确定性管线,橙色两框是权限过滤与 Token 预算两道约束;右上 Manifest 记录本轮"看到什么",可解释、可回放、可审计;② 下方四步是压缩生命周期,Validate 不满足虚线回到 Commit;③ 绿色卸载条把大结果移出活动窗口。面试一句话:Context 是编译出来的不是拼接的——管线过滤排序、预算分区、Manifest 留痕,历史走 Commit→Compact→Rebuild→Validate,关键事实先进权威状态再出窗口。

▍逻辑全景图 · 图 2 · 信息资产分层:Context / Session·Task State / Workspace + Memory 四类 + Knowledge / Skill ​

窗口内是本轮编译视图,窗口外是持久状态与工作记忆,可复用资产按作用域、版本与权限被检索供给。

  • System / 平台核心
  • Task / 任务层
  • 能力资产 / Skill
  • Knowledge / 知识
  • 中性状态与存储

读法:顶部 System 六层与 Task 七层在中心合并编译为本轮输入;虚线是窗口边界,其下是 Session/Task State/Workspace 等持久载体与 Artifact 生命周期;底部四类 Memory、Knowledge、Skill 是按需检索供给的可复用资产。面试一句话:Context 是本轮编译视图,State 是任务已发生且需持久的事实,Memory 存跨会话经验,Knowledge 供事实,Skill 沉淀方法——五类资产边界分清,治理靠作用域、版本与删除语义。

▍书中关键图(SVG 重绘版 · 示意) ​

图 1|Context Builder 处理管线(重绘自 5.1 流程图) ​

图 2|System Context 与 Task Context 的分层(重绘自 5.1 分层结构) ​

层内容生成 / 合并规则
System Context(系统层)Platform Policy · Agent Contract · Tenant / Project Rule · Runtime Reminder · Selected Skill · Tool Descriptors由硬约束到软能力,动态生成
Task Context(任务层)User Goal / Steering · Plan / Todo · Recent Interaction · Compacted History · Retrieved Memory · Retrieved Knowledge · Workspace References按优先级合并 · 冲突处理 · 预算压缩
本轮模型输入System Context + Task Context 分层合并责任分层:平台策略不可被项目文档覆盖 · 用户最新要求不突破安全边界;Memory 历史偏好不替代当前业务事实 · 工具返回内容不自动升级为系统指令

图 3|Context 生命周期:Commit→Compact→Rebuild→Validate(重绘自 5.2) ​

图 4|四类 Memory 与 Knowledge 的分工(重绘自 5.4) ​

原书 Mermaid 图(可编辑) ​

以下图来自原书 Markdown,保留原始结构,便于修改和对照。

原书图 1|将 Skill 纳入发布与回归 ​

把 AI 工程讲到既懂也会用