管理多个 AI Coding Agent 最稳妥的方式,是协调交付物,而不是协调聊天窗口。给每个 Agent 一个边界清楚的结果,隔离可能重叠的写入,要求它留下证据,并让项目层保留唯一的决策与下一步事实。

如果你每天的主要工作变成“记住哪个终端正在做什么”,系统只是把协调负担从 Agent 转回了你。

从可以命名的工作开始

每个活动任务都需要:

  • 具体结果;
  • 明确负责人;
  • 授权范围;
  • 依赖和阻塞;
  • 完成证据;
  • 稳定身份。

“右边终端里的第三个 Agent”不是稳定身份;“修复 Issue 184 的上手验证”才是。

OpenAI 也描述过相似的上限:工程师手工管理多个交互式 Agent 时,超过大约三到五个会话,注意力切换就开始变得痛苦。其编排实践因此从会话和 PR 转向交付物及依赖关系:Symphony

只并行真正独立的工作

适合并行的任务拥有不同输出:

  • 一个 Agent 调研最新 API 合同;
  • 一个 Agent 只读审计无障碍问题;
  • 一个 Agent 实现隔离组件;
  • 一个 Agent 验证已经完成的 diff。

不适合并行的是:让多个 Agent 同时修改相同文件,或替你决定同一个产品边界。只要人类需要重新调和相互冲突的假设,并行速度就会消失。

多个 Agent 并发写入时,应使用 worktree 或隔离环境。例如 Codex app 使用独立线程和 worktree,让不同任务不共享一份可变工作副本:Introducing the Codex app

把交付与复核分开

第一套实用的多 Agent 模式是顺序协作:

Builder 实施 → Reviewer 独立查证 → Builder 修正

Reviewer 应读取用户原始目标、真实 diff 和验证结果,而不只是 Builder 的总结。除非已经明确文件冲突和最终责任,否则 Reviewer 保持只读。

以下任务特别值得独立复核:

  • 公共合同;
  • 登录与权限;
  • 生成后的脚本;
  • 面向用户的文案和界面;
  • 迁移与发布。

项目只保留一份事实

每种 Coding Agent 都可以保留自己的聊天历史,但项目仍然需要一份共享记录:

  • 当前路线图结果;
  • 已接受决策;
  • 活动任务;
  • 精确版本或提交;
  • 验证证据;
  • 剩余缺口。

把这些事实以所有 Agent 都能读取的形式保存在项目旁边。不要让某个供应商的私有会话记忆成为跨工具权威。

给注意力设预算

并非每项任务都值得调用多个 Agent。只有漏掉错误的成本高于协调成本时,才增加 Reviewer。

一个 Agent 足够处理:

  • 小型文档修正;
  • 低风险聚焦重构;
  • 证据清晰的只读问题。

Builder 加 Reviewer 适合:

  • 普通代码与 UI 改动;
  • 即将发布的内容;
  • 共享配置。

Planner、Builder、Verifier 适合:

  • 跨模块改动;
  • 生产数据;
  • 权限;
  • 发布;
  • 不可逆动作。

简洁的控制面

每个活动结果只需展示:

  • 正在做:本轮尝试什么。
  • 状态:排队、执行、验证、阻塞或完成。
  • 证据:diff、测试、页面或运行结果。
  • 下一步:下一个安全动作。
  • 需要你:只有系统无法替你做的决策或授权。

用户不应该管理内部路由、工具调用、角色矩阵或重试状态。

危险信号

  • 两个 Agent 可以同时修改同一份权威。
  • Reviewer 只读另一个 Agent 的结论。
  • “完成”没有最终消费者证据。
  • 每次失败都新开会话,而不是续接同一个任务。
  • 用户必须手工翻译不同 Agent 的历史。
  • Agent 数量增加,但发布结果没有增加。

核心原则

多 Agent 协作成立的前提,是项目掌握计划、证据和交接。Agent 是围绕耐久结果工作的可替换执行者,而不是一组需要用户手工同步的独立项目。