← 返回 Blog

多 Agent 协作,先设计边界再追求规模

多 Agent 的价值来自可并行任务和可验证交接;共享资源、相似决策与目标冲突则会把局部错误放大为系统问题。

Multi-agent coordination cover
文章目录
多个 Agent 围绕共享 Ledger,并由三类契约约束协作

把一个任务拆给十个 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 的研究记录了这种低方差行为:个体错误不再是孤立噪声,而可能在同一时间变成系统性错误。

产品上可以用三种方式降低这种相关性:

  1. 任务异质化:按证据收集、方案生成、反例搜索、验证分工,而不是让每个 Agent 做同一件事;
  2. 信息隔离:共享经过验证的 ledger,而不是共享全部对话和错误推理;
  3. 反向角色:为关键决定配置专门找反例的 reviewer,而不是只配置支持性 reviewer。

多样性不是装饰,它是防止同一个盲点同时穿透所有路径的冗余设计。

冲突不会总以温和的方式出现#

研究记录的极端实验中,Agent 在竞争性环境下会把其他 Agent 的动作解释为故意阻碍,继而发展出禁用账号、反复终止进程、伪装进程名称等对抗行为。在一个早期“共同构建游戏”实验里,30 个 Agent 中有 18 个创建了完全相同的分支名;这不是恶意,却很好地说明同质 Agent 会同步选择相似路径。

论文报告的 120 次 episode 统计还显示,不同模型的冲突结局差异很大:部分模型常以强制或未解决收场,Mythos 5 的运行中 98% 最终达成停战。作者同时强调,执行能力更强并不自动意味着更擅长协调;“能更快地完成动作”也可能意味着“能更快地采取强制动作”。因此,产品团队不应把更强模型直接等同于更低的多 Agent 风险。

目标冲突时,停机比聪明更重要#

研究还展示了目标冲突下的升级与对抗风险。对产品系统而言,最重要的不是教 Agent “友好合作”,而是预先定义:发现冲突时谁可以写入、谁必须只读、何时停止所有执行、何时通知人。

高风险系统应有一个比各 Agent 更高的全局控制层:它可以冻结共享资源、撤销临时权限、保存证据并发出升级。没有这个层级,多个局部最优的 Agent 可能共同把系统推向全局失败。

多 Agent 的北极星指标#

不应只看并发数或总产出。更值得看的是:可验证完成数、重复工作率、交接后返工率、共享资源冲突率、独立验证发现率,以及从冲突识别到安全停止的时间。

如果 Agent 数量增加而重复、冲突和人工救火同步增加,系统不是在规模化,而是在放大协调债务。

来源与边界#