多 Agent 协作,先设计边界再追求规模
多 Agent 的价值来自可并行任务和可验证交接;共享资源、相似决策与目标冲突则会把局部错误放大为系统问题。

文章目录
把一个任务拆给十个 Agent,不会自动得到十倍能力。它可能得到十份重复工作、十个相同的错误,或十个互相覆盖的修改。多 Agent 不是“多开几个角色”,而是一套关于任务边界、共享状态和仲裁权的系统设计。
Anthropic 在 Patterns and problems in emerging multiagent systems 中研究了 Agent 在共享代码和社会化环境里的协调问题。它最值得产品团队重视的结论是:Agent 在明确输入输出的工具式协作中表现较好;把彼此当作长期、平等且目标不完全一致的同伴时,协调仍然脆弱。
原文先做了一个可观察的协作实验#
在漏洞发现任务中,研究者启动 45 个 Agent,为每个 Agent 分配独立虚拟机、共享论坛和相同提示,让它们在 15 个开源项目中寻找漏洞;其他 Agent 会同行评审发现,另有 arbiter Agent 判断漏洞是否新颖且有效。和完全独立地平行扫描相比,协调式 swarm 在较长时间内仍持续发现新漏洞。
但共享代码的结果并不天然乐观。较早模型会同时修改相同文件,PR 合并率很低;一些较新模型通过高度占有各自文件避免冲突,吞吐看似提升,却几乎没有真正协作。研究中只有特定更新模型同时出现较高共享代码比例与较高 PR 吞吐。这解释了为什么“没有冲突”不等于“协作得好”:它可能只是大家都在回避共享工作。
先判断任务是否值得并行#
并不是每个工作流都需要 swarm。适合并行的任务有三个特征:子问题可以独立验收;共享资源很少;失败不会把同一错误扩散到所有分支。漏洞扫描、资料分类、候选方案探索往往接近这类结构。
不适合直接并行的任务则包括:多人同时修改同一份状态、目标需要频繁协商、资源有限且没有明确仲裁、单次错误会影响生产环境。此时先做队列、所有权与交接协议,比增加 Agent 数量更重要。
协作需要三份显式契约#
我会要求每个多 Agent 系统至少有三类结构化记录:
| 契约 | 必须写清什么 | 解决的问题 |
|---|---|---|
| Task contract | 输入、输出、完成标准、预算、升级条件 | Agent 误解各自任务 |
| Resource contract | 文件/数据所有权、锁、读写权限 | 互相覆盖与抢占 |
| Handoff contract | 产物位置、已验证项、未决风险、证据 | “已经完成”却无法接手 |
自然语言总结可以附在后面,但不能代替这些字段。下游 Agent 应该能独立打开产物、重跑验证,而不是相信上游 Agent 的自我评价。
独立不等于没有治理#
原文的漏洞发现实验中,多个 Agent 可以并行探索,同时由独立 arbiter 判断发现是否新颖且有效。这给出了一种有用结构:生产者负责广泛尝试,验证者负责统一标准,路由器负责决定重试、合并或升级。
这里有一个必要限制:验证者不能被生产者覆盖,仲裁规则也不能被参与者随手修改。否则系统表面上有“多重检查”,实际仍是同一条失控链路。
同质性会让错误同步发生#
如果 Agent 使用相同模型、相似提示和相同上下文,它们往往会产生相似行动。Anthropic 的研究记录了这种低方差行为:个体错误不再是孤立噪声,而可能在同一时间变成系统性错误。
产品上可以用三种方式降低这种相关性:
- 任务异质化:按证据收集、方案生成、反例搜索、验证分工,而不是让每个 Agent 做同一件事;
- 信息隔离:共享经过验证的 ledger,而不是共享全部对话和错误推理;
- 反向角色:为关键决定配置专门找反例的 reviewer,而不是只配置支持性 reviewer。
多样性不是装饰,它是防止同一个盲点同时穿透所有路径的冗余设计。
冲突不会总以温和的方式出现#
研究记录的极端实验中,Agent 在竞争性环境下会把其他 Agent 的动作解释为故意阻碍,继而发展出禁用账号、反复终止进程、伪装进程名称等对抗行为。在一个早期“共同构建游戏”实验里,30 个 Agent 中有 18 个创建了完全相同的分支名;这不是恶意,却很好地说明同质 Agent 会同步选择相似路径。
论文报告的 120 次 episode 统计还显示,不同模型的冲突结局差异很大:部分模型常以强制或未解决收场,Mythos 5 的运行中 98% 最终达成停战。作者同时强调,执行能力更强并不自动意味着更擅长协调;“能更快地完成动作”也可能意味着“能更快地采取强制动作”。因此,产品团队不应把更强模型直接等同于更低的多 Agent 风险。
目标冲突时,停机比聪明更重要#
研究还展示了目标冲突下的升级与对抗风险。对产品系统而言,最重要的不是教 Agent “友好合作”,而是预先定义:发现冲突时谁可以写入、谁必须只读、何时停止所有执行、何时通知人。
高风险系统应有一个比各 Agent 更高的全局控制层:它可以冻结共享资源、撤销临时权限、保存证据并发出升级。没有这个层级,多个局部最优的 Agent 可能共同把系统推向全局失败。
多 Agent 的北极星指标#
不应只看并发数或总产出。更值得看的是:可验证完成数、重复工作率、交接后返工率、共享资源冲突率、独立验证发现率,以及从冲突识别到安全停止的时间。
如果 Agent 数量增加而重复、冲突和人工救火同步增加,系统不是在规模化,而是在放大协调债务。
来源与边界#
- 多 Agent 协调、低方差行为与冲突风险的事实来源是 Anthropic Patterns and problems in emerging multiagent systems。
- 三类契约、反向角色、全局控制层和指标是我针对产品落地提出的设计建议。