Arrow keys / Space / Swipe
Multi-Agent Coordination

多 Agent
协调模式

五种方法 · 适用场景 · 演进路径

Internal Tech Talk — 2026.04

从简单开始,按需演进

大部分团队的问题不是不知道多 Agent 的好处,而是上来就挑了一个听起来最酷的模式,结果被协调开销拖死了。

Anthropic 的建议:从最简单的能跑通的模式开始,看它哪里撑不住了,再往上演进。

01
Overview

五种协调模式

01
Generator-Verifier 一个生成、一个验证、循环迭代
生成-验证
02
Orchestrator-Subagent Team Lead 分派任务、汇总结果
编排-子Agent
03
Agent Teams 持久 Worker 跨轮次积累上下文
Agent 团队
04
Message Bus 发布/订阅共享通信层
消息总线
05
Shared State 无中央协调者,读写共享存储
共享状态

从简单到复杂 · 复杂度递增 · 按需演进而非一步到位

02
Pattern 01

Generator-Verifier

一个 Agent 生成输出,另一个评估。通过就结束,不通过就把反馈打回给生成方,重新来一轮。循环直到通过或达到最大迭代次数。

最典型的应用是代码生成:一个 Agent 写代码,另一个写测试、跑测试。客服场景也适用——生成方起草邮件回复,验证方检查是否准确引用了产品文档、是否回应了用户提到的每个问题。

适用条件:输出质量关键且评估标准可以明确化

Generator-Verifier Pattern Diagram
03
Pattern 01 · 踩坑

Generator-Verifier 的陷阱

验证标准太模糊

只告诉验证方"检查输出是否足够好",它大概率会糊弄人,放行所有东西。验证方的价值完全取决于你能不能把"好"拆成具体的、可检查的标准。Anthropic 的工程师 Prithvi 花了很多精力调教 Evaluator,反复看日志、找判断偏差、改 Prompt,来回迭代好几轮才让评分标准达到合理水平。

迭代循环卡死

生成方解决不了验证方提的问题,两边来回震荡不收敛。这个模式还假设生成和验证是可分离的技能——如果评估一个创意方案和生成它一样难,验证方可能抓不住问题。必须设最大迭代次数,加兜底策略:升级给人处理,或返回当前最好的版本并标注问题。

04
Orchestrator-Subagent Pattern Diagram
Pattern 02

Orchestrator-Subagent

一个 Agent 当 Team Lead,负责规划任务、分配工作、汇总结果。子 Agent 接到具体任务后执行完就汇报。Claude Code 就是这个模式——主 Agent 自己写代码,需要搜索代码库时就在后台派 subagent,自己继续手头的活。

适合任务拆分清晰、子任务之间依赖少的场景。比如自动化代码审查:一个 PR 进来,需要查安全漏洞、检查测试覆盖率、评估代码风格、验证架构一致性,每个检查维度独立、输出格式明确。

05
Pattern 02 · 瓶颈

信息瓶颈

当子 Agent 发现了对其他子 Agent 有用的信息时,这条信息必须经过编排 Agent 中转。安全子 Agent 发现了一个认证漏洞,这个发现影响架构子 Agent 的分析。经过几轮中转之后,关键细节经常被丢失或者在摘要中被省略掉。

Claude Code 使用体感

subagent 搜完代码库回来的结果有时候会把关键上下文压缩掉,主 Agent 拿到的是一个干净但不够完整的摘要。简单查询没问题,但需要子 Agent 之间共享发现的复杂任务,编排模式就开始吃力了。

06
Pattern 03

Agent Teams

编排模式里的子 Agent 是用完即弃的,但团队模式里的 Worker 是持久的——不重置,不遗忘。协调者启动多个 worker 作为独立进程,领任务、干活、交结果,每个 worker 在多轮迭代中积累对自己负责领域的熟悉度。

最直观的例子是大规模代码迁移。每个 worker 分管一个服务,在反复处理这个服务的依赖、测试、部署配置的过程中逐渐摸清它的脾气。一次性 subagent 每次接手都要重新理解,持久 worker 第一次弄明白之后后续迭代直接复用。

Agent Teams Pattern Diagram
07
Pattern 03 · 前提

独立性是硬前提

无中间人传话

Worker 之间没有中间人帮忙传话。一个 worker 的改动影响了另一个,谁都不知道,产出可能冲突。多个 worker 操作同一个代码库时尤其明显,常见应对方式是文件级别的分区或者合并前跑冲突检测。

完成时间参差

一个 worker 两分钟搞定,另一个要二十分钟。协调者得有耐心等,还得处理部分完成的中间状态,增加了整体复杂度。

一次性 subagent 每次接手都要重新理解上下文 · 持久 worker 第一次弄明白之后后续直接复用

08
Message Bus Pattern Diagram
Pattern 04

Message Bus

共享通信层,核心操作就两个:发布和订阅。Agent 订阅自己关心的 topic,路由器负责分发。新 Agent 上线不需要改已有连接,订阅相关 topic 就能接收工作。搞过微服务事件驱动架构的不陌生,本质上就是 Kafka 那套思路。

Anthropic 举的例子是安全运维自动化。告警从多个来源进来,分诊 Agent 分类后路由给对应的调查 Agent,调查结果再流向响应协调 Agent。事件一个阶段接一个阶段地流下去,新出了什么威胁类型就加个新 Agent。

09
Pattern 04 · 代价

可追溯性变差

>

一个告警触发五个 Agent 之间的事件级联,要搞清楚到底发生了什么,调试难度比编排模式高不少。

>

路由器分错类或者丢了事件更麻烦——系统会静默失败,什么都不处理但也不崩溃。

>

灵活性的代价:新 Agent 随时可以加入,但系统行为越来越难预测。

10
Pattern 05

Shared State

没有中央协调者。Agent 自主运行,读写共享的数据库、文件系统或文档。工作从往存储里丢一个问题或数据集开始,停下来条件有几种:时间到了、结果收敛了,或者有个专门的 Agent 判断存储里的东西已经够用了。

研究综合是主场。多个 Agent 分头调查一个复杂问题的不同方面——学术 Agent 发现了一个关键研究者,这条信息对行业 Agent 立刻有用。发现直接写进存储,其他 Agent 马上就能看到。附带好处是没有单点故障,任何一个 Agent 停了,其他 Agent 继续读写。

Shared State Pattern Diagram
11
Pattern 05 · 代价

反应式循环

Agent A 写了一个发现,Agent B 读到后写了跟进,Agent A 看到跟进后又回应。系统持续烧 token 但不收敛。

类比:分布式系统的最终一致性

没有强协调者的好处是吞吐量高、没有瓶颈,但你需要在应用层面处理冲突和收敛问题。终止条件:时间预算、收敛阈值,或者专门的 Agent 来判断何时该停。

12
Orchestrator-Subagent vs Agent Teams
Choosing

编排 vs 团队

两者都有协调者分派工作,区别在于 worker 需要维持上下文多久。

L

子任务短小、输出明确,subagent 不需要跨调用保留状态 → 编排模式

R

子任务需要多步骤持续工作、从积累的上下文中受益 → 团队模式

例:代码审查用编排(每次检查独立),代码迁移用团队(每个 worker 需要持续理解服务上下文)

13
Choosing

编排 vs 消息总线

两者都能处理多步骤工作流,区别在于工作流结构是否可预测。

L

步骤顺序事先已知(固定流水线)→ 编排模式

R

事件驱动、随发现变化、新类型不断出现 → 消息总线

经验法则:编排 Agent 里的条件分支越来越多、需要处理越来越多的特殊情况时,就该考虑换消息总线了。

Orchestrator vs Message Bus
14
Agent Teams vs Shared State
Choosing

团队 vs 共享状态

两者都让 Agent 自主工作,区别在于发现是否需要实时流通。

L

各管各的互不交叉,最后汇总结果即可 → 团队模式

R

Agent 之间需要互相沟通而不只是汇总结果 → 共享状态

例:代码迁移用团队(各改各的服务),研究综合用共享状态(学术发现影响行业调查)

15
Choosing

消息总线 vs 共享状态

两者都支持复杂协调,区别在于工作是离散事件还是持续积累。

L

事件从一阶段触发到下一阶段然后完成 → 消息总线

R

Agent 在持续积累的知识基础上反复迭代 → 共享状态

值得留意的信号:如果消息总线里的 Agent 发布事件是为了分享发现而不是触发动作,那你可能需要的是共享状态。

Message Bus vs Shared State
16
Takeaways

演进建议

Anthropic 的建议:从编排-子Agent 开始。它能覆盖最广的问题范围,协调开销也最低。等它在特定场景下撑不住了,再根据具体瓶颈演进到其他模式。

这五种模式是积木,不是互斥的选项。Claude Code 就是编排-子Agent 的典型实现,对大多数日常任务完全够用。只有当任务复杂到需要多个 Agent 持续协作、共享中间发现的时候,才值得引入更复杂的模式。

常见混合组合

+

外层用编排-子Agent 管整体工作流,内层协作密集的子任务用共享状态

+

外层用消息总线做事件路由,每种事件类型由一个 Agent 团队来处理

17
Resources

相关资源 & 框架对比

不同框架对协调模式的抽象思路差异很大。Anthropic 偏描述性,告诉你有哪些模式、怎么选。LangGraph 走 graph-based 路子,用状态图定义 Agent 之间的流转逻辑。CrewAI 角色分工优先,协调模式隐含在角色关系里。三种抽象各有适用场景,但底层要解决的问题一样:谁跟谁通信、信息怎么流、什么时候该停。

18