同时打开 Claude Code、Codex、OpenCode 三个窗口,不是多 Agent 协作。
真正的多 Agent 协作,是给每个 Agent 划清场景边界、统一状态入口、规定切换规则。
我这几天试了一个叫 Agent-Manager 的小工具(GitHub: YoanWai/agent-manager)。
它的思路很简单:用 Tmux 把三个 Coding Agent 放进一个 TUI 管理器,按任务类型切换,谁写、谁审、谁跑测试,分工明确。不用在多个终端之间来回跳。
今天这篇文章,把搭建过程、我踩的三个坑,以及它适合谁、不适合谁,一次讲清楚。
02 为什么多 Agent 一起用,反而更乱
如果你已经用过 Claude Code 或者 GitHub Copilot CLI,应该有过这种感觉:
写业务逻辑时,Claude Code 很顺手; 但要快速改几行小功能,Codex 反应更快; 想试试 OpenCode 的某个新特性,又得单独开一个新窗口。
三个 Agent 各自跑各自的,问题慢慢就出现了:
1. 上下文互相污染
你在 Claude Code 里刚讲完项目架构,切到 Codex 又得重新说一遍。同一个需求,三个 Agent 三种理解。
2. 命令容易打架
A 窗口在改文件,B 窗口同时也在改同一个文件。保存时冲突,得手动合并。
3. 状态入口太多
想查刚才 Agent 改了什么,得逐个窗口翻历史记录。时间久了,连自己做到哪一步都记不清。
根因不是 Agent 太多,而是没有一个统一的会话管理层。每个 Agent 都默认独占一个终端,互不沟通。

03 Agent-Manager 解决的核心问题:统一入口 + 会话隔离
Agent-Manager 的做法是:把 Tmux 当作一个轻量调度层,每个 Agent 一个独立 pane,由主控 TUI 统一切换。
你不用记复杂的 Tmux 命令。它帮你把三件事固定下来:
每个 Agent 有固定位置; 每个 Agent 有固定任务类型; 每个 Agent 的状态可以被快速接管。
换句话说,它把"开三个窗口"变成"在一个面板里按场景切换"。
04 我的搭建步骤:半小时能跑起来
下面的步骤我亲测过,按顺序执行即可。前提是你已经安装了 Tmux 和至少一个 Coding Agent。
步骤 1:安装 Tmux
macOS:
brew install tmux
Ubuntu/Debian:
sudo apt-get install tmux
Windows 建议用 WSL2,或者在 PowerShell 里通过 scoop 安装。Git Bash 下 Tmux 行为不稳定,不建议。
步骤 2:克隆 Agent-Manager
git clone https://github.com/YoanWai/agent-manager.git
cd agent-manager
我测试时用的是 2026-07-30 的最新 commit。项目是实验性的,功能更新比较快,建议顺手看一遍 README。
步骤 3:安装依赖并启动
pip install -r requirements.txt
python agent_manager.py
启动后会出现一个 TUI 界面,列出你配置好的 Agent 列表。
步骤 4:配置三个 Agent 场景
项目配置文件通常是一个 YAML 或 JSON。我按自己的使用习惯分了三个场景:
agents:
- name: Claude Code
command: claude
pane_title: architect
default_dir: ~/projects/myapp
role: 负责整体架构、需求拆解和跨模块改动
- name: Codex
command: codex
pane_title: quickfix
default_dir: ~/projects/myapp
role: 负责单文件小改动、补测试、快速验证
- name: OpenCode
command: opencode
pane_title: explore
default_dir: ~/projects/myapp
role: 负责新工具试用、非核心模块实验
实际文件名和字段名以项目 README 为准。如果版本更新导致字段变化,按 README 调整即可。
步骤 5:进入 TUI 切换 Agent
启动后,按上下键选择 Agent,按回车进入对应 pane。每个 pane 独立运行一个 Agent 会话。
退出当前 pane 时按 Ctrl + b 然后按 d,回到主控界面,而不是直接关掉整个 Tmux 会话。
步骤 6:测试多 Agent 切换
进入 TUI 后,按以下流程跑一遍最小闭环:
选择 Claude Code,让它分析项目结构并输出一份改动计划; 按 Ctrl + s再按d,回到主控界面;选择 Codex,让它完成其中一个小改动; 回到 Claude Code,检查改动是否破坏整体架构。
这套流程跑通一次,你就理解了 Agent-Manager 的真正价值:不是同时让三个 Agent 干活,而是按顺序调度它们,互不干扰。如果中间切错窗口,按 Ctrl + s 加方向键即可回到主控界面。
坑 1:工作目录不一致
第一次配置时,我把三个 Agent 的 default_dir 设成了不同路径。结果 OpenCode 改的是旧版本代码,Claude Code 在另一个目录里找引用,半天对不上。
解决方法:统一工作目录。三个 Agent 都指向同一个项目根目录,用相对路径操作。
坑 2:Tmux 快捷键冲突
Claude Code 和 Codex 本身也会用 Ctrl + b 或 Ctrl + a 做内部快捷键。切 pane 时经常误触。
解决方法:在 ~/.tmux.conf 里把 Tmux 前缀改成 Ctrl + s:
set -g prefix C-s
unbind C-b
bind C-s send-prefix
坑 3:Agent 状态没保存
Tmux 会话本身会保留,但 Agent 的运行历史不会自动归档。一天下来,我不知道哪个窗口改了什么。
解决方法:给每个 Agent 加一条日志约定。比如每次让 Agent 改代码前,先让它把计划写到 docs/agent-log/ 下的一个文件里。文件命名按日期和 Agent 区分,例如 docs/agent-log/2026-07-30-claude.md。
快速创建当天日志文件的命令:
mkdir -p docs/agent-log
AGENT_NAME=claude
date_str=$(date +%Y-%m-%d)
echo "# $AGENT_NAME plan for $date_str" > "docs/agent-log/$date_str-$AGENT_NAME.md"
这样即使 session 重启,也能打开日志文件快速找回上下文。

06 搭完之后,我的实际变化
搭 Agent-Manager 之前,我同时开三个窗口,每天至少切换几十次。现在变成三类任务直接对应三个入口:
切换成本从"找窗口"变成"按一下方向键"。更重要的是,每个 Agent 的上下文不会被其他 Agent 打断。
但这套方法也有明确边界。
07 适用边界:这些人不建议硬上
适合的人:
已经在日常用至少一个 Coding Agent; 项目里经常需要不同粒度的改动(架构 + 小修 + 实验); 愿意花半小时搭环境,而不是立刻追求效率提升。
不适合的人:
只偶尔用 AI 辅助写代码,单窗口已经够用; 项目文件少、改动范围小,开多窗口反而增加复杂度; 对 Tmux 完全陌生,也不想学基础命令。
不适合的场景:
多人协作同一个分支时,多个 Agent 同时改同一份代码仍然可能冲突。Agent-Manager 解决的是"入口统一",不是"并发控制"。 对稳定性要求极高的生产代码,建议先在小项目或实验分支里跑通。
08 单一 CTA:今晚先试这一步
如果你也想试试,不需要一次配三个 Agent。
今晚最小行动:先装上 Tmux,把 Claude Code 或你最常用的一个 Agent 放进 Agent-Manager 跑起来。
等第一个入口稳定之后,再慢慢把第二个、第三个 Agent 加进去。
如果你只想试一个组合,建议从 Claude Code + Codex 开始。这是目前最稳、文档最多的两条线。
配置模板和切换规则如下,你可以复制后按自己项目改:
agents:
- name: Claude Code
command: claude
pane_title: architect
default_dir: ~/projects/myapp
role: 负责整体架构、需求拆解和跨模块改动
- name: Codex
command: codex
pane_title: quickfix
default_dir: ~/projects/myapp
role: 负责单文件小改动、补测试、快速验证
- name: OpenCode
command: opencode
pane_title: explore
default_dir: ~/projects/myapp
role: 负责新工具试用、非核心模块实验
欢迎在评论区留下你用的 Agent 组合。我看看大家最常用的搭配是什么,下次写一期专门讲两个 Agent 怎么分工。
写在最后:Agent-Manager 是实验性工具,功能可能变化。建议先用小项目或实验分支跑通,再考虑用在核心代码上。
夜雨聆风