两个 AI 编码工具,各有所长。与其二选一,不如让它们交接。模糊任务,给 Claude Code 理清。明确任务,交给 Codex 执行。附一个 EpubTranslator 项目的完整 Handoff 演示。
Claude Code 和 Codex 各有死忠粉。但用久了发现:它们不是谁取代谁。是你该在什么时候用谁。
今年 OpenAI 做了个出人意料的事。给 Claude Code 写了个官方插件。让 Codex 直接在 Claude Code 里当「外援」。加上 Matt Pocock 的/handoffskill。整个双引擎协作的链路,已经非常成熟。
从策略到代码,完整走一遍。
一、模糊度分界线
先做一个简单的二分:
低模糊度:需求已经拆碎。你知道每一步要干什么。TDD、按 plan 分阶段实现、修已知 bug。用 Codex。它研究代码库更深。一步到位率高,不跑题。
高模糊度:还在探索设计方案。想把代码库梳理成架构文档。不知道最终长什么样。用 Claude Code。开 Plan Mode 或/grill-meskill。
业内一个流行的习惯:Claude Code 开头,Codex 收尾。工程师的职责,就是把「高模糊度」变成「低模糊度」。
二、/grill-me→ 计划 → 拆分 → Codex
一个常见的起点:
在 Claude Code 里用
/grill-me(Matt Pocock 那个 13,000+ 星的 skill),让 AI 反问你,把需求聊透结束对话时产出一份分步骤的计划
尽量把计划拆成可以并行的 worktree 粒度
每个 worktree 丢给 Codex 独立执行
这时候你需要一个交接机制。三种方式供你选。
三、三种 Handoff 方式
方式 | 适合场景 | 优点 |
|---|---|---|
/handoffskill | 单任务交接,1-3 阶段 | 最灵活,文件即交接物 |
GitHub Issues | 大项目,6-10 阶段 | 天然的任务跟踪系统 |
Codex Plugin | 同一个对话里轻量求助 | 不用切窗口 |
四、/handoffskill:一份文档完成交接
Matt Pocock 写的/handoffskill。安装很简单。通过 Skills CLI 加MattPocockSkills,选handoff。
具体用法:在当前会话里直接输入:
/handoff <下一个会话要做什么>Agent 会分析当前上下文。提取和 handoff 目标相关的信息。生成一份handoff.md,存到操作系统临时目录。
举个例子。在 grilling 规划会话里:
/handoff 把迭代器和完成信号拆成独立 API,创建 GitHub Issue或者在做完原型后回传:
/handoff 把原型的 learnings 回传给 grilling 会话——窗口通信的坑、tldraw SDK 集成要点它做了什么:
从当前会话上下文里,提取和目标相关的切片。不复制已有 artifacts。
生成 markdown 文档,包含:
- 任务描述
:下一个会话要聚焦什么
- 上下文
:当前进度的关键信息、已知决策
- Suggested Skills
:建议新会话调用的 skill(如
/codex:adversarial-review) - 文件指针
:引用相关文件路径,不重复复制内容
文件存到操作系统临时目录。用完即弃,不污染代码库。
自动清除敏感信息。API Key、密码、PII。
然后怎么用:
# 复制 handoff.md 内容 → 粘贴到新会话(可以是另一个 agent、另一个 worktree) # 新会话读取 handoff.md → 自动调用 suggested skills → 开工和 Compact 的区别:
/compact | /handoff | |
|---|---|---|
模式 | 单会话内压缩 | 叉出新会话 |
旧会话 | 被覆盖(沉积效应) | 保持纯净 |
跨 Agent | 否 | 是(纯 markdown) |
设计理念:/handoff产出的是 markdown 文档。通用格式,不绑定 Claude Code。所以你可以把 Claude Code 里的上下文,交给 Codex。这正是双引擎工作流的基础。
"handoff documents are the absolute best way to take something you're working on and move it to a worktree somewhere else."(「Handoff 文档是把你在做的事情搬到另一个 worktree 的最佳方式,没有之一。」)
五、大项目用 GitHub Issues
如果计划有 6-10 个阶段,跨天甚至跨周。Markdown 文档就不够用了。
做法:把计划拆成 GitHub Issues。每个 issue 是一个可执行单元。agent 直接gh issue view拉取任务。开始工作。遇到问题,往 issue 下面回评论。
代码本来就托管在 GitHub 上。issue 当任务队列。零额外成本。
六、Codex Plugin for Claude Code 详解
2026 年 3 月,OpenAI 开源了 codex-plugin-cc。大概 22,600 星。这个插件,让你在 Claude Code 里直接调 Codex。做代码审查、修复,甚至对抗性审计。
OpenAI DX 负责人 Romain Huet 的解释很直白:
"We saw Claude Code users already connecting Codex for code reviews and using GPT-5.4 for complex tasks. We thought — why not make this simpler?"
安装(4 步):
/plugin marketplace add openai/codex-plugin-cc /plugin install codex@openai-codex /reload-plugins /codex:setup前提:Node.js 18.18+。ChatGPT 订阅,或 OpenAI API key。Codex CLI 已装。npm install -g @openai/codex && codex login。
六个命令:
命令 | 功能 |
|---|---|
/codex:review | 标准只读代码审查(uncommitted changes 或 branch diff) |
/codex:adversarial-review | 对抗性审查:挑战设计决策、找隐藏假设、失败模式 |
/codex:rescue | 委托任务给 Codex 子 agent:调试、修 bug、继续之前的工作 |
/codex:transfer | 把当前会话导出为 Codex 持久线程, |
/codex:status/codex:result/codex:cancel | 后台任务管理 |
实际价值:开发者反馈,Claude 和 Codex 抓不同类别的 bug。训练偏差不同。Claude 偏向找架构问题。Codex 偏向正确性问题和边界情况。两个一起跑,覆盖盲区。
七、实战:EpubTranslator 项目的 Handoff → Codex 审查
假设你有个EpubTranslator项目。把英文 EPUB 电子书翻译成中文,保留原格式。项目跑了一段时间。最近加了个「图片内文字翻译 + 排版还原」的模块。涉及 OCR 提取、翻译 API 调用、图片重绘。
代码写了 300 行。你想在合并前,让 Codex 做一次深度审查。完整流程:
Step 1:在 Claude Code 里实现功能
你:帮我在 EpubTranslator 里加一个图片翻译模块。 用 OCR 提取文字 → DeepSeek API 翻译 → Pillow 重绘到原图位置。 Claude Code:(实现 image_translator.py + 对应测试) 你:看起来差不多了。跑 /handoff,把这个模块的审查需求写成交接文档。Step 2:/handoff产出交接文档
Claude Code 生成handoff-image-translator-review.md:
# Handoff: Image Translator Module Review ## Context EpubTranslator 项目新增 image_translator.py(~300 行)。 模块负责从 EPUB 中提取图片、OCR 识别文字区域、 调用 DeepSeek API 翻译、将译文重绘回原图位置。 ## What Needs Review 1. OCR 区域的坐标映射是否正确处理了 DPI 缩放 2. 翻译 API 的错误重试和超时策略 3. Pillow 重绘时字体回退(fallback)逻辑 4. 内存——大图是否做了分块处理 5. 并发安全——多线程翻译是否有锁 ## Suggested Skills /codex:adversarial-review "focus on DPI scaling bugs and memory leaks" ## Files - src/epubtranslator/image_translator.py - src/epubtranslator/ocr_engine.py - tests/test_image_translator.pyStep 3:新建 worktree,传递 handoff 文档
git worktree add ../epubtranslator-review feature/image-translator cd ../epubtranslator-review在 Claude Code 里新开一个会话(保持 context 干净),把 handoff 文档的内容粘贴进去:
以下是交接文档。请读取并理解上下文,然后对接下来的代码执行审查。 [粘贴 handoff-image-translator-review.md 的全部内容]新会话读取 handoff 后,读到文档中的Suggested Skills段落,按其中的指令发起审查:
/codex:adversarial-review "focus on DPI scaling bugs, memory leaks, and font fallback edge cases"传递路径总结:
Claude Code 会话 A(实现功能) → /handoff 生成文档(存到 temp dir) → 你复制文档内容 → 粘贴到 Claude Code 会话 B(新建 worktree) → 会话 B 读取 handoff → 识别 suggested skills → 调用 Codex → Codex 返回审查结果这就是为什么/handoff选择纯 markdown。它是人类可读的胶水层。你手动复制粘贴,但两个 agent 不需要直接通信。文档就是它们之间的协议。
Step 4:Codex 返回审查结果
以下为示意性输出,不代表 Codex 的真实输出格式。
Codex Adversarial Review Results: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ CRITICAL (2): 1. ocr_engine.py:47 — DPI 缩放仅处理了 72→300,未处理 150/600 DPI。 在 Kindle 导出文件中 150 DPI 很常见。建议加 DPI 检测逻辑。 2. image_translator.py:112 — Pillow Image.open() 后未调用 .load(), 大图可能触发惰性加载导致后续像素访问 OOM。建议显式加载。 HIGH (3): 3. image_translator.py:78 — 翻译 API 超时设为 30s,但批量翻译 20 个区域时可能累计超时。建议加单区域超时 + 整体超时双重保护。 4. ocr_engine.py:82 — 未处理 RTL 语言(阿拉伯语等)的文字方向。 5. test_image_translator.py:15 — 测试用的是 100×100 小图, 未覆盖实际电子书中常见的 2000×3000 大图场景。 MEDIUM (4): [字体回退逻辑、并发锁粒度、日志级别建议…]Step 5:回到主线,修复问题
git checkout feature/image-translator # 根据审查结果逐一修复 git add -A && git commit -m "fix: address Codex adversarial review findings"一套下来。Claude Code 做创造性实现。Codex 做防御性审查。各自发挥长项。
八、多模型 Harness:对话中途切换
OpenCode、Pi、Warp 这些工具,支持对话中途切模型。比如 Codex 实现了状态管理。切到 Claude 做 UI 布局。再切回 Opus 收尾。
代价:整个上下文会在模型间传递。token 消耗大。而且不能并行。公司补贴 token,可以随便用。否则,handoff 文档更经济。
九、成本不是问题:DeepSeek V4 Flash 已接入 Codex
两个模型来回跑。token 费用扛得住吗?
DeepSeek V4 Flash 已经能接入 Codex,当执行模型。它每百万 token 的价格,不到 GPT-5 系列的 1/20。做一次完整的/codex:adversarial-review。就算是几千行的 PR,成本也在几毛钱以内。
实际搭配建议:
角色 | 模型 | 原因 |
|---|---|---|
规划 / 探索 | Claude Code (Opus/Sonnet) | 深度推理,设计感好 |
执行 / 实现 | Codex + DeepSeek V4 Flash | 便宜,一步到位率高 |
审查 / 挑刺 | Codex (GPT-5.4 mini) | 与 Claude 训练偏差不同,互补 |
DeepSeek 接入意味着:双引擎协作不再是「烧钱玩法」。你可以放心让 Claude Code 做规划。让 DeepSeek 驱动的 Codex 做执行和审查。每月总成本,控制在几杯咖啡的价格。
十、小结
- 模糊度决定工具
:不明确的给 Claude Code,明确的给 Codex
- Handoff 文档是最好的交接物
:装
/handoffskill,产出文档,丢进 worktree - Codex Plugin 做轻量审查
:
/codex:adversarial-review抓到 Claude 漏掉的 bug - 成本已不是障碍
:DeepSeek V4 Flash 接入 Codex,双引擎从奢侈品变日用品
Claude Code 和 Codex 不是二选一。一个把模糊变清晰。一个把清晰的活干完。再一个帮你挑刺。
附录:安装命令速查
# Matt Pocock Skills(含 /handoff 和 /grill-me) npx skills@latest add mattpocock/skills # Codex Plugin for Claude Code claude plugin marketplace add openai/codex-plugin-cc claude plugin install codex@openai-codex # Codex CLI(如未安装) npm install -g @openai/codex codex loginCodex Plugin 信息来自 openai/codex-plugin-cc。
素材来源:
视频:/handoff is the best skill of all time