AI Evolution

7.5 多智能体协作(A2A)

A2A 协议旨在打破单个 Agent 的孤岛效应,构建一个能让不同来源、不同能力的 Agent 相互发现、通信和协同工作的“数字团队”。通过标准化的“简历”(Agent Card)、任务管理和协作机制,A2A 协议让开发者可以自由组合来自不同生态的 Agent,联合完成更复杂的跨领域任务,推动了 AI 从个体智能向群体智能的演进。

如果说单个 Agent 就像一名自主决策的数字员工,那么多智能体协作更像是一个由不同成员组成的数字团队。随着大模型能力边界扩展,单体 Agent 已无法覆盖所有复杂任务,如何让多个 Agent 分工协作、信息共享,成为智能体发展的关键方向。

7.5.1 什么是 A2A?

2025 年 4 月,Google 发布了 Agent to Agent协议,简称A2A,借助 A2A 协议,开发者可以构建能够与使用该协议构建的任何其他 Agent 建立连接的 Agent,让用户能够灵活地组合来自各种提供商的Agent。

简单来说,我们可以把 A2A 理解为 Agent 之间的“外交协议”,它的核心思想是打破单一 Agent 的孤岛效应,让不同来源、不同技能、不同厂商的 Agent 彼此兼容、协同合作。如图 7-8。

图 7-8 基于A2A的Agent协作流程图图 7-8 基于A2A的Agent协作流程图

基于 A2A 协议,用户无需关心底层实现差异,可以自由组合来自不同生态的 Agent 共同完成复杂任务。例如,一个擅长财务分析的 Agent 可以与专注法律咨询的 Agent 配合,联合为用户提供企业并购的全流程辅助。

7.5.2 A2A 工作流程

A2A 方便了客户端 Agent 与远程 Agent 之间的通信。客户端 Agent 负责制定和传达任务,而远程 Agent 负责执行这些任务,力图提供正确的信息或采取正确的行动。这种交互涉及几个关键功能:

  • 能力发现: Agent 可以使用 JSON 格式的 Agent Card(简历)来向其它 Agent 说明自己的能力,从而使客户端 Agent 能够识别出能执行任务的最佳 Agent,并利用 A2A 与远程 Agent 进行通信。
  • 任务管理: 客户端 Agent 与远程 Agent 之间的通信以完成任务为导向,Agent 在其中努力完成最终用户的请求。该“任务”对象由协议定义,并且具有生命周期。任务可以立即完成,而对于长时间运行的任务,每个 Agent 都可以进行通信,以便彼此之间保持同步,了解任务完成情况的最新状态。任务的输出被称为 Artifact(产物)。
  • 协作: 智能体可以相互发送信息,交流上下文、回复、产物或用户指令。
  • 用户体验协商: 每条消息包含若干“内容片段”,每个片段是完整的独立内容,例如生成的图像。每个片段都带有明确的内容类型,客户端与远程Agent可以据此协商所需的正确格式,并根据用户界面能力(比如:iframe、视频、Web 表单等)显式协商最终呈现方式。

我们使用一个经典“披萨店外卖协作”的案例来简单说明一下 A2A 协议的工作流程,在这个示例中共有以下角色:

  • 用户: 想吃披萨的人类。
  • Client Agent: 用户的个人助手AI。
  • Remote Agent 1: 披萨店智能体(负责接单和制作)。
  • Remote Agent 2: 外卖骑手智能体(负责配送)。

当用户想要吃披萨时,于是和个人助手(Client Agent)说:“我想吃大号超级至尊披萨”。

个人助手(Client Agent)查询披萨店智能体(Remote Agent 1)的 Agent Card,发现它支持“订披萨”服务。

{
  "agent_name": "疯狂披萨店",
  "capabilities": ["下单", "定制口味", "查询进度"],
  "auth_required": false,
  "supported_formats": ["text", "菜单表单"]
}

于是个人助手(Client Agent)向披萨店智能体(Remote Agent 1)发送了一个任务请求。

{
  "task_id": "pizza-20250625-001",
  "task_type": "订披萨",
  "parameters": {
    "口味": "超级至尊",
    "尺寸": "大号",
    "地址": "北京海淀区A栋101"
  }
}

披萨店智能体(Remote Agent 1)收到 Task 请求后,开始制作披萨,这中间通过 SSE 的方式实时推送状态更新给个人助手(Client Agent),比如刚和好面、正在烤。

披萨制作完成后,披萨店智能体(Remote Agent 1)再次通过 A2A 协议触发外卖骑手智能体(Remote Agent 2),然后发送配送任务。

外卖骑手智能体(Remote Agent 2)完成任务后,返回订单及配送结果。

最后个人助手(Client Agent)将结果展示给用户:“您的超级至尊披萨已送达!”

7.5.3 A2A VS MCP

虽然 A2A 和 MCP 都属于大模型生态中的重要协议,但两者的关注重点、应用层级和技术作用存在本质区别。

A2A 协议面向多智能体协作场景,旨在解决不同 Agent 之间的信息互通与任务协同问题。相比之下,MCP 协议更侧重于大模型与外部世界之间的接口标准。

具体来说,A2A 强调的是 Agent 之间的"对话",定义了 Agent 如何相互发现、交换信息和协同工作;而 MCP 则专注于单个大模型如何与外部工具和服务进行交互。这就像 A2A 是团队成员之间的沟通协议,而MCP则是个人与工具箱之间的使用规范。

从架构层面看,A2A 是构建在 MCP 之上的更高层协议。MCP 解决了单个智能体如何使用工具的问题,而 A2A 则进一步解决了多个具备工具使用能力的 Agent 如何协同工作的问题。

在实际应用中,这两种协议往往是互补的。一个完整的 AI 系统生态中,单个 Agent 可能通过 MCP 调用工具扩展自身能力,同时又通过 A2A 与其他 Agent 形成协作网络,共同完成更复杂的任务。

Edit on GitHub

Last updated on