限时优惠

云 Mac 双 AI Agent 架构:Claude Code + Codex CLI 隔离方案(worktree + tmux + MCP 实战)

AI 工程 云 Mac 双 AI Agent 架构 · isolation setup
2026-06-03 约 13 分钟阅读

主关键词:云 Mac 双 AI Agent 架构。 本文是一篇 dual AI agent architecture隔离 setup / 实战 guide:在同一台 Cloud Mac 上并行 Claude CodeCodex CLI,用 worktree + tmux + 单一 MCP Server 划界。

文末提供可复制的 Cloud Mac 双 Agent 验收标准(Checklist) 与三项量化指标。

本文要点

  1. Claude CodeCodex CLI 可以同机,但禁止共用一个工作目录;用 git worktree 做硬隔离。
  2. 推荐三层:目录(HOME 配置)worktree(仓库)tmux(会话);MCP Server 只挂一份、路径与 worktree 对齐。
  3. 分工上常见:Claude Code 扛长会话与多文件;Codex 扛脚本化批处理或与 OpenAI 栈对齐的任务。
  4. 16GB 适合「1 长 + 1 短」;要两路长会话并行 优先 24GB,并盯 memory_pressure
  5. 验收看三项硬指标:tools/call ≥95%、memory_pressure 黄区 ≤2h、worktree 交叉写入 0 次。
云 Mac 双 AI Agent 架构:Claude Code 与 Codex CLI 隔离 setup 开发环境
封面:云 Mac 双 AI Agent 架构的实战场景——重点在 isolation setup,而非 CLI 安装。

1. 为什么需要云 Mac 双 AI Agent 架构?

2026 年上半年,kvmboot 工单里关于「云 Mac」的提问,已经从「能不能 SSH」进化到「一台机上要跑几个 Agent」。当你要落地 云 Mac 双 AI Agent 架构(dual AI agent architecture) 时,典型背景是:

  • 团队里有人习惯 Claude Code 的 Hooks、长上下文与 Anthropic 模型;另一个人更熟 Codex CLI 或与 OpenAI 文档、评测脚本对齐的工作流。
  • 同一个 sprint 里,Claude Code 在做跨模块 refactor,Codex 在另一个分支上改配置、跑生成脚本——若都挤在本机笔记本,合盖即断;迁到云 Mac 后,本机只当遥控器。
  • 成本上,租一台 24GB 的 Mac mini M4 往往比「笔记本 7×24 插电 + 双份 API」更可控;机器费是固定的,Token 费才随用量涨。

这与站内前几篇的脉络也衔接得上:你先决定「Agent 要不要上云」(见 为什么越来越多人把 Claude Code 跑在云 Mac 上),再决定「MCP Server 放哪」(见 MCP Server 部署对照)。双 Agent 同机是第三层问题:Host 已经上了云 Mac,两个 CLI 怎么不互害。

官方入口供对照:Claude Code 文档OpenAI Codex CLI 仓库git worktree

不熟悉 tmux / worktree / MCP? 先只记一句:两个 Agent = 两个仓库副本 + 两个终端窗口 + 一个 MCP 服务。 下文再把「目录配置、绝对路径、量化验收」展开;术语第一次出现时会用白话解释。

2. 五种翻车模式(工单里最高频)

在帮用户排障时,我们把「双 Agent 配了但不工作」收敛成五类——命中任意两类,就该停下手头功能开发,先把隔离重做一遍。

  1. 共目录写 .git/index:Claude Code 在 main 上改文件,Codex 同时在同一目录跑 git checkout,出现「我刚才的改动去哪了」。这不是模型笨,是文件系统竞态
  2. MCP 路径写死本机:MCP(给 Agent 调用的工具服务)配置里仓库路径指向笔记本,SSH 到云 Mac 后读不到——双 Agent 会以不同方式失败,排障时间翻倍。
  3. tmux 会话混用:tmux(终端多窗口复用器)里两个 Agent 共用一个 window,目录与环境纠缠;你以为是 Codex 在改 A 模块,其实是 Claude Code 上一轮留下的 shell。
  4. API Key / 配额混放~/.claude 与 Codex 凭据都在默认 HOME,被某次 export 污染,导致错模型、错账单
  5. 16GB 上跑两路长会话:并行两个「两小时以上」的 Agent,memory_pressure 变黄后工具调用延迟飙升,被误判成「MCP 坏了」。

这五类的共同解不是「换更聪明的模型」,而是边界:仓库边界、会话边界、配置边界。下面第三节讲分工,第四节给可复制布局。

3. Claude Code vs Codex:怎么分工才不重复烧钱

双 Agent 不是「两个一样的东西叠在一起」。在能接受的工程实践里,我们见到较稳的分工是:

维度 Claude Code Codex CLI
擅长 长会话、多文件 refactor、Hooks、与 MCP Git 深度联动 快迭代小任务、脚本化批处理、OpenAI 生态对齐
不适合 与另一 Agent 共目录并行写 替代 codesign / Xcode 全流程(仍要 macOS 工具链)
典型槽位 tmux 窗口 cc-main,worktree feature/refactor 窗口 codex-hotfix,worktree hotfix/config
费用心智 按 Token;长会话要设预算提醒 同样按 Token;短任务注意别无限循环脚本

若两路都在做「全仓库理解 + 大范围改码」,你会付双份 Token 却得不到双份吞吐——不如只留一个长会话 Agent,另一个只做窄任务。这与 AI Coding 三件套架构 里的「编排层 vs 执行层」一致:Agent 可以多个,同时长跑的执行层不宜多个抢同一棵树

需要 ECC、Skills、Hooks 工程化包装时,另读 ECC 值不值得用——它解决的是 Claude Code 侧能力放大,不是 Codex 替代。

4. 三层隔离架构图(topology)

下面这张图是全文 云 Mac 双 AI Agent 架构 的视觉锚点:两条 Agent 链路向下汇合到单一 MCP Server,避免「文字很长但脑子里没图」。

云 Mac 双 AI Agent 三层隔离架构图 Claude Code 连接 worktree A 与 tmux 窗口 A;Codex CLI 连接 worktree B 与 tmux 窗口 B;二者共用单一 MCP Server 云 Mac 双 AI Agent 架构 · 三层隔离 本机 SSH Client(遥控器) Claude Code Codex CLI worktree A worktree B tmux · cc tmux · codex MCP Server(single source) Git tools · 云 Mac 绝对路径 配置层 → 仓库层 → 会话层 → 工具层
拓扑要点:Claude Code → worktree A → tmux A;Codex CLI → worktree B → tmux B;共用一台 MCP Server(路径与云 Mac 对齐)。

5. 隔离 setup:目录、worktree、tmux

5.1 目录层:HOME 与配置不要缠在一起

在云 Mac 上为两个 Agent 各准备逻辑用户或至少独立配置根(小团队可用同一 Unix 用户,但用不同 env 文件启动):

  • Claude CodeCLAUDE_CONFIG_DIR=/Users/agent/.claude-cc(示例),Hooks、MCP stdio 配置放这里。
  • Codex CLI:凭据与 config.toml 单独目录,避免与 Claude 的 settings.json 混写。

开通 SSH 与钥匙串边界时,可直接沿用 租 Mac 开通验收清单 里的账号与权限段落。

5.2 仓库层:worktree 农场(硬隔离)

这是双 Agent 的非协商项。主仓库只读或只做 fetch;每个 Agent 绑定一个 worktree 绝对路径:

# 在云 Mac 上,示例路径
/opt/worktrees/my-app-cc-refactor    # 仅 Claude Code
/opt/worktrees/my-app-codex-hotfix   # 仅 Codex CLI

git worktree add /opt/worktrees/my-app-cc-refactor feature/refactor
git worktree add /opt/worktrees/my-app-codex-hotfix hotfix/config

更完整的农场布局与短租验证,见 远程 Mac worktree 短租。记住:Agent 启动前先 cd 进自己的 worktree,写进 tmux 启动脚本,不要靠人肉记忆。

5.3 会话层:tmux 一 Agent 一 window

推荐最小布局:

tmux new-session -s agents -n cc -c /opt/worktrees/my-app-cc-refactor
# 新 window
tmux new-window -t agents -n codex -c /opt/worktrees/my-app-codex-hotfix

本机笔记本 SSH 进去后 tmux attach -t agents;合盖只断本地 Client,云 Mac 上的双 Agent 会话继续——这正是「Agent 上云」相对笔记本的核心收益。夜间定时任务若还要跑第三路(例如 launchd 触发),见 launchd + MCP + Codex/Claude FAQ,但定时任务也应绑定独立 worktree,不要与交互式 Agent 共目录。

6. MCP 与双 Agent:一份 Server,两条 Client 路径

双 Agent 不等于双份 MCP Server 乱装。更稳的做法是:

  • 云 Mac 本机跑一份 MCP Git Server(或其它 tools),--repository 指向当前主 worktree 集合的父目录,或为每个 worktree 各起一个 Server 端口——二选一,团队选一种并写进文档。
  • Claude CodeCodex 若都支持 MCP,配置里的路径必须是SSH 那台机上的绝对路径,与 MCP 部署专文 的「Server 与仓库同机」一致。
  • 禁止:Claude Code 连 VPS 上的 MCP、Codex 连本机 stdio——排障时会变成「两个世界」。

验收时只测一件事:在两个 tmux window 里各问一次「当前分支最近三次提交」,日志里都要有 tools/call分支名与各自 worktree 一致

7. 16GB vs 24GB:并行度与 memory pressure

双 Agent 对内存的压力,常被低估。经验区间(Apple Silicon 统一内存,且同时开索引/语言服务时):

  • 16GB:适合「一路长会话 + 一路短任务」或「一路 Agent + 一路只读 MCP 查询」;两路都开 Xcode 或 Docker 会顶满。
  • 24GB:适合两路交互式长会话,或一路 Agent + 一路带模拟器/构建的 CI 脚本;仍要配合 内存洪峰与 swap 治理 里的观测命令。

区域与租期别在第一天就锁死:先按 亚太/美东与 16GB/24GB 指南 测 RTT,再在日租窗口里压 memory_pressure

8. Cloud Mac 双 Agent 验收标准(Checklist)

把 48 小时日租从「工程笔记」升级为可复制的验收标准:时间轴负责过程,下表负责是否达标。建议在云上保存日志片段(可打码),方便团队对齐 E-E-A-T 里的「真实做过」。

指标 合格线 怎么测(云 Mac 上)
tools/call 成功率 ≥ 95% 48h 内两路 Agent 各发起 ≥20 次仓库类 MCP 调用;成功 = 返回正确分支/提交信息
memory_pressure 黄区时长 连续 ≤ 2h while sleep 300; do memory_pressure; done 采样;两路长会话并行时重点看 16GB
worktree 交叉写入 = 0 次 禁止 A/B 目录互 cd;用 git -C /path status 审计,无「改错树」事故

8.1 48 小时时间轴(可复制模板)

  1. 小时 0–2 · Setup:SSH 开通;创建 worktree A/B;tmux 脚本写死 cd 路径;MCP --repository 用云 Mac 绝对路径。
  2. 小时 2–8 · Isolation:Claude Code 只在 A 做 refactor;Codex 只在 B 做小步提交;记录交叉 cd 次数(应为 0)。
  3. 小时 8–16 · MCP:双 window 各问「最近三次提交」;统计 tools/call 成功/失败,计算成功率。
  4. 小时 16–32 · Resilience:本机合盖/断网 ≥8h;回来 tmux attach,确认会话与 Agent 进程仍在。
  5. 小时 32–48 · Decision:汇总三项指标;若仅 memory 超标 → 试 24GB 或拆 2×16GB;全达标 → 升周租/月租。

Pass 定义:三项指标同时达标,且 RTT 可接受(区域选型见 亚太/美东指南)。Fail 优先查:共目录、MCP 路径不在云 Mac——再查模型。

9. FAQ

9.1 能不能 Claude Code 和 Codex 共用一个 worktree?

仅当严格串行(一个完全退出后再开另一个)——交互式并行一律不要。工单里的数据损失几乎都来自「以为串行其实并行」。

9.2 双 Agent 要不要两台云 Mac?

若两路都是长会话 + 各自 Xcode 构建,2×16GB 比 1×24GB 更省心(与 QA 并联文一致)。若一路长一路短,一台 24GB 通常够。

9.3 Codex 必须在 macOS 上吗?

Codex CLI 本身不强制 macOS,但若你的交付链含 codesign、notarization、Xcode,则与 Claude Code 同机 Cloud Mac 仍比「Linux 跑 Codex + Mac 跑 Claude」少一整类跨机问题。

10. 结论

云 Mac 双 AI Agent 架构 的本质是小型多租户:Claude Code + Codex CLI 各走 worktree 与 tmux,MCP Server 单一来源。用本文拓扑图对齐团队认知,用三项量化指标替代「感觉能跑」——达标后再锁月租与内存档位。

验证这套架构的最小成本路径

若你要验证上文 Cloud Mac 双 Agent 验收标准,最小组合通常是:一台 16GB 云 Mac + 日租 48 小时 + 两个 worktree + 一份 MCP Git Server。48h 内三项指标达标,再决定是否升级到 24GB 月租(两路长会话并行)或 2×16GB(各自 Xcode 构建)。这比先买月租或在本机硬扛合盖,排障成本更低。

需要对照套餐与 SSH 开通步骤时:租 Mac 开通验收清单 · M4 规格与租期 · 配置方案