图 09 · 上下文交接

哪些信息需要跨会话、跨人员或跨 Agent 传递?

三层上下文数据包:每一层按需持久化,从不依赖接收者的记忆力。层 1 是项目级共享语言,层 2 是当前工作状态,层 3 是单次交接摘要。

1 共享词汇与决策记录 持久化到仓库 · 项目级

这一层是不随个别会话变化的「项目语言」。任何人(人类或 Agent)都可以从这一层建立对项目的基本理解。

CONTEXT.md
领域词汇表、核心概念定义、团队约定
来自:/grill-with-docs
ADR(架构决策记录)
每个重要决策的理由和被否决的替代方案
来自:/grill-with-docs · {codebase-design}
AGENTS.md / CLAUDE.md
Agent 行为约定、格式要求、禁止操作
来自:{writing-for-agents}
代码库结构说明
模块边界、关键接口、测试约定
来自:{codebase-design}
跨会话边界 跨 Agent 边界 跨人员边界 层 1 总是可见的
2 当前工作状态 工单级 · 按需持久化

这一层描述「正在做的这件事」。当一个工单需要多个会话时,必须在每次会话开始前重建此层。

spec
当前工单的行为规范(前置条件、后置条件、错误边界)
来自:/to-spec
工单内容
工单描述、验收标准、依赖边、当前状态
来自:/to-tickets
原型结果(如有)
benchmark 数据、观察到的 DX 问题、决策证据
来自:{prototype} · {research}
测试进度
哪些测试通过,哪些还在失败,当前的最小失败案例
来自:{tdd} · {diagnosing-bugs}
单次交接边界 层 1+2 构成接收者的完整上下文
3 交接摘要 单次会话结束时 · 消耗性

这一层描述「这次会话做了什么,下一步是什么」。在新会话开始时读取,不需要永久保存。

已完成的事项
这次会话中完成的决策、代码、测试
来自:/handoff
下一步行动
明确的下一个操作(不是「继续做」)
来自:/handoff
未解决的问题
这次会话遇到但未解决的决策分支、问题
来自:/handoff · /wait-what
注意事项
不明显的依赖、可能的陷阱、需要关注的测试
来自:/handoff

跨会话(同一个人)

中断工作后恢复。需要:层 1(项目上下文)+ 层 2(工单状态)+ 层 3(/handoff 摘要)。

技能:/handoff

跨人员(代码评审后)

reviewer 需要:层 1(理解项目约定)+ 层 2(spec 和工单背景)。不需要层 3。

技能:{code-review}

跨 Agent(新会话启动)

Agent 从空白上下文开始。读取层 1(CONTEXT.md)+ 层 2(spec + 工单)+ 层 3(/handoff 摘要)后开始工作。

技能:{writing-for-agents}

什么信息不需要传递?

  • 思考过程(不是决策的推理路径)
  • 已被否决的替代方案的实现细节
  • 调试过程中尝试过的失败路径
  • 对接收者显而易见的信息

/wait-what 的作用

当接收者(人或 Agent)读取了层 1-3 后仍然「不知道自己在哪」,使用 /wait-what 重建方向感。它不是失败信号,而是上下文重建的入口。

线性阅读顺序:层 1(持久化到仓库:CONTEXT.md、ADR、AGENTS.md)→ 层 2(工单级:spec、工单、原型结果、测试进度)→ 层 3(会话级:/handoff 产出的摘要)→ 交接时:根据场景选择传递哪些层 → 接收者重建上下文,继续工作。