导语
单个智能体能力受限于单一模型,所有工具集中一处,单点故障导致系统崩溃。多智能体协作通过专业分工和协同工作,让多个专长不同的智能体组成团队,发挥各自优势,突破单智能体能力边界。本文介绍六大协作模式、通信架构、Google ADK 实现与实战案例,适合需要构建复杂智能体系统的架构师与开发者。
TL;DR
- 核心:多智能体协作是将系统组织为多个专长不同、相互协作的智能体团队,通过任务分解、专业分工和协同通信完成复杂任务。
- 价值:各智能体发挥专长、工具按职责分组、故障隔离系统鲁棒、模块化易扩展、多任务并行执行。
- 模式:顺序交接、并行处理、辩论与共识、层级结构、专家团队、评审者模式。
- 架构:单智能体、网络模型、监督者模型、层级模型、自定义模型。
- 框架:CrewAI(高层抽象)、LangGraph(可视化流程)、Google ADK(丰富编排模式)、AutoGen(对话式协作)。
是什么:多智能体协作的核心定义
多智能体协作(Multi-Agent Collaboration):将系统组织为多个专长不同、相互协作的智能体组成的团队,通过任务分解、专业分工和协同通信,共同完成单个智能体无法处理的复杂任务。
关键机制(四步流程):
1. 任务分解 → 高层目标拆解为子问题
2. 角色分配 → 每个智能体负责特定职责
3. 协同通信 → 标准化通信协议
4. 结果整合 → 汇总各智能体输出
三大核心要素:
- 明确的角色和职责
- 智能体间的通信通道
- 任务流程或交互协议
可视化示意图:

图1:多智能体系统示例 - 展示多个智能体协同工作的架构
读图要点:不同智能体负责不同专业领域,通过通信协议协同完成复杂任务。

图2:智能体以各种方式进行通信和交互 - 展示不同的通信模式
图3:多智能体设计模式 - 从任务分解到结果整合的完整流程
常见误解澄清:
- ❌ 智能体数量越多越好:过多智能体会增加通信开销和协调复杂度,遵循"最小有效分工"原则。
- ❌ 所有任务都需要多智能体:简单任务用单智能体即可,复杂任务才需要多智能体协作。
- ❌ 多智能体会增加很多延迟:顺序模式会增加延迟,但并行模式可以减少总时间。
为什么:产生背景与适用场景
产生背景
单智能体的局限:
- 能力受限于单一模型:所有能力集中在一个模型上。
- 所有工具集中在一处:工具管理复杂,难以扩展。
- 单点故障导致系统崩溃:一个智能体失败,整个系统不可用。
- 难以扩展:添加新功能需要修改整个系统。
- 无法并行处理:只能顺序执行任务。
多智能体的优势:
- ✅ 各智能体发挥专长
- ✅ 工具按职责分组
- ✅ 故障隔离,系统鲁棒
- ✅ 模块化,易扩展
- ✅ 多任务并行执行
核心思想:分工合作,发挥协同效应,整体大于部分之和。
协作模式类型
1. 顺序交接(Sequential Handoffs)
智能体A → 处理 → 输出 → 智能体B → 处理 → 输出 → 智能体C
示例:研究员收集数据 → 分析师处理数据 → 编辑撰写报告
价值:管道式工作流,每步输出是下步输入。
2. 并行处理(Parallel Processing)
→ 智能体A →
任务 → 分解 → 智能体B → 合并结果
→ 智能体C →
示例:同时获取天气、新闻、股票数据,最后汇总
价值:加速处理,节省时间。
3. 辩论与共识(Debate and Consensus)
智能体A、B、C → 各自观点 → 讨论交流 → 达成共识
示例:多个专家智能体对决策方案进行评估和辩论
价值:多视角评估,决策更可靠。
4. 层级结构(Hierarchical)
管理智能体
/ | \
子管理 子管理 子管理
/ \ / \ / \
执行 执行 执行 执行 执行 执行
示例:CEO → 部门经理 → 员工
价值:分层管理,适合大规模复杂任务。
5. 专家团队(Expert Teams)
任务 → 研究专家 + 写作专家 + 编辑专家 → 协同产出
示例:市场研究员 + 文案 + 设计师 + 社媒专员
价值:专业领域深度协作。
6. 评审者模式(Critic-Reviewer)
创作智能体 → 初稿 → 评审智能体 → 反馈 → 修改 → 最终版
示例:代码生成 → 安全审查 → 质量检查 → 修正
价值:提高质量,减少幻觉和错误。
怎么做:通信架构与 Google ADK 实现
通信架构模型
| 模型 | 特点 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|---|
| 单智能体 | 独立运行 | 简单易管理 | 能力受限 | 独立子问题 |
| 网络模型 | 点对点通信 | 去中心化,鲁棒 | 通信开销大 | 弹性要求高 |
| 监督者模型 | 中心协调者 | 清晰权责 | 单点故障,瓶颈 | 需集中控制 |
| 监督者作为工具 | 提供资源支持 | 灵活,非强制 | 协调力度弱 | 辅助型协作 |
| 层级模型 | 多层管理 | 可扩展,分布决策 | 复杂度高 | 大规模系统 |
| 自定义模型 | 按需设计 | 极致灵活 | 设计难度大 | 特殊场景 |
Google ADK 协作模式实现
1. 层级结构(Hierarchical)
coordinator = LlmAgent(
name="Coordinator",
model="gemini-2.0-flash-exp",
instruction="协调子智能体工作",
sub_agents=[greeter, task_doer] # 父子关系
)
价值:父智能体动态委派任务给子智能体。
2. 循环执行(LoopAgent)
poller = LoopAgent(
name="StatusPoller",
max_iterations=10,
sub_agents=[process_step, ConditionChecker()]
)
价值:迭代执行直到满足条件。
3. 顺序执行(SequentialAgent)
pipeline = SequentialAgent(
name="MyPipeline",
sub_agents=[step1, step2] # step1输出→step2输入
)
价值:线性工作流,数据流式传递。
4. 并行执行(ParallelAgent)
data_gatherer = ParallelAgent(
name="data_gatherer",
sub_agents=[weather_fetcher, news_fetcher]
)
价值:多个任务同时执行,结果汇总。
5. 智能体作为工具(Agent as Tool)
image_tool = agent_tool.AgentTool(
agent=image_generator_agent,
description="生成图像的工具"
)
artist_agent = LlmAgent(
name="Artist",
tools=[image_tool] # 将另一个智能体当工具使用
)
价值:智能体可以像调用函数一样调用其他智能体。
对比与取舍:主流框架选型
框架对比表
| 框架 | 协作实现 | 特色 | 适用场景 |
|---|---|---|---|
| CrewAI | <code>Crew</code> + <code>Process.sequential/hierarchical</code> | 高层抽象,易用 | 快速原型,内容生成 |
| LangGraph | 图结构节点 | 可视化流程 | 复杂工作流 |
| Google ADK | <code>SequentialAgent</code>, <code>ParallelAgent</code>, <code>LoopAgent</code> | 丰富的编排模式 | 企业级应用 |
| AutoGen | 对话式协作 | 自主对话交互 | 研究实验 |
选型建议
选择 CrewAI 如果:
- 需要快速原型开发
- 内容生成类任务
- 高层抽象足够
选择 LangGraph 如果:
- 需要可视化工作流
- 复杂状态转换
- 需要精确控制
选择 Google ADK 如果:
- 使用 Google Cloud 服务
- 企业级集成需求
- 需要丰富的编排模式
选择 AutoGen 如果:
- 研究实验场景
- 需要自主对话交互
- 探索性项目
常见错误与排错
典型坑位
| 问题 | 症状 | 识别方法 | 修复建议 |
|---|---|---|---|
| 通信混乱 | 智能体间信息传递错误 | 检查通信格式和协议 | 明确角色和职责,使用标准化通信格式 |
| 智能体数量过多 | 通信开销大,协调复杂 | 检查智能体数量 | 遵循"最小有效分工"原则 |
| 单点故障 | 关键智能体失败导致系统崩溃 | 检查故障隔离机制 | 设计故障隔离,关键智能体要有备份 |
| 依赖关系混乱 | 执行顺序错误 | 检查依赖关系 | 明确依赖关系,按顺序执行 |
调试技巧
- 明确角色和职责:每个智能体的职责要清晰且不重叠。
- 使用标准化通信格式:定义清晰的交互协议。
- 利用框架提供的编排工具:使用框架内置的协作模式。
- 记录通信过程:记录智能体间的通信,便于调试。
FAQ
Q1:什么时候用多智能体?
A:当任务复杂到需要多种专业技能、多个阶段、或能从并行处理中受益时。单智能体搞不定,就考虑多智能体。
Q2:多智能体会增加延迟吗?
A:顺序模式会增加(串行调用),但并行模式可以减少总时间。权衡取舍。
Q3:如何避免智能体间通信混乱?
A:1) 明确角色和职责;2) 使用标准化通信格式;3) 定义清晰的交互协议;4) 利用框架提供的编排工具。
Q4:智能体数量越多越好吗?
A:不是。过多智能体会增加通信开销和协调复杂度。遵循"最小有效分工"原则。
Q5:如何处理智能体故障?
A:1) 设计故障隔离机制;2) 关键智能体要有备份;3) 实现降级策略;4) 监控和自动重试。
Q6:层级 vs 网络,选哪个?
A:
- 层级:任务明确,需要集中控制
- 网络:弹性优先,去中心化场景
延伸阅读与引用
学术论文
技术文章
总结
多智能体协作是突破单智能体能力边界的核心模式。通过专业分工、协同通信和结果整合,多个智能体可以共同完成单个智能体无法处理的复杂任务。六大协作模式(顺序交接、并行处理、辩论与共识、层级结构、专家团队、评审者模式)和多种通信架构(网络、监督者、层级)为不同场景提供了灵活的选择。