返回课程目录

第 10 课  多智能体

众人拾柴火焰高,还是三个和尚没水喝?

预计 14 分钟  ·  系列:从 0 到 1 设计一个 Agent

本课要点

  • 理解多智能体的含义和价值
  • 判断什么时候需要多智能体
  • 掌握三种常见的协作模式:父子模式、管理者模式、蜂群模式
  • 了解多智能体之间的通信方式与 A2A 协议
  • 构建多智能体时的关键注意事项

1. 什么是多智能体

1.1 多智能体的含义

多智能体(Multi-Agent)就是把一个复杂任务交给多个 Agent 一起完成,而不是把所有事塞给一个 Agent。

每个 Agent 都是一个独立的“决策单元”,有自己的提示词 / 人设、上下文和工具,能独立决定下一步动作或把任务交给别人。

一个“团队”代替“一个人”,这就是多智能体。

1.2 单 Agent 和多 Agent 的区别

维度单 Agent多 Agent
能力边界一个 Agent 做所有事每个 Agent 各有所长
上下文自己维护一个上下文每个 Agent 各自维护自己的上下文
工具一个 Agent 掌握全部工具每个 Agent 只挂自己需要的工具
决策路径单线程、顺序推理可并行、可交接
调试难度链路清晰,相对简单协调环节多,调试更复杂
适用任务任务专一、上下文可控任务多分支、需要专业分工
一个通才,还是一支团队?
单 Agent
Agent

一个通才
搞定一切

多 Agent
Agent
Agent
Agent
Agent

多个角色配合
完成复杂任务

2. 什么时候需要多智能体

能用单 Agent 解决,就不要强行拆成多 Agent。多一层协作,就多一份成本和复杂度。

一个 Agent 完成任务有困难

系统提示词膨胀、工具过多,容易开始“走神”。

不同子任务需要不同能力或工具

搜索、分析、写作等工作模式各不相同。

任务可以并行处理

子任务之间依赖较弱,可以同时跑,提升效率。

需要多个角色相互检查

例如写代码、审代码、写测试,互相监督。

任务需要的上下文超出单窗口容量

多个 Agent 联合起来,可以处理更大的信息量。

3. 多智能体的三种常见模式

按“权力集中度”从高到低,常见有三种协作模式。

父子模式

(Orchestrator-Worker)
父 Agent
子 Agent A搜索
子 Agent B分析
子 Agent C写作
  • 父 Agent 动态创建或调用子 Agent
  • 子 Agent 各自负责,汇总给父 Agent
  • 适合开放式任务,高度灵活

管理者模式

(Manager-Workers)
管理 Agent
专家 A检索
专家 B分析
专家 C写作
  • 长期固定的管理 Agent
  • 根据任务类型调度专业 Agent
  • 适合多角色协作、场景明确的任务

蜂群模式

(Swarm / Decentralized)
Agent
Agent
Agent
Agent
  • 没有固定的管理者
  • 每个 Agent 自主决定下一步
  • 适合探索型任务、创造性研究

3.4 三种模式的横向对比

固定分工 → 管理者模式探索 + 并行 → 父子模式开放协作 → 蜂群模式(谨慎)

4. 多智能体之间怎么通信

多智能体要协作,首先要能“说上话”。不同的 Agent 之间需要传递任务、上下文、中间结果等信息,并在合适的时候把任务交给下一个 Agent。

4.1 通信本质上在传什么

无论采用什么方式,Agent 之间的通信本质上是在传递以下内容:

传递内容含义典型场景
任务要做什么“帮我调研 X 公司的竞争对手”
上下文背景信息“我们的产品定位是 Y”
中间结果已经完成的产出“已经搜到 N 条候选公司”
状态当前进度“检索完成 80%,还剩 3 项”
控制权谁接管下一步“这个任务交给写作 Agent”

4.2 系统内部怎么通信

在同一个系统里,多个 Agent 可以通过不同的方式进行通信,常见做法有:

方式适用场景特点示例
结构化消息Agent 数量少、固定每条消息有 schema,容易校验{ "task": "...", "input": "..." }
共享状态父子模式父 Agent 把中间结果写到共享区,子 Agent 读取共享内存 / 数据库 / 缓存
任务队列蜂群、管理者模式每个 Agent 从队列里抢活,异步处理消息队列(如 Redis、SQS)
文件系统长任务、大输出子 Agent 把结果写文件,只回传“引用”,避免大段文本在对话里传递/outputs/report.md

4.3 跨系统 Agent 通信:A2A 协议

当 Agent 来自不同的公司、不同的团队、不同的云,就需要一套跨系统协议,这就是 A2A(Agent-to-Agent Protocol)。A2A 是 Google 在 2025 年 4 月发起、目前托管在 Linux 基金会下的开放协议,目标是:让任何框架、任何厂商的 Agent 都能互相对话。

核心概念

Agent Card一个 JSON 文件,描述“我能做什么,我怎么被调用”,相当于 Agent 的“名片”
Task任务对象,有完整生命周期(pending → in-progress → completed / failed)
Message / PartAgent 之间互发的小段内容,可以是文本、图片、文件等
Artifact任务最终产出

A2A 五大设计原则

  1. 1拥抱 Agent 能力允许以非结构化的方式工作
  2. 2基于现有标准建立在 HTTP、JSON-RPC 等成熟标准之上
  3. 3支持多模态不仅支持文本,还支持音频、视频、文件等
  4. 4安全优先内置身份认证、权限控制、企业级安全考虑
  5. 5兼容多生态可以与不同厂商的 Agent 无缝对接
公司 AAgent
A2A 协议标准化通信
公司 BAgent

5. 构建多智能体时需要注意什么

多智能体可以带来更强的能力,但也更复杂。下面是一些关键的注意事项:

5.1 明确分工与边界

每个 Agent 做什么,不做什么。避免职责重叠和相互干扰。

5.2 设计通信机制

选择合适的通信方式,明确消息格式、超时、重试和兜底逻辑。

5.3 评估和控制成本

多智能体会显著增加 token 和调用次数,需要在效果和成本之间找到平衡。

5.4 处理失败与异常

考虑超时、任务失败、输出不符合预期等情况,设计重试和兜底机制。

5.5 从简单开始,逐步迭代

先用少量 Agent 跑通效果,再逐步扩展,避免一开始就过度复杂。

6. 练习题

请选择最合适的选项,完成后查看解析。

练习 1

金融行业研究报告

练习 2

每日报表数据提取

点击选项后,可以看到每个选项的详细分析和建议。

本课产出

一份多智能体协作的核心概念、通信方式、A2A 协议和构建注意事项,并能在实际场景中判断是否需要多智能体。

进入下一课