CAID:多Agent异步协作的正确打开方式

并发编辑互相干扰、依赖关系同步困难、部分进度无法合并——Geng和Neubig发现,人类工程师早就解决了这个问题,用的正是Git本身。

问题:多Agent协作比想象中难得多

让多个Agent同时工作听起来很美:一个人做前端,一个人做后端,一个人写测试,并行推进。但实践中遇到了三类根本性困难:

  1. 并发编辑冲突:多个Agent同时修改同一个文件,后写的覆盖先写的,或者产生无法合并的冲突
  2. 依赖同步:A Agent的工作依赖B Agent的输出,但两者进度不可预期
  3. 部分进度整合:最后要把多个Agent的产出合并成一个 coherent 的解决方案,这比想象中要难得多

这正是人类工程师几十年来一直在解决的问题。Geng和Neubig(CMU/Mila)的思路是:不要重新发明轮子,把人类协作基础设施拿过来用。

CAID的核心:三个SWE原生机制

CAID = Centralized Asynchronous Isolated Delegation,由三个核心原语构成:

原语一:集中式任务委托(Centralized Task Delegation)

一个中心管理器(Manager)负责任务分解和调度。它做两件事:

  1. 构建依赖感知的任务计划:分析任务图谱,弄清楚谁依赖谁
  2. 分发任务给Worker:Worker是独立运行的Agent,各自领取子任务

Manager自己也是一个Agent,可以是LLM驱动的规划器。关键是所有任务的分配和依赖关系由Manager显式维护,而不是让Agent们自己去协调。

原语二:异步执行(Asynchronous Execution)

每个Worker在独立隔离的工作空间中运行,互相不干扰。这解决了并发编辑问题——不同Agent在不同目录里工作,根本不会冲突。

关键工程问题:工作空间如何创建和清理?

CAID使用了git worktree:每个子任务分配一个独立的worktree分支,工作空间之间完全隔离,又共享同一个仓库的历史和主干代码。子任务完成后,git merge把结果合并回主干。

原语三:测试驱动的整合验证

这步是CAID区别于”简单并行”的核心:每个子任务完成后,不是直接合并,而是通过测试来验证输出的正确性。

Manager在分发任务时就知道每个子任务的验收标准(来自SWE-bench的test case)。Worker完成后,先运行测试,通过才允许merge,有问题就打回重做。

实验结果

在两个benchmark上验证:

Benchmark 提升幅度
PaperBench(论文复现) +25.6% 绝对提升
Commit0(Python库开发) +14.7% 绝对提升

对比基线是单Agent方案(没有多Agent协作)。

为什么branch-and-merge是正确答案

研究者做了系统性消融实验,发现了一个关键洞察:branch-and-merge是multi-agent协作的天然中心协调机制。

git worktree + git commit + git merge 组合提供了:

  • 隔离:每个Agent工作在自己的分支上,不互相干扰
  • 可审计:每个commit对应一个Agent的完整工作历史
  • 可回滚:某个Agent的输出有问题,直接revert它的分支
  • 可合并:依赖关系通过merge自动处理
  • 测试门禁:merge前必须通过测试,保证集成的正确性

人类软件工程几十年来用同一套工具解决协作问题,Agent同样适用——这不意外,因为问题本质是一样的:多个并行工作者如何正确地贡献到同一个代码库。

对从业者的直接启发

如果你在搭建多Agent系统

  1. 不要让Agent共享同一个工作目录:并发写入同一文件是灾难的源头
  2. 用版本控制系统做协调:git worktree或者类似机制是工程上正确的解法,而不是什么复杂的Agent间通信协议
  3. 测试是整合的门禁:没有测试验证的merge,是在积累技术债务
  4. Manager的角色不可省略:完全去中心化的Agent协作目前还不work,需要一个Planner来维护全局视图

为什么不直接用CrewAI/Mastra等框架

这些框架提供了抽象,但它们的协调机制往往是”消息传递”或”共享状态”——这些在工程上不如版本控制可靠。CAID的核心洞察是:协作基础设施已经存在,用它,而不是重新发明。

限制和未解决问题

论文坦诚地指出了几个未解决的问题:

  1. Manager本身成为瓶颈:Manager如果规划出错,整个任务都会跑偏
  2. 依赖图的构建本身需要理解任务:这往往是最难的部分
  3. 测试覆盖决定整合质量:如果测试本身有bug,merge进去的也是bug

这些问题指向一个更大的方向:多Agent协作的质量上限,由Planner的能力和测试的质量共同决定。


论文:arXiv 2603.21489 — Geng & Neubig, CMU/Mila, 2026