Agent世界中的A2A和MCP协议解读

解码 Agent 世界中的 A2A 和 MCP 协议

最近,谷歌发布了一个新的 Agent 开放协议,称为 Agent2Agent,简称 A2A。与此同时,阿里云的百炼也宣布进军 MCP。让我们深入研究一下 A2A 和 MCP 的全部内容。

为了理解这些协议,可以类比成国家之间的外交。想象一下,每个 AI Agent 都是一个小国,有自己的语言和习俗。这些“国家”在同一栋大楼里设有大使馆,试图进行沟通、贸易和信息交流。

在理想情况下,这些国家将保持友好关系,并遵守一套明确的外交规则,使其能够无缝互动、签署协议,并在会议桌旁合作开展国际项目。

然而,现实情况是,每个大使馆都以不同的协议独立运作。因此,与“A国”启动一项简单的贸易协议需要满足大量的要求,包括条款、认证、翻译和专用密钥。与“B国”和“C国”打交道需要多次重复类似的程序。这种临时、分散和多方面的方法抬高了沟通成本,每次互动都会产生额外的“信息关税”。

过去,AI Agent 在尝试协作时也遇到了类似的困境。

例如,您可能有一个自动回复电子邮件的 Agent,另一个集成到日历应用程序中以帮助安排日程。然而,这些 AI 实体很难直接沟通,需要手动复制和粘贴信息,或依赖于定制构建的接口。

因此,AI Agent 孤立地运作,互操作性较差。这种碎片化让必须在多个 AI 应用程序之间导航的用户感到沮丧,并限制了 AI 的潜力。可以通过多 Agent 协作完成的复杂任务被人为地限制在单个孤岛中。

这种情况类似于二战后的局面,每个 AI Agent 都在自主行动,缺乏统一的规则,面临沟通障碍。当前的 AI 生态系统类似于战后废墟,需要遵守特定的接口和协议才能访问数据和功能。缺乏标准给每段新的协作关系都施加了额外的“关税”,导致 AI 生态系统脱节且效率低下,其特点是孤立和利己主义。

AI 行业正在探索建立一个普遍接受的协议的可能性,以促进 Agent 和外部工具之间的无缝交互。谷歌和 Anthropic 已成为领跑者,各自提出了解决方案:A2A 协议和 MCP 协议。

A2A 协议

A2A 协议是 Agent2Agent 的缩写,它使 AI Agent 能够直接沟通和协作。

A2A 协议的主要目标是使来自不同来源和供应商的 Agent 能够相互理解和合作,类似于世界贸易组织为减少贸易壁垒所做的努力。

通过采用 A2A,来自不同供应商和框架的 Agent 可以加入自由贸易区,使用通用语言进行沟通,并无缝协作以完成超出单个 Agent 能力范围的复杂任务。

为了说明 A2A 的运作方式,请考虑以下类比:

1. Agent = 国家外交官

每个 Agent 都充当代表国家大使馆的外交官。A2A 协议旨在建立统一的外交礼仪和沟通程序。以前,“A国”的外交官只能用法语沟通,而“B国”的外交官使用西里尔字母,而“C国”则要求通过古代金箔信件进行通信。A2A 协议确保所有参与者都可以使用预先商定的语言进行沟通,以相同的格式提交文件,并执行商定的结果。

2. Agent 卡 = 外交凭证 / 大使名片

在 A2A 框架内,每个 Agent 都需要发布一张“Agent 卡”,类似于外交官的名片,其中包含 Agent 的名称、版本、功能和支持的语言或格式等详细信息。

类似于外交官的名片表明他们的角色和隶属关系,Agent 卡列出了 Agent 的技能、身份验证方法和输入/输出格式。这使其他外交官能够快速识别和理解能力,从而最大限度地减少沟通障碍。

3. 任务 = 双边或多边外交项目

任务概念是 A2A 的核心。当一个 Agent 打算将任务委派给另一个 Agent 时,它会发出“合作项目意向书”。接受后,双方都会记录一个任务 ID,以跟踪进度并交换信息,直到完成。

用外交术语来说,一个国家可能会向另一个国家提议,“我们希望合作建设一条跨境高速铁路线;请派遣您的工程团队。”这反映了一个 A2A 任务,发起方概述了要求,远程 Agent 接受,双方定期更新整个项目的进度。

消息代表项目初始或中间阶段交换的通信,类似于外交电报、照会和使节交流。

4. 推送通知 = 外交使馆公告

在 A2A 中,如果任务是需要较长完成时间的长期项目,远程 Agent 可以通过推送通知更新发起方,类似于一个国家/地区提供有关长期基础设施项目的定期更新。这增强了异步协作能力。

5. 身份验证和安全 = 外交特权和协议

A2A 采用企业级身份验证策略,要求双方通信方验证凭据,以防止冒充或恶意窃听。这种机制与外交特权和协议类似。

从本质上讲,A2A 镜像了国际外交或商业协作的动态,强调标准化的沟通和安全。

MCP 协议

MCP 协议,或模型上下文协议,是 Anthropic 于 2024 年 11 月引入并开源的标准。

虽然 A2A 解决了 AI 外交官之间的沟通流程,但一个持续存在的挑战仍然存在:缺乏可靠的信息来源。即使是最雄辩的外交官或商业主管,如果没有关于国际形势和资源分配的准确信息,也无法有效地运作。

现代外交官依赖于外部工具,例如签证系统、国际结算系统和情报数据库,来履行其职责。同样,承担复杂职责的 Agent 必须连接到各种数据库、文档系统、企业应用程序,甚至硬件设备。

这可以比作建立一个全面的外交官情报机构,并授予他们访问工具以方便他们工作的权限。

以前,Agent 必须开发自定义插件并与不同的工具深度集成,这既费力又耗时。但是,现在可以使用 MCP 来简化该过程。

MCP 标准化了大型语言模型与外部数据源和工具之间的交互。Anthropic 将 MCP 比作 AI 应用程序的 USB-C 端口。

USB-C 用作设备的通用接口,通过单个端口处理充电和数据传输。MCP 旨在在 AI 领域创建一个通用接口,使各种模型和外部系统可以使用相同的协议进行连接,而不是每次都开发自定义集成解决方案。

连接到数据库、搜索引擎或第三方应用程序的 AI 模型,如果它们都支持 MCP,则可以无缝通信。

MCP 采用客户端-服务器架构:

1. MCP 服务器 = 统一情报机构

组织或个人可以将数据库、文件系统、日历和第三方服务封装到 MCP 服务器中。这些服务器遵守 MCP 协议,公开统一格式的访问端点,使任何符合 MCP 客户端标准的 Agent 都可以发送请求、检索信息或执行操作。

2. MCP 客户端 = 外交官使用的终端设备

Agent 外交官携带专用终端设备,使他们能够输入命令,例如“从财务系统中检索库存数据”、“向 API 提交请求”或“检索 PDF 文档”。

如果没有 MCP,与各种系统集成需要编写不同的访问代码,这很麻烦。但是,有了 MCP,支持该协议的客户端可以轻松地在不同的 MCP 服务器之间切换,检索信息和执行业务流程。

从本质上讲,MCP 促进了 AI Agent 和外部资源之间的无缝集成。

A2A 和 MCP 之间的区别

为了阐明 A2A 和 MCP 之间的区别,请考虑一个假设的国际峰会,各国元首(代表公司的 AI Agent)齐聚一堂,合作完成一项跨国任务,例如编写一份全球经济分析报告。

如果没有通用协议,这样的会议实际上是不可能的,因为每个代表都说不同的语言。但是,有了 A2A 协议,所有代表在进入会议之前都会签署“A2A 维也纳外交公约”,同意使用统一的格式进行沟通,表明自己的身份,说明自己的意图,并在回复时引用之前的发言 ID。

这使“Agent G”能够以 A2A 格式向“Agent O”发送消息,“Agent O”做出相应的回应。这标志着来自不同公司的 AI Agent 之间首次实现畅通无阻的沟通。

在讨论过程中,AI 代表需要查阅数据或使用工具进行分析。Anthropic 的“Agent A”建议使用 MCP 系统来获得外部数据或工具支持。

在会议厅旁边设置了一个“MCP 同声传译室”,由专家组成,他们可以在收到请求后通过 MCP 以统一的语言做出回应。

例如,“Agent Q”需要访问他们的云数据库进行计算。他们没有派人回到国内,而是发送了一个 MCP 请求,要求从数据库 X 获取数据。MCP 数据库管理员翻译该请求,检索结果,并以 MCP 语言回复“Agent Q”。整个过程对其他 Agent 来说是透明的,他们理解“Agent Q”引用的数据,因为 MCP 翻译采用公认的格式。

随着报告撰写的进行,“Agent G”和“Agent A”意识到他们需要整合各自的贡献。“Agent G”擅长数值分析,而“Agent A”擅长语言总结。

“Agent G”通过 A2A 沟通 GDP 增长率数据,“Agent A”通过 MCP 连接到 Excel 电子表格插件,验证数据趋势,并回复总结段落。

在这种情况下,A2A 促进了 Agent 之间的沟通,而 MCP 使 Agent 能够访问外部工具和信息。这些协议共同为 AI 版本的联合国创建了一个量身定制的通信协议。有了这些协议,AI Agent 可以有效地协作,形成一个互连的 AI 生态系统。

A2A 类似于外交沟通的专用热线,解决了直接的 Agent 沟通问题。MCP 类似于一个同声传译和资源共享系统,解决了智能实体与外部信息连接的问题。

A2A 和 MCP 的兴起预示着 AI 行业正在向协作而非竞争的方向发展。无数的 AI Agent 将像网站一样被部署,通过 A2A 发现和沟通,并通过 MCP 访问资源和共享知识。