可靠的 AI Coding Agent 交接应包含当前目标、已验证状态、精确改动、决策边界、失败路径、必需检查和下一步安全动作。无论下一个执行者是 Codex、Claude Code、Cursor、Copilot 还是人,都不应依赖某个工具的私有聊天历史。

交接不是会议纪要,而是下一次启动的操作界面。

核心清单

用户结果

  • 工作全部完成后,用户能做什么?
  • 哪一部分现在已经完成?
  • 哪一部分仍然开放?

当前状态

  • 当前分支与提交。
  • 相关未提交文件。
  • 运行或部署身份。
  • 精确的文章、任务、迁移或发布 ID。
  • 最新权威状态。

证据

  • 实际运行过的命令。
  • 已通过的测试、构建或浏览器检查。
  • 最终产物或公开读回。
  • 仍未验证的条件。

决策

  • 为什么选择当前路径。
  • 哪些替代路径被放弃。
  • 哪些产品与数据边界必须保持。
  • 哪些决定仍需用户做出。

失败

  • 精确失败步骤。
  • 错误或可观察不一致。
  • 已被证明无效的尝试。
  • 外部写入结果是已知还是未知。

下一步

  • 要修复的第一处断链。
  • 获得授权的仓库或服务。
  • 完成证据。
  • 停止条件。

使用稳定身份

避免使用:

  • 最新部署;
  • 新草稿;
  • 那篇测试文章;
  • 当前任务。

用提交哈希、部署 ID、文章 ID、版本 ID、URL 或 Issue 编号代替。只要下一个会话必须猜测“究竟是哪一个对象”,交接就已经不安全。

把观察与结论分开

推荐写法:

  • 观察:生命周期事件已投递,但公开页面仍显示旧标题。
  • 推断:消费者投影可能没有激活。

这样,下一个 Agent 可以调查推断,而不会把它误当作事实。

记录不该重复的路径

只有失败路径保持可发现时,它才能节省时间。记录命令或做法、证明它无效的证据,以及什么条件变化后它才可能重新相关。

不要只写“没成功”。应该让新 Agent 在再次浪费一小时前,就能认出同一条路径。

让交接与工具无关

仓库文件、测试、提交、URL 和公共合同都能被不同 Agent 读取;私有会话总结不一定能迁移。

一位开发者询问切换 Agent 时会丢失什么,列出的正是这些耐久内容:代码结构、项目约定、架构决策、死路和选择背后的理由。有价值的回答是把设计说明、实现清单和复核反馈保存在单次会话之外:相关讨论

可复制的交接模板

目标

[用户可见结果]

已验证当前状态

  • 仓库、分支与提交:
  • 运行或发布:
  • 已通过检查:
  • 最终消费者证据:

已完成改动

  • 文件或对象:
  • 改变的行为:
  • 保持的行为:

决策

  • 选定路径:
  • 放弃路径:
  • 不变量:

剩余缺口

  • 第一处断链:
  • 证据:
  • 风险:

下一步安全动作

  • 范围:
  • 验证:
  • 停止条件:

交接质量测试

把交接交给一个全新会话,要求它回答:

  • 用户结果是什么?
  • 现在什么是真的?
  • 什么不能改变?
  • 哪条路径已经失败?
  • 下一步是什么?
  • 什么能证明完成?

如果它必须搜索整段聊天才能回答,交接不完整;如果它能回答却无法验证描述,说明缺少证据链接。

核心原则

好的交接负责转移责任,而不是转移混乱。它保留已验证项目状态,让下一个 Agent 从行动开始,而不是从考古开始。