多智能体协同模式:五种核心架构详解

0 阅读8分钟

多智能体协同模式:五种核心架构详解

来源:Anthropic 官方多智能体协同指南,宝玉(@dotey) 推荐。原文探讨了五种经过生产验证的多智能体协调模式,本文基于原文中英文对照整理,方便读者理解每种模式的机制、适用场景和失败模式。


前言

多智能体系统的核心问题是:多个 LLM 实例在独立对话上下文下运行,如何通过代码实现协调?

在这篇官方指南中,Anthropic 梳理了五种经过生产验证的多智能体协调模式:

  1. Generator-verifier(生成-验证者)
  2. Orchestrator-subagent(调度-子智能体)
  3. Agent teams(智能体团队)
  4. Message bus(消息总线)
  5. Shared state(共享状态)

多智能体协同模式概览


模式一:Generator-verifier(生成-验证者)

机制

一个 Agent 负责生成输出,另一个 Agent 负责根据明确标准评估输出质量。

典型案例:代码生成场景 — 一个 Agent 写代码,另一个 Agent 运行测试。

验证循环示意图

Evaluator-Optimizer 循环

何时有效

当验证标准可以明确界定时,此模式效果显著。Generator 产出内容,Verifier 用独立视角审查,不依赖生成过程的理解。

失败模式

Anthropic 特别警告:

如果团队在实现循环时没有明确定义"验证"的含义,就会制造"虚假的质量控制"——看起来有评估环节,实际上没有实质把关。

另一个常见失败:Verifier 跑了一两个测试看到通过就宣布成功。必须要求完整测试套件运行并制定明确的综合检查标准。

适用场景

  • 质量保证(运行测试套件、lint 代码、按 schema 验证输出)
  • 合规检查(验证文档是否符合政策要求)
  • 输出验证(确认生成内容符合规格再交付)
  • 事实核查(由独立 Agent 验证生成内容中的论断或引用)

模式二:Orchestrator-subagent(调度-子智能体)

机制

一种层级结构:Lead Agent(调度者)负责任务分解,将边界清晰的子任务分配给专门的 Subagents。Claude Code 已采用此模式:主 Agent 在处理主要工作的同时,派发后台 Subagents 搜索大型代码库。

Orchestrator-Workers 流程图

核心实现

# Lead Agent 分解问题为独立子任务
facets = await lead_agent.decompose_query(query)

# 并行派发 Subagents 研究每个子任务
tasks = [research_subagent(facet) for facet in facets]
results = await asyncio.gather(*tasks)

# Lead Agent 综合各 Subagent 的发现
return await lead_agent.synthesize(results)

并行 vs 顺序执行对比

何时有效

  • 上下文保护:子任务产生的上下文量大(超过 1000 tokens)但大部分与主任务无关时,Subagent 提供隔离
  • 并行化:任务可自然拆分为独立部分(跨多来源的研究、跨多组件的测试)
  • 专业化:不同任务需要不同的工具集、系统提示或专业知识

失败模式

Anthropic 指出:

Orchestrator-Subagent 会产生信息瓶颈——关键细节在通过中心协调者路由时经常丢失。

另一个陷阱:按问题类型而非上下文边界分解任务("一个 Agent 写功能,另一个写测试,第三个做审查"),会产生大量协调开销,每个交接都会损失上下文。

适用场景

适合大多数需要多智能体协同的场景,是新团队的最佳起点,协调开销最低,能处理最广泛的问题类型。


模式三:Agent teams(智能体团队)

机制

多个命名 Agent 组成团队,通过消息路由实现持续协作。每个 Agent 有明确角色,通过消息传递进行通信和协调。Claude Code Agent Teams 正是基于此模式:多个 AI Agent 并行工作,分别处理不同任务部分,同时中心协调者追踪进度并综合结果。

Agent teams 协调架构

关键协调方式

  • 通过共享文件系统传递结果
  • 通过工具调用结果共享信息
  • 通过顺序检查点同步进度
  • 不是通过 Agent 间直接通信

主要优势

优势说明
并行性多个任务同时执行
更大有效上下文团队总体上下文大于任何单个 Agent
专业化不同 Agent 可专注不同任务部分

并行处理实操

何时有效

任务足够大、多面,或需要真正并行执行时,Agent teams 的协调开销才能被收益覆盖。对于小型任务,Agent teams 反而增加不必要的复杂度。

失败模式

  • 上下文隔离问题:Agent 之间共享上下文的方式如果不清晰,会导致信息丢失或重复
  • 合并冲突:当多个 Agent 同时修改相关资源时,冲突处理成本高昂
  • Token 密集度:Agent teams 通常比单一 Agent 消耗更多 token

模式四:Message bus(消息总线)

机制

多个 Agent 通过一个共享消息总线进行通信和协调。消息总线作为所有 Agent 之间的中央通信层,Agent 发布消息到总线,并从总线订阅它们需要处理的消息。

Workflows vs Agents 对比

与 Orchestrator-subagent 的区别

维度Message busOrchestrator-subagent
通信模式发布/订阅点对点任务分配
协调中心无单一协调者Lead Agent 主导
耦合度松散耦合层级耦合
适用场景事件驱动、工作流自动化任务分解、结果综合

何时有效

  • 事件驱动的工作流场景
  • 需要多个 Agent 对同一事件作出反应
  • 工作流步骤之间的依赖关系复杂但清晰

失败模式

  • 消息路由复杂时,调试困难
  • 需要额外的消息队列基础设施
  • 消息格式不匹配导致 Agent 间通信失败

模式五:Shared state(共享状态)

机制

彻底移除中心协调者。Agent 直接从持久化存储中读写,实时建立在彼此的发现之上。

AI Agent 核心组件

何时有效

  • 研究综合系统:一个 Agent 的发现立即影响另一个 Agent 的调查方向
  • Agent 之间需要频繁共享状态但不需要严格的消息传递
  • 任务可以自然地分解为"读-处理-写"循环

优势

  • 消除中心协调者带来的瓶颈
  • 更高的并行度
  • 更自然的团队协作模式

失败模式

  • 状态一致性挑战:多个 Agent 同时写入可能产生冲突
  • 调试困难:状态变化链路不直观
  • 缺乏中央视图:难以追踪整体进度

模式选择决策框架

按任务独立性选择

任务特征推荐模式
独立子任务,无交叉依赖Parallelization(并行处理)
任务有明确分工,需要协调者Orchestrator-subagent
任务需要持续协作和消息传递Agent teams / Message bus
任务需要共享上下文和实时协作Shared state

按验证需求选择

验证需求推荐模式
需要明确的生成-验证循环Generator-verifier
需要黑盒验证(不依赖生成上下文)Generator-verifier
需要持续验证每个步骤Evaluator-optimizer

Anthropic 建议

对于大多数应用,Anthropic 推荐从 Orchestrator-subagent 开始。它以最小的协调开销处理最广泛的问题类型。

生产系统通常会组合使用多种模式——比如整体工作流用 Orchestrator-subagent,子任务中需要紧密协作的部分用 Shared state。

何时 Agent 比 Workflow 更好


各模式的失败模式汇总

模式主要失败模式
Generator-verifier无限循环(Generator 无法响应反馈);过早宣布通过(未运行完整验证)
Orchestrator-subagent信息瓶颈(关键细节在协调者处丢失);按问题类型而非上下文分解
Agent teams上下文隔离不清;合并冲突;Token 消耗过高
Message bus消息路由复杂;基础设施开销大
Shared state状态一致性冲突;调试困难;缺乏全局视图

实战建议

1. 从单一 Agent 开始

一个设计良好的单一 Agent + 适当的工具,往往比多智能体系统完成更多工作。多智能体系统引入开销:每个额外 Agent 都代表一个新的潜在故障点、额外需要维护的 Prompts,以及意外行为的另一个来源。

2. 只有当以下情况才使用多智能体

  • 上下文污染降低性能时:当子任务的上下文累积影响后续任务质量时
  • 任务可以并行运行时:当任务可自然分解为独立部分时
  • 专业化能改进工具选择或任务专注度时:当不同任务需要不兼容的工具集或专业领域时

3. 按上下文分解,而非按问题类型

问题类型分解(通常适得其反):按工作类型划分(一个 Agent 写功能,另一个写测试,第三个审查),会产生持续的协调开销。

上下文分解(通常有效):按上下文边界分解——处理一个功能的 Agent 也应该处理它的测试,因为它已经拥有必要的上下文。

4. 设置明确的验证检查点

无论选择哪种模式,都要确保有清晰的验证点,让 Subagents 可以在不需要完整上下文的情况下验证工作。


总结对比

模式协调复杂度适用场景代表应用
Generator-verifier需要明确验证标准的任务代码生成+测试、合规检查
Orchestrator-subagent⭐⭐需要任务分解和结果综合研究调研、代码审查
Agent teams⭐⭐⭐需要多角色持续协作复杂软件开发、商业策划
Message bus⭐⭐⭐事件驱动、松散耦合的工作流自动化工作流、事件处理
Shared state⭐⭐需要实时共享发现的研究任务研究综合、协作式探索

多智能体协同全貌


参考来源

  1. Anthropic 官方博客:《When to use multi-agent systems (and when not to)》 www.claude.com/blog/buildi…

  2. Anthropic 工程博客:《How we built our multi-agent research system》 www.anthropic.com/engineering…

  3. 宝玉(@dotey) X 转发x.com/dotey/statu…

  4. Claude Code Agent Teamswww.mindstudio.ai/blog/what-i…

  5. Multi-agent Coordination Patterns (daily.dev 整理): app.daily.dev/posts/multi…


本文基于 Anthropic 官方文档整理,保留原文核心内容,仅做中文化处理和必要结构调整。如需深入了解,建议阅读原文。