在不同 AI 编程 Agent(如 Claude Code 和 Codex)之间切换时,直接传递聊天记录会导致上下文污染和 token 浪费;正确做法是使用结构化的「交接卡」并执行验证步骤,而非传输无界对话记录。
在处理复杂工程问题时,开发者经常需要在不同的编码 Agent 之间切换:比如在 Claude Code 中做架构规划,然后换到 Codex 或其他模型去做算法重构或测试生成。然而,把原始对话记录直接丢给新 Agent,会让它的上下文充斥着过时假设,浪费 Token 和开发时间。
模型切换只有在基于形式化的、可移植的交接卡(handoff card)加上聚焦的验证步骤时才能真正生效,而不是试图传递无界限的聊天记录。
不要把三个根本不同的操作混为一谈:
根据当前任务需求选择最佳方案:
方案一(Claude Code):当你需要交互式代码库探索、复杂多文件架构重构,以及灵活的 Shell 工具时,推荐使用。
方案二(Codex CLI / 自定义 Provider):当你需要确定性测试生成、直接在 OpenAI 兼容的 Responses API 上执行,或需要对已提交 diff 获取独立第三方意见时,最佳选择。
为了可靠地传递任务状态而不产生 Prompt 膨胀,需要编写一份结构化的交接卡,仅包含已验证的事实:
### Task Handoff: Database Connection Pool Limits
- **Goal**: Enforce max_connections=20 and add a 5s connection acquisition timeout.
- **Current State**: Branch `perf/db-pool-limits` created; modified `config/database.go`.
- **Verified Progress**: Test `go test ./config -run TestPoolLimits` passes.
- **Unresolved Blocker**: Under `wrk` load, pool exhaustion crashes without returning HTTP 503.
- **Target Check for Next Agent**: Implement 503 error handling on pool timeout and verify with a test.
[!IMPORTANT] 零密钥策略:切勿在交接卡中包含 API 密钥、认证 Token 或 .env 内容。每个 CLI 工具从本地环境变量读取凭证。具体配置方法请参阅 BetterToken Docs 中关于 Claude Code 和 Codex 的设置指南。
将工作交接给另一个 Agent 时,遵循以下 5 步流程:
Step 1:Git 检查点。审查并暂存未提交变更:git status --short,然后保存结构化交接卡。
Step 2:启动全新会话。在隔离的 Git worktree 或干净的终端窗口中启动辅助 Agent。
Step 3:仅提供交接卡。向新 Agent 提供任务目标和验证步骤,不附带历史聊天记录。
Step 4:执行聚焦验证检查。要求 Agent 运行目标测试并检查变更文件:git diff --check。
Step 5:根据可观察输出决策。如果辅助模型干净利落地解决了阻塞问题,继续在该分支工作;否则,带着零回归开销返回主会话。
这种方法可以防止 Prompt 膨胀,并将模型切换转化为客观、可衡量的工程实验。
原文首发于 BetterToken Blog。
BetterToken 提供通过 OpenAI 兼容和 Anthropic 兼容端点访问 AI 模型 API 的按量计费服务——如果你正在将 Claude Code、Codex 或你自己的工具连接到自定义基础 URL,它会非常有用。参阅文档快速上手。