可靠的 AI Coding Agent 交接应包含当前目标、已验证状态、精确改动、决策边界、失败路径、必需检查和下一步安全动作。无论下一个执行者是 Codex、Claude Code、Cursor、Copilot 还是人,都不应依赖某个工具的私有聊天历史。
交接不是会议纪要,而是下一次启动的操作界面。
核心清单
用户结果
- 工作全部完成后,用户能做什么?
- 哪一部分现在已经完成?
- 哪一部分仍然开放?
当前状态
- 当前分支与提交。
- 相关未提交文件。
- 运行或部署身份。
- 精确的文章、任务、迁移或发布 ID。
- 最新权威状态。
证据
- 实际运行过的命令。
- 已通过的测试、构建或浏览器检查。
- 最终产物或公开读回。
- 仍未验证的条件。
决策
- 为什么选择当前路径。
- 哪些替代路径被放弃。
- 哪些产品与数据边界必须保持。
- 哪些决定仍需用户做出。
失败
- 精确失败步骤。
- 错误或可观察不一致。
- 已被证明无效的尝试。
- 外部写入结果是已知还是未知。
下一步
- 要修复的第一处断链。
- 获得授权的仓库或服务。
- 完成证据。
- 停止条件。
使用稳定身份
避免使用:
- 最新部署;
- 新草稿;
- 那篇测试文章;
- 当前任务。
用提交哈希、部署 ID、文章 ID、版本 ID、URL 或 Issue 编号代替。只要下一个会话必须猜测“究竟是哪一个对象”,交接就已经不安全。
把观察与结论分开
推荐写法:
- 观察:生命周期事件已投递,但公开页面仍显示旧标题。
- 推断:消费者投影可能没有激活。
这样,下一个 Agent 可以调查推断,而不会把它误当作事实。
记录不该重复的路径
只有失败路径保持可发现时,它才能节省时间。记录命令或做法、证明它无效的证据,以及什么条件变化后它才可能重新相关。
不要只写“没成功”。应该让新 Agent 在再次浪费一小时前,就能认出同一条路径。
让交接与工具无关
仓库文件、测试、提交、URL 和公共合同都能被不同 Agent 读取;私有会话总结不一定能迁移。
一位开发者询问切换 Agent 时会丢失什么,列出的正是这些耐久内容:代码结构、项目约定、架构决策、死路和选择背后的理由。有价值的回答是把设计说明、实现清单和复核反馈保存在单次会话之外:相关讨论。
可复制的交接模板
目标
[用户可见结果]
已验证当前状态
- 仓库、分支与提交:
- 运行或发布:
- 已通过检查:
- 最终消费者证据:
已完成改动
- 文件或对象:
- 改变的行为:
- 保持的行为:
决策
- 选定路径:
- 放弃路径:
- 不变量:
剩余缺口
- 第一处断链:
- 证据:
- 风险:
下一步安全动作
- 范围:
- 验证:
- 停止条件:
交接质量测试
把交接交给一个全新会话,要求它回答:
- 用户结果是什么?
- 现在什么是真的?
- 什么不能改变?
- 哪条路径已经失败?
- 下一步是什么?
- 什么能证明完成?
如果它必须搜索整段聊天才能回答,交接不完整;如果它能回答却无法验证描述,说明缺少证据链接。
核心原则
好的交接负责转移责任,而不是转移混乱。它保留已验证项目状态,让下一个 Agent 从行动开始,而不是从考古开始。