Skip to main content
返回博客
博客

如何同时运行多个 AI Agent

一步一步讲解如何同时运行 Claude Code、Codex 和其他 AI 编码 Agent,以更快地推进开发。

一次只运行一个 AI Agent 是默认做法。但你完全可以同时运行两个、三个甚至五个 Agent,让它们分别处理项目的不同部分。下面讲讲怎么做、要注意什么,以及什么时候这样做最合适。

为什么要运行多个 Agent?

最直接的原因:时间。如果你有三个彼此独立的任务,每个任务需要 5 分钟的 Agent 工作,顺序执行要 15 分钟。并行执行只要 5 分钟。

不过,节省时间并不是唯一收益:

  • 专长分工 - 不同 Agent 可以处理不同类型的工作。Claude Code 适合复杂重构,Codex 适合快速原型,shell 脚本适合机械性任务。
  • 审查循环 - 一个 Agent 写代码,另一个审查。无需等待就能得到即时反馈。
  • 上下文隔离 - 每个 Agent 都拥有干净的上下文,只关注自己的任务,而不是在一个过载上下文里来回切换。

方法 1:多个终端窗口

最简单的方法。打开多个终端,在每个终端里启动一个 Agent。

终端 1:

cd ~/project
claude  # 为认证重构启动 Claude Code

终端 2:

cd ~/project
claude  # 为 API 测试启动 Claude Code

终端 3:

cd ~/project
codex   # 为文档启动 Codex

这能用,但有个明显缺点:你一次只能看到一个终端(或者把屏幕切成很小的分栏)。当 Agent 1 完成时,除非你切回去查看,否则不会知道。

方法 2:tmux 分屏

tmux 可以把多个终端会话平铺在一个窗口里:

tmux new-session -s agents
# Ctrl+b % 纵向分屏
# Ctrl+b " 横向分屏

这比单独开窗口更好 - 你能同时看到多个 Agent。但 tmux 的 pane 是固定网格。Agent 一多,每个 pane 就会小到难以阅读。而且没有任何可视化状态提示(工作中、等待中、已完成)。

方法 3:基于画布的工作区

对于 2 个以上的 Agent,最有效的方案是可视化画布工作区。把每个 Agent 放到无限画布上的独立图块里,按工作流中的角色进行空间排布。

相较于终端窗口和 tmux,它的优势包括:

  • 可自由调整大小 - 给当前最关注的 Agent 更多空间。
  • Agent 状态指示 - 一眼就能看到哪个 Agent 正在工作、等待中,还是已经完成。
  • 路由连接 - 自动把一个 Agent 的输出传给另一个。
  • 持久化 - 你的布局会被保存。关闭再打开,一切都还在原位。

MadoHub 就是为此而设计的 - 它给你一个无限画布,让你在可拖拽、可调整大小的图块中运行终端型 Agent,并提供实时状态检测。

要注意什么

文件冲突

两个 Agent 同时编辑同一个文件会产生冲突。在并行运行 Agent 之前,确保它们处理的是不同的文件或模块。

好的并行拆分:

  • Agent A 处理 src/auth/,同时 Agent B 处理 src/api/

不好的并行拆分:

  • Agent A 和 Agent B 都在修改 src/config/database.ts

资源占用

每个 AI Agent 会消耗 RAM(终端 + Agent 进程)和 API credits。一次同时运行 5 个 Claude Code 实例,就意味着 5 倍的 API 使用量。如果你使用的是按量计费方案,要盯紧额度。

上下文污染

如果多个 Agent 在同一个 git 仓库里工作,一个 Agent 的未提交改动可能会干扰另一个读取相同文件的 Agent。解决方式有:

  • Git 分支 - 每个 Agent 在独立分支上工作。
  • 独立目录 - 如果任务真的互不相关,就使用独立的项目副本。
  • 顺序依赖 - Agent B 只在 Agent A 提交改动后才开始。

什么时候适合用多个 Agent

场景单个 Agent多个 Agent
一个小 bug 修复是过度设计
大型重构 + 测试可能是 - 拆成写代码 + 测试
多个独立功能否是 - 每个功能一个 Agent
实现后的代码审查顺序进行是 - 管道模式
探索陌生代码库是过度设计

经验法则:如果你能把工作清晰拆成边界明确的独立部分,那么多个 Agent 会更快;如果工作高度耦合,单个拥有完整上下文的 Agent 更合适。

自动化交接

多个 Agent 最大的摩擦点,是手动在它们之间传递信息。Agent A 完成后,你需要告诉 Agent B 发生了什么,你就在复制文本、重写成提示词、再粘贴。

自动路由可以消除这层摩擦。你定义好连接(“A 完成时把摘要发给 B”),系统就会处理提取、转换和投递。

这样,一个手工的多 Agent 流程就变成了一个几乎不需要人工介入的流水线。你负责搭建,监控进度,并在需要时介入方向。

从这里开始

  1. 在当前项目里找两个彼此独立的任务。
  2. 并排打开两个终端。
  3. 在每个终端里启动一个 Agent。
  4. 观察它如何改变你的注意力模式 - 你会从对单个任务的深度关注,切换到对两个任务的扫描。
  5. 当其中一个完成时,试着把它的关键输出手动传给另一个。

当你手动做过一次并真正感受到收益后,就会理解为什么需要自动路由和可视化工作区。它们只是为了把这个基本模式变得毫不费力。