一句话答案:Claude Code、Codex 这些 CLI 的会话是各存各的,换工具时聊天记录不会自动跟过去。可靠的做法是把上下文放进仓库:一份交接文档(HANDOFF.md)、一份两边都读的规则文件(AGENTS.md / CLAUDE.md),再加一个 git 检查点。
各家 CLI 都把会话存在自己的目录里,互相不读。新开的 Agent 只看得到磁盘上的代码,看不到「前面试过什么、哪条路走不通、你最后说了什么」。代码其实没丢,丢的是决策和进度。
思路:把「代码」和「对话」分开处理。代码靠 git 保住;对话里真正有用的部分(目标、做到哪、踩过的坑),写成仓库里的文件。
最稳的是让正在干活的那个 Agent 自己写交接文档,下一个 Agent 先读它,再看代码。
做法(不依赖任何工具):
HANDOFF.md,包括:目标、改了哪些文件、做到哪、没做完的、验收标准、试过但失败的方案、下一步。最后加一句「写完就停,不要继续写代码」,免得交接文档和代码对不上。AGENTS.md。Codex 原生读这个文件;Claude Code 侧可以在 CLAUDE.md 里引用它,让两边看到同一份规则。/export 把当前对话导出成文本,作为附件给下一个 Agent 参考。一个可以直接复制的 HANDOFF.md 骨架:
# HANDOFF
- 目标:
- 当前分支 / HEAD:
- 已完成(文件 + 一句话):
- 未完成:
- 验收标准 / 测试命令:
- 试过但失败的方案(别再试):
- 下一步:先留一个 git 检查点,让下一个 Agent 读的是确定的状态,而不是你脑子里的记忆。
做法:
git add -A && git commit -m "wip: 交接检查点";不想留提交就用 git stash。git worktree 或分支:git worktree add ../task-b -b task-b。不管谁接手,最后都看 Diff 再决定,不要只看 Agent 自己写的总结。
做法:git diff main...你的分支 看这条线上的全部改动;先跑测试,再逐个文件看有没有没要求的改动;交接文档里写明「不要重做的部分」,防止新 Agent 推倒重来。
.git/info/exclude,免得混进 PR。如果不想每次手写交接文档,也有桌面工具把多个编码 Agent 放进同一个任务界面,比如 Caravel(免费使用,支持 macOS / Windows):在同一个任务里把下一轮换成另一个 Agent,之前的对话会一起带过去。用法见手册:https://caravel-site.pages.dev/zh-CN/docs/chat/
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。