多 CLI 联动:Claude / Codex / Gemini 协同工作指南

一句话:本地三家主流 AI CLI(Claude / Codex / Gemini)可以联动,且有多种玩法——从最简单的 Shell 管道,到工程化的 MCP 互调。本文给出全景对比、4 种玩法、1 个真实案例评析,以及选型决策树。


目录


0. 为什么要关心多 CLI 联动

0.1 单一 CLI 的天花板

每家 CLI 都有自己的强项和盲区:

模型强项盲区
Claude长任务规划、代码审查、Agent 编排多模态稍弱、搜索弱
Codex代码生成、refactor、bug 修复通用对话、长上下文偏弱
Gemini多模态(图/视频)、超长上下文 1M+、Google 搜索代码生成相对弱

💡 核心洞察单一模型 = 单一视角 = 单一盲区。多 CLI 联动让你能”取长补短”。

0.2 联动带来的三种价值

价值说明
互补能力让每家干自己最擅长的(角色分工)
交叉验证N-version programming 思想:三家都说对,可信度指数级上升
降本增效简单任务用便宜模型、关键决策用贵模型

1. 三家 CLI 能力对比

1.1 联动相关基础能力

能力ClaudeCodex CLIGemini CLI
非交互模式(一次性调用)claude -p "xxx"codex exec "xxx"gemini -p "xxx"
stdin
输出 JSON--output-format json--json
工具调用(MCP✅ 原生✅ 支持✅ 支持
自定义 System Prompt

🎯 关键事实:三家都有”非交互模式 + MCP 协议”,这是联动的两大基石。

1.2 强项分工(业界共识)

   ┌──────────────────────────────────┐
   │  📋 长任务规划 / Agent 编排       │ → Claude
   ├──────────────────────────────────┤
   │  💻 代码生成 / refactor          │ → Codex
   ├──────────────────────────────────┤
   │  🖼️ 多模态 / 超长上下文 / 搜索    │ → Gemini
   └──────────────────────────────────┘

2. 联动的三个层级

层级你说的”联动”是什么难度工程量
L1:人工接力在 A 里问,复制答案到 B 继续0不算联动
L2:脚本编排用 Shell / Python 让 A 的输出自动喂给 B⭐⭐几十行脚本
L3:Agent 互调A 运行中把 B 当工具调用、实时协作⭐⭐⭐⭐写 MCP Server

三家 CLI 都支持 L2(基于 stdin/stdout 管道)。L3 也可以,但需要工程接线。


3. 四种实用玩法

3.1 玩法 A:Shell 管道接力(L2,最简单)

思路:把 A 的输出当 B 的输入,像 Unix 管道一样串起来。

典型场景:用 Gemini 做”网页抓取+总结”(搜索强),喂给 Claude 做”代码实现”。

#!/bin/bash
# research-and-code.sh
TOPIC="$1"
 
# Step 1: Gemini 研究主题
RESEARCH=$(gemini -p "研究这个主题并给出要点:$TOPIC")
 
# Step 2: Claude 基于研究写代码
echo "$RESEARCH" | claude -p "根据以上调研,写一个 Python 实现"
✅ 优点❌ 缺点
简单、可调试单向流水线
每个 CLI 干自己最擅长的不能来回交流
出错容易定位只能一次性任务

3.2 玩法 B:MCP 互相当”工具”(L3,进阶)

思路:把 Codex / Gemini 注册成 Claude 的 MCP 工具,让 Claude 自己判断什么时候调用。

配置示例(最简版,用 codex 自带的 mcp-server 模式):

# 把 codex 注册为 Claude 的 MCP server
claude mcp add codex -s project -- codex mcp-server

自定义 MCP Server 示意(让 Gemini 也能被 Claude 调用,伪代码):

# gemini-mcp-server(伪代码,实际需用官方 SDK)
注册工具:
  name: ask_gemini
  description: "Ask Gemini (better at search & long context)"
  input: { question: string }
 
工具实现:
  接收问题 → 用安全的子进程调用方式启动 gemini CLI
            (生产环境务必用 execFile 而不是 exec,
             避免 shell 注入;输入严格白名单校验)
  捕获 stdout → 作为工具返回

⚠️ 安全提醒:写 MCP Server 调外部 CLI 时,绝不要用 shell 字符串拼接调用命令,必须用 execFile / 参数数组形式。否则会有命令注入漏洞——这是 AI 工具滥用最常见的攻击面。

效果:Claude 在做任务时,遇到”需要实时搜索”自动调 Gemini,遇到”代码 review”自动调 Codex。

✅ 优点❌ 缺点
真正的 Agent 协作工程量大
动态决策不固定要写 MCP Server
最接近”双脑协同”调试复杂

3.3 玩法 C:三方投票 / 对比(L2,强力)

思路:同一个问题问三家,交叉验证结果。

#!/bin/bash
# three-way-compare.sh
QUESTION="$1"
 
{
  echo "=== Claude ==="
  claude -p "$QUESTION" &
  
  echo "=== Codex ==="
  codex exec "$QUESTION" &
  
  echo "=== Gemini ==="
  gemini -p "$QUESTION" &
  
  wait
} > answers.md
 
# 让 Claude 当裁判汇总
claude -p "请对比并总结以下三份答案的差异:$(cat answers.md)"

注:这里用 & 让三家并行调用(async思想),不要串行——速度差 3 倍。

适用场景

  • 重要决策前”三方会审”
  • 不确定哪个模型更准时做 cross-check
  • 评测不同模型在你的场景里的表现

💎 真实收益不同模型的错误模式不一样——三个都答对,可信度指数级上升。这是 Eval 测评体系 中”模型对比”的低成本实现。


3.4 玩法 D:角色分工流水线(L2,最常用)

思路:按每家强项做固定分工。

#!/bin/bash
# role-division.sh
TASK="$1"
 
# Gemini:长上下文 + 搜索 → 做 Research
RESEARCH=$(gemini -p "研究:$TASK")
 
# Codex:OpenAI 系,代码生成强 → 写代码
CODE=$(echo "$RESEARCH" | codex exec "基于调研,写代码实现")
 
# Claude:推理 + 审查强 → Review
echo "$CODE" | claude -p "Review 这段代码,指出潜在问题和优化建议"
✅ 优点❌ 缺点
实用、工程量适中流程固定,不灵活
各取所长简单任务也走全流程 → 慢

4. 经典案例评析:Claude + Codex 双模型协作

4.1 原方案完整解读

社区流行一种用法——在项目 CLAUDE.md 中加入指令,让 Claude 强制每次任务都和 Codex 协作

核心机制图

┌─────────────────────────────────────────────┐
│  Claude (主控 / 有 CLAUDE.md 指令)            │
│                                             │
│  收到用户需求                                  │
│       ↓                                     │
│  ① 初步分析 → 调 codex 完善需求               │
│       ↓                                     │
│  ② 编码前 → 调 codex 索要"参考原型"            │
│       ↓                                     │
│  ③ Claude 自己重写代码(不抄 codex)           │
│       ↓                                     │
│  ④ 编完 → 调 codex review                   │
│       ↓                                     │
│  ⑤ 不一致 → 来回争辩,直到达成共识              │
└─────────────────────────────────────────────┘
                ↑↓ MCP
┌─────────────────────────────────────────────┐
│  Codex CLI (作为 MCP Server)                 │
│  只输出 unified diff patch(不直接改文件)     │
└─────────────────────────────────────────────┘

MCP 注册命令

claude mcp add codex -s user -- codex -m gpt-5.1-codex \
  -c model_reasoning_effort="xhigh" mcp-server

📖 完整指令文本来自 2026-05-04 与用户交流,可在 2026-05-04_Agent知识体系闭环.md 找到原文。

4.2 亮点 ✅

① 强制”双模型对账”

N-version programming 思想用在 AI 上很有创意。两家都觉得对的概率 ≈ 真的对。

② 让 Codex 只输出 patch,不改文件

这是最聪明的一招:

  • 保留 Claude 的”执行权 + 责任主体”
  • 防止两家”抢方向盘”
  • 让 codex 成为真正的顾问而不是第二个司机

这就是 unified diff patch 在 AI 协作里的教科书级用法。

③ 强制”批判性吸收”

原指令第 4 条:“尽信书则不如无书……必须不断争辩”——直击 LLM 最大的毛病:讨好用户、附和别人。

④ 职责分工明确

  • 需求分析:Claude(规划强)+ Codex 完善
  • 代码原型:Codex(OpenAI 代码训练量大)
  • 代码生产:Claude 重写(自己审过的才能写)
  • Review:Codex(独立第三方眼光)

⑤ MCP 协议本来就是设计来干这个的

不是 hack,是 MCP 的”教科书级正用”。

4.3 坑(7 条)⚠️

坑 1:模型号不存在 / 拼写不一致

原方案一会写 gpt-5.2-codex 一会写 gpt-5.1-codex自相矛盾。 且 gpt-5.x-codex 在 2026-05 时点 OpenAI 并不存在这个 SKU。

修法:先 codex --list-models 看实际可用模型。

坑 2:xhigh 不是标准选项

Codex 标准 reasoning effort 是 low / medium / highxhigh 在某些社区配置里能用,官方不一定支持

修法:用文档支持的值,参数被忽略时回落到默认。

坑 3:强制流程过死

“务必执行” 1~3 条 → 每次任务都要:

  1. 调 codex 完善需求(多 1 次 API)
  2. 调 codex 出原型(多 1 次)
  3. 编完调 codex review(多 1 次)
单次任务成本:
  原版:1 次 Claude 调用
  双模型版:1 次 Claude + 3 次 Codex (+反复争辩)
          ≈ 总成本 5~10 倍、总延迟 3~5 倍

后果

  • “改个变量名”也走全流程 → 浪费
  • 探索性任务一上来就 review → 卡死创造力

修法:加触发条件——复杂任务才走全流程

坑 4:「来回争辩直到一致」容易死循环

没有”裁判”机制、没有”放弃 / 升级到人”的退出路径。

修法:加”最多 N 轮,仍不一致则升级给用户决策”。

坑 5:项目特定指令未隔离

原方案第 8 条提到 reverse_meta/ 目录——这是他自己项目的特殊路径。你照抄会让 Claude 找不存在的目录

修法:剥离项目特定项,做成项目级 CLAUDE.md 而不是用户级。

坑 6:没有失败兜底

如果 codex 服务挂了 / API 限流 → 整个流水线停。

修法:加 try-catch 跳过失败步骤。

坑 7:MCP 作用域是 user 级别

claude mcp add codex -s user ... 所有项目都启用

但指令只在某个 CLAUDE.md 里。其它项目的 codex MCP 也会被加载,浪费上下文。

修法:用 -s project(项目级)。

4.4 综合评分

维度分数理由
思路创新性9/10”双模型对账 + 强制争辩”是真东西
技术正确性6/10MCP 用法对,模型号 / xhigh 有误
工程严谨性5/10缺退出条件、缺触发条件、缺兜底
文档清晰度6/10项目特定指令未说明
成本意识4/10强制每次走全流程,太贵
实战可用性6/10思路对,需打磨
综合7/10思路 9 分、执行 5 分

💡 结论:这是一个**“原型阶段”的好想法,不是成品**。直接照抄会踩坑。

4.5 改进版配置

## Codex 协作策略(仅在复杂任务时启用)
 
### 触发条件(满足任一)
- 用户明确说"用 codex review"
- 任务涉及 200 行以上代码改动
- 任务涉及架构决策、安全敏感代码
- 用户明确说"重要 / 关键 / 生产环境"
 
### 简单任务(默认)
- 直接由 Claude 完成,不调 codex
- 节省成本和延迟
 
### 复杂任务流程
1. 初步分析后 → 调 codex 完善需求(1 次)
2. Claude 写代码
3. 完成后 → 调 codex review(1 次,输出 patch 建议)
4. Claude 决定是否采纳
 
### 争辩规则
- 最多 2 轮争辩
- 仍不一致 → 把双方观点呈现给用户决策
- 不要陷入死循环
 
### 模型配置
- codex 模型:先用 `codex --list-models` 确认
- 推理强度:用文档支持的值(low/medium/high)
 
### 兜底
- codex 调用失败 → 跳过该步骤,继续主流程
- codex 返回明显错误 → 记录但不阻塞
 
### MCP 作用域
-`-s project`,不要 `-s user`

5. 选型决策指南

你的需求是 →
├─ 只是好奇技术可行性
│  └─ 不用任何联动,分别用即可(切换成本 < 搭建成本)
│
├─ 想做"三方对比 / 重要决策会审"
│  └─ 玩法 C(投票),50 行 bash 立刻有价值
│
├─ 想"让 Claude 当主控、按需调其它"
│  └─ 玩法 B(MCP 互调),最接近真 Agent 协作
│
├─ 想"固定流水线分工"
│  └─ 玩法 D(角色分工),实用、工程量适中
│
└─ 一次性任务(调研 + 编码)
   └─ 玩法 A(Shell 管道),写完就跑

6. 工程坑清单

真要联动时会遇到的坑(建议提前知道):

说明缓解
API Key 管理三家 key 都要配.envrc + direnv 隔离
Rate Limit并行调用容易被限流加 retry + 指数退避
输出格式不统一三家 JSON schema 不同写 parser 适配层
成本暴涨三家同时跑 = 三倍成本仅重要任务用三方
延迟累加串行调用延迟翻倍能并行就用 async
安全风险模型互调可能滥用工具限工具权限、用 execFile 而非 exec、禁危险命令
调试困难多方协作错误难定位全程记录每次调用的输入输出
版本漂移CLI 升级可能改命令格式锁定版本,重要场景用 docker

7. 与本知识库其他章节的关联

关联点文档关系
程序员术语速查程序员黑话速查本文用到的 MCP / patch / async 等术语都在那里有解释
Harness 工程Harness工程与Agent解剖多 CLI 联动是 Harness 在”多模型”维度的扩展
Agent 发展轨迹Agent发展轨迹四阶段多 Agent 协作是第四阶段 Harness Engineering 的高级形态
Eval 体系Eval测评体系玩法 C(三方投票)是 Eval 的低成本实现
Shell 基础Shell与终端基础知识总结管道、stdin/stdout 是联动基础
Skill 工程SKILL.md未来可写 Skill 自动选择 CLI
各家模型特点各家LLM模型特点速查选 CLI 之前先认识各家模型(Claude/GPT/Gemini)的核心定位
API 选型方法论LLM-API选型方法论三方协同的成本估算与提供商选择

附:来源与时间线

  • 2026-05-04:用户分享一段流行的 “Claude + Codex 协作” CLAUDE.md 配置
  • 2026-05-05:本文落地,整合三家 CLI 盘点 + 4 种玩法 + 案例评析

创建时间: 2026-05-05