Google A2A 协议解释及与 MCP 协议的关系

共计 1522 个字符,预计需要花费 4 分钟才能阅读完成。

继 MCP 协议大火之后,Google 又推出了基于开源协议的 A2A 协议,本文旨在深入浅出地介绍 A2A 协议的组成、原理以及与 MCP 协议的关系。阅读本文前,最好提前熟悉一下 MCP 协议的主要内容,本文不会深入协议细节,只会介绍 A2A 协议与 MCP 协议的区别与主要亮点。

A2A 协议介绍

open protocol called Agent2Agent (A2A) 协议是 Google 基于当前火热的智能体协作技术提出的开源协议。

组成部分

A2A 协议包括的角色就三类:

  • 用户
  • Local Agent
  • Remote Agent

其中Local Agent 直接负责与用户和 Remote Agent进行交互,更加偏向于传统多智能体协作框架中的 Planner,负责基于用户提出的问题,进行任务编排,以及发现与协调其它 Agent 完成相应任务,返回最终结果。

主要亮点

异步任务,支持短时任务、长时任务的核心概念

A2A 协议原生支持异步任务,A2A的传输协议均为主流传输,包括HTTP、JSON-RPC等。
在 Agent 任务执行层面,通常任务执行时间跨度比较大,有秒级任务、天级人物甚至月级人物,在传输协议层面,A2A 协议支持2种异步方式:

  • 基于HTTP server-sent协议,也是传统的sse协议方式,通过http建立长连接,remote agent 端推送任务进度
  • 基于callback方式,也是传统的任务回调方式,发送任务时,local agent 将回调地址发送给 remote agent,当执行到需要与 user、local agent 交互时,通过回调 url 进行交互。

多模态协议支持,未来 类人智能体 需要多种模态的输入、输出

协议层面,支持 agent 定义对应 skills 的模态。注意 A2A 协议的模态定义方式与 HTTP 协议的请求头、返回头类似,比如:
Google A2A 协议解释及与 MCP 协议的关系

Agent 任务之间的交互

在执行一个完整的任务时,通过需要与用户进行多次的交互,以补充任务进行所缺的一些参数信息,比如:Agent "Phone Purchase" 这个智能体主要技能是帮助用户选择和购买手机,当用户提出需要购买手机时,由 local agent 首先基于注册中心寻找最适合完成任务的 agent,也就是 "Phone Purchase",任务交给 remote agent 执行过程中,需要询问用户手机的价位、手机大小、手机系统、手机品牌等用户偏好,这些交互基于上面异步任务的状态实现 agent 之间的交互。
同时,还包括 remote agent 与 local agent 之间的 User experience negotiation(用户体验协商),比如 local agent 支持以text、html的形式与用户进行展示,那么 remote agent 在返回内容时,可以与 local agent 进行协商,以最好的 html 渲染的内容呈现给用户。

与MCP的关系

通过 Google 发布的文档可以看到,Google 本身是非常拥抱 MCP 协议,但是 A2A 协议与 MCP 协议本身是互补关系,对于使用的场景和对象不同,借用官方的一张图来说明:
Google A2A 协议解释及与 MCP 协议的关系

MCP协议主要针对 LLM 与 Tool 之间的交互,当然还包括Resources、Prompts等原生协议支持的内容。
A2A协议主要针对 Agent 与 Agent 之间的交互,设计的角色包含三种:用户、客户端、服务端,服务端同样也跟 MCP 协议一致,采用能力发现的方式,以黑盒的形式暴露相关能力,符合现在多智能体协作的主要流程。
A2A协议除了协议本身的标准化之外,还增加了Agent之间的交互、Agent的短时任务、长时任务、Agent多模态的兼容设计。

总结

从协议层面,A2A 更符合当前多智能体协同的规范,特别是考虑到异步通知、多模态的支持。可以看到,大厂判断未来多智能体协作的方向会越来越火。

正文完
 
root
版权声明:本站原创文章,由 root 2025-04-12发表,共计1522字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。