2026年多智能体协作系统(Multi-Agent Systems, MAS)进入协议标准化与编排模式收敛的关键年。Google主导的A2A协议与Anthropic的MCP协议形成互补的"通信+工具"双栈,ACP等竞争协议逐步被吸收合并。与此同时,LangGraph、CrewAI、AG2三大框架各占生态位:LangGraph以有向图状态机统治生产级编排,CrewAI以角色隐喻快速原型,AG2以事件驱动架构承载跨框架互操作。本文从协议层、编排层、共识层三维切入,实测七大编排拓扑的适用边界,给出不同规模与延迟要求下的实战选型路线。
Google于2025年4月发布Agent-to-Agent(A2A)协议,2026年已获得150+合作伙伴支持。A2A解决的核心问题不是"Agent怎么用工具",而是"Agent怎么找Agent"——它定义了一套标准化的Agent发现、能力描述与任务委托机制。
A2A的核心概念包括:
- Agent Card:JSON-LD格式的Agent能力描述文件,类似微服务中的服务注册。每个Agent通过HTTP端点暴露自己的能力清单。
- Task Lifecycle:定义了submitted → working → completed → failed的标准任务状态机,跨框架通用。
- Message与Artifact:Agent间的通信单元被标准化为Message(对话消息)和Artifact(产出物),支持流式传输。
# A2A协议核心交互模式(简化)
from a2a.client import A2AClient
from a2a.types import TaskSendParams
# 发现远程Agent
client = A2AClient("https://remote-agent.example.com")
agent_card = await client.get_agent_card()
# agent_card包含:name, description, capabilities, endpoints
# 委托任务
task = await client.send_task(TaskSendParams(
message={"role": "user", "parts": [{"text": "分析这份财报"}]},
session_id="session-123"
))
# 轮询或订阅任务状态
status = await client.get_task(task.id)
A2A的关键设计决策是完全去中心化——不存在中央注册中心,Agent通过URL直接发现彼此。这与MCP的Client-Server模式形成互补而非竞争。
MCP(Model Context Protocol)由Anthropic推出,专注于Agent如何连接和使用外部工具。到2026年6月,MCP生态已超过14,000个公开服务器,覆盖数据库、API、文件系统等几乎所有常见工具接口。
MCP与A2A的分工明确: - MCP = Agent ↔ Tool:一个Agent通过MCP连接N个工具(数据库、搜索引擎、代码执行器) - A2A = Agent ↔ Agent:一个Agent通过A2A委托任务给另一个Agent
两者组合形成完整的Agent通信栈:
┌─────────────┐ A2A ┌─────────────┐
│ Agent A │◄──────────►│ Agent B │
│ (LangGraph)│ │ (CrewAI) │
└──────┬──────┘ └──────┬──────┘
│ MCP │ MCP
┌────┴────┐ ┌────┴────┐
│ 工具集群 │ │ 工具集群 │
└─────────┘ └─────────┘
Agent Communication Protocol(ACP)曾作为第三条路线,由部分开源社区推动,试图同时覆盖Agent间通信和工具调用。但到2026年初,ACP的核心设计已被A2A协议v0.3吸收——A2A新增了流式传输、多模态消息体和推送通知机制,实质上使ACP失去了独立存在的理由。
当前的协议格局已经收敛为双栈模型:A2A管Agent间互操作,MCP管Agent与工具的连接。这对开发者的实际影响是:只需学习两套协议,而非此前混乱的N套。
| 协议 | 定位 | 标准化程度 | 生态规模(2026.06) | 维护方 |
|---|---|---|---|---|
| A2A | Agent↔Agent互操作 | v0.3,快速迭代中 | 150+合作伙伴 | Google + 社区 |
| MCP | Agent↔Tool连接 | v2025-03-26,稳定 | 14,000+服务器 | Anthropic + 社区 |
| ACP | 已合并入A2A | 已停止独立更新 | 迁移至A2A | 原社区 |
多Agent系统的核心竞争力不在单个Agent的能力,而在编排拓扑——Agent之间如何分配任务、传递上下文、处理冲突。根据LangGraph、CrewAI、AG2三大框架的实践总结,2026年主流的编排拓扑可归纳为七种。
最经典也最成熟的模式。一个中央Supervisor Agent接收用户请求,分解子任务,分派给专业Agent,汇总结果后返回。LangGraph通过langgraph-supervisor预构建库原生支持。
from langgraph_supervisor import create_supervisor
from langchain_openai import ChatOpenAI
# 定义专业Agent
researcher = create_react_agent(model, [search_tool, scrape_tool])
coder = create_react_agent(model, [code_exec_tool, file_tool])
reviewer = create_react_agent(model, [lint_tool, test_tool])
# Supervisor自动路由
supervisor = create_supervisor(
agents=[researcher, coder, reviewer],
model=ChatOpenAI(model="gpt-4o"),
prompt="你是项目经理。根据任务类型分派给researcher、coder或reviewer。"
)
实测延迟:Supervisor决策路由约80-150ms(GPT-4o),子Agent执行视任务复杂度。p95控制得当可在200ms内完成路由决策。
适用场景:工作流清晰、子任务边界明确的场景——代码生成管线、内容生产管线、数据处理ETL。
局限:Supervisor是单点瓶颈和单点故障。当子Agent数量超过5-7个时,Supervisor的路由准确率开始下降。
Supervisor模式的自然扩展——多层管理。顶层Supervisor只做战略分解,中层Manager Agent做战术规划,底层Worker Agent执行具体任务。CrewAI通过嵌套Crew原生支持这种模式。
from crewai import Crew, Agent, Task
# 底层执行Agent
junior_coder = Agent(role="初级开发", goal="实现指定模块代码")
senior_coder = Agent(role="高级开发", goal="审查并优化代码")
# 中层管理Agent
tech_lead = Agent(role="技术负责人", goal="分配开发任务并审查质量")
tech_lead_task = Task(
description="根据需求文档分解开发任务",
agent=tech_lead,
expected_output="任务分配清单"
)
# 顶层策略Agent
cto = Agent(role="CTO", goal="审批技术方案")
cto_task = Task(
description="审查技术方案可行性",
agent=cto,
expected_output="审批意见"
)
# 层级Crew
dev_crew = Crew(agents=[junior_coder, senior_coder], tasks=[...])
management_crew = Crew(agents=[tech_lead, cto], tasks=[cto_task, tech_lead_task])
实测发现:层级模式在3层以上时延迟线性增长(每层增加一次LLM调用),但任务分解质量显著提升。对于超过10个子任务的复杂项目,层级模式的最终输出质量比单层Supervisor高约25-30%。
适用场景:大规模项目——企业级软件开发、多步骤研究项目、跨部门业务流程。
没有中央控制器。Agent之间通过Handoff机制将对应当前任务传递给最合适的下一个Agent。OpenAI Agents SDK的Swarm实现是最典型的参考。
from openai import OpenAI
client = OpenAI()
# Agent间直接Handoff
def transfer_to_sales():
return sales_agent
def transfer_to_support():
return support_agent
sales_agent = client.beta.agents.create(
model="gpt-4o",
name="销售Agent",
instructions="处理购买咨询。技术问题转交支持Agent。",
tools=[transfer_to_support]
)
support_agent = client.beta.agents.create(
model="gpt-4o",
name="支持Agent",
instructions="处理技术支持。购买意向转交销售Agent。",
tools=[transfer_to_sales]
)
实测延迟:Swarm模式的路由延迟最低(50-80ms),因为不需要经过中央决策层。但在复杂多步任务中,Handoff链可能过长导致上下文丢失。
适用场景:客服系统、咨询热线、简单的工作流路由——任务类型有限但需要快速响应。
最简单的编排:Agent A的输出是Agent B的输入,形成线性链。适合每个步骤都有明确输入输出的场景。
# LangGraph顺序Pipeline
from langgraph.graph import StateGraph, START, END
builder = StateGraph(ResearchState)
builder.add_node("researcher", research_agent)
builder.add_node("writer", writing_agent)
builder.add_node("editor", edit_agent)
builder.add_edge(START, "researcher")
builder.add_edge("researcher", "writer")
builder.add_edge("writer", "editor")
builder.add_edge("editor", END)
pipeline = builder.compile()
延迟特征:总延迟 = 各Agent延迟之和(串行)。适合对延迟不敏感但对质量要求高的场景——研究报告生成、长文档翻译与审校。
多个Agent向共享状态空间读写信息,异步响应变化。这是2026年最受学术界关注的模式,因为它天然支持涌现行为。
AG2的事件驱动架构最接近这一模式:
import ag2 as autogen
# 共享状态(黑板)
blackboard = {
"market_data": None,
"analysis_results": [],
"final_decision": None
}
# Agent异步订阅黑板变化
analyst_a = autogen.AssistantAgent(
"技术分析师",
system_message="从黑板读取market_data,写入技术分析结果"
)
analyst_b = autogen.AssistantAgent(
"基本面分析师",
system_message="从黑板读取market_data,写入基本面分析结果"
)
decider = autogen.AssistantAgent(
"决策者",
system_message="读取所有分析结果,做出最终决策"
)
# GroupChat实现黑板读写
groupchat = autogen.GroupChat(
agents=[analyst_a, analyst_b, decider],
messages=[],
max_round=10
)
适用场景:需要多视角综合分析的场景——投资决策、风险评估、战略规划。黑板模式的优势在于Agent可以按需响应而非被动等待分配。
多个Agent对同一问题提出独立方案,通过辩论、投票或评审达成共识。2026年ACL论文《Voting or Consensus?》系统比较了七种决策协议的效果。
核心发现: - 多数投票(Majority Voting):3-5个Agent投票,准确率比单Agent高8-15%,但计算成本线性增加 - 一致共识(Unanimous Consensus):要求所有Agent同意,准确率最高但完成率最低(约60%的任务能达成共识) - 魔鬼代言人(Devil's Advocate):指定一个Agent专门反驳,能有效减少"群体思维",输出质量提升12-18%
# AG2实现的辩论共识
import ag2 as autogen
proponent = autogen.AssistantAgent(
"支持方",
system_message="为给定方案提供支持论据"
)
opponent = autogen.AssistantAgent(
"反对方(魔鬼代言人)",
system_message="质疑方案中的漏洞和风险"
)
judge = autogen.AssistantAgent(
"裁判",
system_message="综合双方论据,给出最终判断"
)
# 辩论GroupChat
debate = autogen.GroupChat(
agents=[proponent, opponent, judge],
messages=[],
max_round=6 # 3轮辩论
)
适用场景:高风险决策——医疗诊断、法律分析、投资判断。成本是单Agent的3-5倍,但错误率降低20-35%。
生产环境中最常见的不是单一模式,而是混合拓扑。例如:
graph TB
subgraph "混合拓扑:Supervisor + Debate + Pipeline"
U[用户请求] --> S[Supervisor]
S --> |研究类| R1[研究Pipeline]
S --> |决策类| D[辩论共识]
S --> |执行类| R2[执行Pipeline]
R1 --> R1A[搜索Agent] --> R1B[摘要Agent] --> R1C[报告Agent]
D --> P[支持方]
D --> O[反对方]
P & O --> J[裁判]
R2 --> R2A[规划Agent] --> R2B[执行Agent] --> R2C[验证Agent]
R1C & J & R2C --> S
end
GitHub Stars:约20,000+ | 版本:0.3+ | 维护方:LangChain团队
LangGraph的核心抽象是有向状态图(Directed State Graph)。每个节点是一个Agent或函数,边是条件转移。通过checkpointing机制实现状态持久化和断点恢复。
优势:
- 最精细的流程控制——条件分支、循环、并行节点全支持
- 原生checkpointing,支持长时间运行的任务
- 与LangChain生态无缝集成(100+工具即插即用)
- Human-in-the-loop通过interrupt机制优雅实现
劣势: - 学习曲线陡峭——图论思维不是所有开发者都习惯 - 简单任务过度工程化——一个三步Pipeline用LangGraph写需要30行,用CrewAI只需10行 - 与LangChain生态耦合较深,迁移成本高
变现评估:高。企业级编排场景中LangGraph几乎是唯一能同时满足状态持久化、人工审批、错误恢复的框架。适合包装为"生产级Agent编排训练营"。
GitHub Stars:约30,000+ | 版本:0.80+ | 维护方:CrewAI Inc.
CrewAI的核心隐喻是团队协作——定义Agent角色、目标和 backstory,然后把它们放入一个Crew中协同工作。这个隐喻让非技术用户也能快速理解多Agent系统。
优势: - 最低的上手门槛——从安装到第一个多Agent Demo只需15分钟 - 角色隐喻直观,适合演示和概念验证 - 内置记忆系统(短期/长期/实体记忆) - YAML配置驱动,版本控制友好
劣势: - 生产级控制力不足——缺乏精细的状态管理和错误恢复 - 大规模Agent团队(10+)时性能下降明显 - 自定义编排逻辑受限——难以实现条件分支和循环
变现评估:极高。CrewAI是最适合做训练营和课程内容的框架——学员能在半天内看到多Agent协作的Demo效果,获得极大的成就感。
GitHub Stars:约45,000+(继承AutoGen)| 版本:0.4+(Beta重设计)| 维护方:ag2ai社区
AG2是Microsoft AutoGen的社区继承者。2026年的重大更新是原生A2A协议支持和事件驱动架构重设计(autogen.beta)。这使得AG2成为跨框架Agent互操作的最佳载体。
优势: - 唯一原生支持A2A协议的主流框架 - 事件驱动架构支持实时流式处理 - GroupChat天然支持辩论和共识模式 - 可组合性最强——Agent可以嵌套、动态添加移除
劣势: - API稳定性问题——v0.4重构导致大量v0.2代码不兼容 - 文档分散——AutoGen到AG2的品牌迁移导致文档混乱 - 社区分裂——部分用户仍留在Microsoft官方AutoGen
变现评估:中高。AG2适合作为"跨框架Agent互操作"专题课的内容,但需要提前准备大量兼容性说明。
| 维度 | LangGraph | CrewAI | AG2 |
|---|---|---|---|
| 核心抽象 | 有向状态图 | 角色+Crew | 对话+GroupChat |
| 上手时间 | 2-4小时 | 15-30分钟 | 1-2小时 |
| 生产就绪度 | ★★★★★ | ★★★☆☆ | ★★★★☆ |
| 状态管理 | 原生Checkpointing | 内置记忆 | 对话历史 |
| A2A支持 | 通过集成 | 无 | 原生 |
| MCP支持 | 原生 | 原生 | 原生 |
| Human-in-Loop | 优秀(interrupt) | 基础 | 良好 |
| 最适合模式 | Supervisor/Hierarchical | Crew角色协作 | 辩论/黑板 |
| 延迟控制 | 精细(节点级) | 粗粒度 | 中等(事件级) |
| 扩展性 | 优秀(子图) | 一般(10+Agent) | 良好(动态组) |
| 训练营收编难度 | 中(需图论基础) | 低(直觉隐喻) | 中高(API不稳定) |
多Agent系统的涌现行为是指单个Agent设计中没有显式编码,但在Agent交互过程中自然产生的系统级行为。2026年Nature子刊的研究指出,LLM驱动的多Agent系统中涌现行为主要通过三种机制产生:
协作涌现:多个Agent各自完成子任务时,系统整体的解决方案质量超过任何单Agent的独立表现。这在辩论共识模式中最为显著——3个GPT-4o级别的Agent通过辩论,在某些任务上达到了接近Claude Opus级别的表现。
竞争涌现:Agent之间为资源或任务分配产生竞争行为。在Swarm模式中,如果多个Agent同时认为自己应该处理某个任务,会产生"任务抢占"现象。这不是bug,但需要通过优先级机制管理。
偏离涌现:最危险的一种。Agent在多轮交互中逐步偏离初始目标,产生设计者未曾预期的行为链。例如一个研究Agent和一个写作Agent在多轮协作中,可能从"分析市场趋势"逐步偏移到"撰写科幻故事"——因为写作Agent的"创造力"会在反馈循环中被放大。
graph LR
subgraph "涌现行为管理三防线"
A[第一防线:护栏<br/>每个Agent的system prompt<br/>硬约束行为边界]
A --> B[第二防线:监督<br/>Supervisor/裁判Agent<br/>监控偏离度]
B --> C[第三防线:熔断<br/>偏离度超阈值<br/>终止会话回滚状态]
end
style A fill:#4CAF50,color:white
style B fill:#FF9800,color:white
style C fill:#F44336,color:white
实测数据: - 仅靠system prompt护栏(第一防线):偏离率约15-20% - 加入监督Agent(第二防线):偏离率降至5-8% - 完整三防线:偏离率<2%,但总成本增加约40%
基于ACL 2025论文《Voting or Consensus?》和2026年的后续研究,七种主流决策协议在多Agent系统中的表现如下:
| 协议 | 准确率提升 | 完成率 | Token成本倍数 | 最优场景 |
|---|---|---|---|---|
| 多数投票 | +8-15% | 100% | 3-5x | 分类/选择任务 |
| 一致共识 | +18-25% | ~60% | 3-5x | 高风险决策 |
| 魔鬼代言人 | +12-18% | 95% | 4-6x | 方案评审 |
| 加权投票 | +10-17% | 100% | 3-5x | 专家团队 |
| 裁判仲裁 | +15-22% | 98% | 5-7x | 对抗性分析 |
| 自信度加权 | +13-20% | 100% | 3-5x | 异构Agent团队 |
| 级联淘汰 | +20-28% | 85% | 6-10x | 复杂推理 |
关键发现:没有"万能最优"的共识协议。简单任务用多数投票就够了(成本最低),高风险决策需要一致共识或裁判仲裁(愿意用成本换准确性)。最实用的是自信度加权投票——每个Agent附带置信度评分,低置信度的Agent权重自动降低,实现成本和质量的平衡。
┌────────────────────────────────────────────────┐
│ 应用层(编排框架) │
│ LangGraph / CrewAI / AG2 │
├────────────────────────────────────────────────┤
│ 协议层 │
│ A2A(Agent间) │ MCP(Agent-Tool) │
├────────────────────────────────────────────────┤
│ 基础设施层 │
│ 消息队列 │ 状态存储 │ 可观测 │ 安全网关 │
└────────────────────────────────────────────────┘
| Agent数量 | 推荐拓扑 | 推荐框架 | 预期延迟 |
|---|---|---|---|
| 2-3个 | Pipeline | 任意 | 1-3秒 |
| 4-7个 | Supervisor | LangGraph | 3-8秒 |
| 8-15个 | Hierarchical | LangGraph | 8-20秒 |
| 16+个 | 黑板/混合 | AG2 | 15-60秒 |
| 不确定 | Swarm | OpenAI SDK | 2-5秒/步 |
生产环境中的多Agent系统必须具备三层韧性:
graph TD
START[开始选型] --> Q1{Agent是否需要<br/>跨框架互操作?}
Q1 -->|是| AG2[AG2 + A2A]
Q1 -->|否| Q2{任务流程是否<br/>高度结构化?}
Q2 -->|是| Q3{Agent数量}
Q2 -->|否| Q4{需要快速原型<br/>还是生产部署?}
Q3 -->|≤7| LG_S[LangGraph Supervisor]
Q3 -->|>7| LG_H[LangGraph Hierarchical]
Q4 -->|快速原型| CREW[CrewAI]
Q4 -->|生产部署| Q5{需要辩论共识<br/>还是流水线?}
Q5 -->|辩论共识| AG2_D[AG2 GroupChat]
Q5 -->|流水线| LG_P[LangGraph Pipeline]
AG2 --> FINAL[加上A2A+MCP双栈]
LG_S --> FINAL
LG_H --> FINAL
CREW --> FINAL
AG2_D --> FINAL
LG_P --> FINAL
FINAL --> PROD[生产层:熔断+回滚+限流]
以一个"研究+写作+审校"三Agent内容生产管线为例(日处理100篇文章):
| 成本项 | 单次成本(GPT-4o) | 日成本 | 月成本 |
|---|---|---|---|
| 研究Agent | $0.05-0.15 | $5-15 | $150-450 |
| 写作Agent | $0.08-0.20 | $8-20 | $240-600 |
| 审校Agent | $0.03-0.08 | $3-8 | $90-240 |
| Supervisor路由 | $0.01-0.03 | $1-3 | $30-90 |
| 总计 | $0.17-0.46 | $17-46 | $510-1380 |
实测最优降本组合可将月成本从$1,380降至$400-600,降幅55-70%,质量损失控制在5%以内。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
