谷歌发布 Agent2Agent (A2A) 协议,未来 “MCP+A2A“ 成标配?

昨晚,谷歌在Google Cloud Next 25大会上,开源了首个标准智能体交互协议——Agent2Agent Protocol(简称A2A)。

announce-a2a

A2A 将彻底打破系统孤岛,对智能体的能力、跨平台、执行效率产生质的改变,A2A 协议当前有 50 多家著名企业参与共建。随着加入的企业越来越多,会极大提升A2A的商业价值以及推动整个智能体生态的快速发展。

不出意外,本次大会重点在 AI Agent 上,除了 A2A 之外,谷歌还效仿 OpenAI 开源了 Agent 开发套件 ADK,内部测试工具 Agent Engine。

什么是 A2A

A2A 是一种开放协议,为 Agent 提供了一种标准的交互方式,使它们能够相互协作,无论底层框架或供应商是什么。

例如,一家大型电商公司使用了多种企业平台和服务。Atlassian 用于团队项目管理,Box 用于文件存储和共享,Salesforce 用于客户关系管理,Workday 用于人力资源管理。

以前这些平台上的 Agent 无法自由通信。现在通过 A2A 协议,这些企业平台可以安全、自由地自动化交互数据。

A2A 设计原则

A2A 是一种开放协议,为代理之间的协作提供了一种标准方式,与底层框架或供应商无关。协议遵循以下几个核心原则:

  • 拥抱 Agentic 能力。A2A 专注于使 agent 能够以自然、非结构化的方式进行协作,即使它们不共享内存、工具和上下文。我们正在实现真正的 multi-agent 场景,而不会将 agent 限制为 “工具”。谷歌正在启用真正的多 Agent 场景,而不是限制 Agent 成为一个工具。
  • 建立在现有标准之上。该协议建立在现有的流行标准之上,包括 HTTP、SSE、JSON-RPC,这意味着它更容易与企业日常使用的现有 IT 栈集成。
  • 默认安全。A2A 旨在支持企业级身份验证和授权,在发布时与 OpenAPI 的身份验证方案具有同等效力。
  • 支持长时间运行的任务。我们设计了 A2A,使其具有灵活性,并支持从快速任务到深度研究的各种场景,当人类处于循环中时,这些场景可能需要数小时甚至数天才能完成。在整个过程中,A2A 可以向用户提供实时反馈、通知和状态更新。
  • 模态无关。代理世界不仅限于文本,这就是为什么我们设计了 A2A 来支持各种模态,包括音频和视频流。

A2A 工作原理

A2A 的工作原理是通过促进客户端Agent和远程Agent之间的通信来实现的。客户端Agent负责制定和传达任务,而远程Agent则根据这些任务采取行动,以提供正确的信息或执行相应的操作。在这个过程中,A2A协议有以下几个关键能力。

首先,Agent 可以通过“Agent卡”来宣传它们的能力。这些“Agent卡”是以JSON格式存在的,它们能够让客户端Agent识别出哪个远程Agent最适合执行特定的任务。

一旦确定了合适的远程Agent,客户端Agent就可以利用A2A协议与之进行通信,将任务分配给它。

A2A Architecture

然后,任务管理是A2A协议中的一个重要环节。客户端和远程Agent之间的通信都是围绕完成任务展开的。协议定义了一个“任务”对象,这个对象具有自己的生命周期。

对于一些简单的任务,可能可以立即完成;而对于一些复杂的、长期的任务,Agent们可以相互沟通,以保持对任务完成状态的同步。当任务完成时,其输出被称为“工件”。

此外,A2A还支持Agent之间的协作。Agent们可以相互发送消息,这些消息可以包含上下文信息、回复、工件或者用户指令。通过这种方式,Agent们能够更好地协同工作,共同完成复杂的任务。

A2A Architecture

最后,A2A还具备用户体验协商的功能。每条消息都包含“部分”,这些部分是完整的内容片段,例如,生成的图像。

每个部分都有指定的内容类型,这使得客户端和远程Agent能够协商所需的正确格式,并且明确包括用户界面能力的协商,比如iframe、视频、网络表单等。这样,A2A就能够根据用户的需求和设备的能力,提供最佳的用户体验。

Spring AI Alibaba 已经支持了 MCP 协议发布于接入,目前正在推进 multi-agent 框架开发,并将于近期完成版本发布。

### MCP协议与A2A协议的区别对比 #### 协议设计目标 MCP协议的核心目标是为AI模型提供与外部工具、数据源及API资源的标准化交互接口,主要解决单个AI模型与外部系统的动态交互问题[^4]。相比之下,A2A协议由Google主导,旨在实现不同系统和平台间AI代理的标准化协作,重点在于打破智能体间的信息孤岛,支持跨厂商、跨框架的多代理协同生态系统[^4]。 #### 应用场景 MCP协议适用于知识检索、智能客服、代码助手等单任务场景,专注于解决AI模型与外部资源(如数据库、API)的对接问题[^4]。而A2A协议更适合用于复杂工作流、供应链管理等需要多代理协作的场景,强调代理之间的任务分配与状态同步[^4]。 #### 技术架构 MCP协议采用客户端-服务器架构(MCP Client、MCP Server、MCP Host),基于JSON-RPC 2.0协议,支持多轮交互和能力协商[^4]。A2A协议则基于HTTP(S)通道,使用Server-Sent Events实现流式数据传输,并定义了AgentCard(代理能力声明)、Task生命周期管理等标准组件[^4]。 #### 安全机制 在安全方面,MCP协议通过访问控制和数据加密来保护交互过程中的信息安全。A2A协议则更注重企业级身份认证和端到端加密,确保多代理协作环境下的安全性。 #### 典型应用 MCP协议的典型应用场景包括临床诊断AI连接医疗数据库,或者客服AI通过MCP调用数据库工具获取订单物流信息[^5]。A2A协议的典型应用则是招聘流程中HR代理与面试代理的协作,例如HR代理通过A2A通知物流AI代理请求生送达时间预测[^5]。 ```python # 示例代码:MCP协议调用外部数据库 import json_rpc_client def fetch_order_details(order_id): mcp_client = json_rpc_client.MCPClient("http://mcp-server.example.com") result = mcp_client.call_tool("get_order", {"order_id": order_id}) return result # 示例代码:A2A协议通知物流代理 import http_client def notify_logistics_agent(task_id, delivery_info): a2a_client = http_client.A2AClient("http://logistics-agent.example.com") a2a_client.send_event("task_update", {"task_id": task_id, "delivery_info": delivery_info}) ``` #### 总结 MCP协议关注的是单个AI模型与外部资源的标准化交互,而A2A协议则侧重于多智能体间的协作。两者的设计目标、应用场景和技术架构均存在显著差异,但在实际项目中可以协同使用,以满足不同的需求[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值