
Google 推出了一项名为 Agent2Agent (A2A) 的全新开放协议。
很多自媒体将其解读为「谷歌版 MCP」,但这是不对的。
准确来说,A2A 协议是对于 Anthropic 所推出的 MCP 协议的补充。
MCP 旨在为 Agent 提供实用的工具和上下文。
而 A2A 旨在促进不同 Agent 之间的交流和协作,即便它们是用不同的框架构建的。
下图就很好地展示了 MCP 协议和 A2A 协议如何协同工作的:
- 左侧的 Agent 采用 Vertex AI & ADK 开发
- 右侧的 Agent 采用 LLM & Agent Framework 开发
- 它们都使用了 MCP 协议,以连接到不同 API 与应用
- A2A 协议抹平了用不同框架开发的差异,使 Agent 之间能够灵活组合使用。

用更通俗的语言解释一下A2A协议的工作原理就是:

- A2A 协议中包含3个主要角色:终端用户(End User)、客户端(Client) & 远程智能体(Remote Agent)。
- 客户端与终端用户直接交互,它需要完成某些任务,但自己可能没有全部的能力。
- 不同的远程智能体拥有不同的专业能力,它们用"智能体卡(Agent Card)"来展示自己的能力。

- 通过 A2A 协议,客户端可以发现并连接到合适的远程智能体。
- 客户端与多个远程智能体进行安全的通信和协作,共同完成任务。
整个过程是自动化的,避免了人工协调的繁琐。
核心思想就是:
不同的 Agent 可以根据各自的专长相互合作,为用户提供更好的服务。
用一个生活中的例子来类比就是:
- 假设有一家汽车修理厂,该修理厂的老板(Client)雇佣了一些工人(有特定专长的 Remote Agent)。

- 这些工人使用专用的工具来诊断和维修车辆故障。MCP 协议就是将工人们与他们使用的特定工具连接起来的协议。

- 在维修过程中,由老板与客户(End User)直接进行沟通,但老板自身没有维修技能。

-
老板根据客户描述的问题,以及每个工人所展现的专长(Agent Card),把维修任务具体委派给最合适的工人。
-
A2A 协议支持老板和工人之间持续的双向沟通,允许老板根据工人的反馈和进展,实时调整维修计划,最终完成维修任务。

以上。