代理对代理(A2A)和模型上下文协议(MCP)是应用最广泛的人工智能协议中的两种,近来备受关注。乍一看,人们可能会认为“A2A 与 MCP”是非此即彼的选择,但实际上这两个协议解决的是不同的难题。本文将阐明什么是 A2A 和 MCP,明确它们在人工智能系统中的不同作用,并解释它们如何相互补充以实现企业人工智能工作流的整合。
什么是A2A(Agent-to-Agent)?
Agent2Agent(A2A)是谷歌推出的一项开放协议,它规范了人工智能代理的通信和协作方式。从本质上讲,A2A 允许由不同供应商构建或在不同平台上运行的独立人工智能代理形成一种共同的合作语言。使用 A2A,代理可以交换目标、共享上下文,并以安全、有序的方式相互调用操作。该协议的明确设计目的是允许跨越不同云、应用程序或服务的多代理工作流。A2A 基于 HTTP 等熟悉的网络标准构建,因此更容易集成到现有的 IT 堆栈中。
要了解 A2A 协议的工作原理,请参阅本文:A2A 如何工作?
什么是MCP(模型上下文协议)?
模型上下文协议(MCP)由 Anthropic(Claude 的母公司)推出,它允许将人工智能代理(或 LLM)连接到外部工具。如果说 A2A 是关于代理与代理之间的通信,那么 MCP 则是关于代理与资源之间的整合。它为人工智能模型访问模型自身参数之外的各种数据源、知识库和服务提供了一种统一的标准化方式。这就是为什么它通常被称为人工智能应用的 “USB-C 端口”。在此之前,开发人员必须为每个新工具或数据源编写自定义集成(导致一次性连接器的纠结)。MCP 以一个开放协议取而代之,因此任何符合要求的数据/服务连接器都能与任何具有 MCP 感知的代理协同工作。
要了解 MCP 的工作原理,请参阅本文:MCP 如何工作?
A2A与MCP
本表总结了 A2A 与 MCP 的不同作用:
对比项 | A2A (Agent-to-Agent) | MCP (Model Context Protocol) |
---|---|---|
目的 | 连接和协调多个代理(代理 ↔ 代理) | 连接代理与外部工具/数据(代理 ↔ 资源) |
主要功能 | 代理之间的任务委托;上下文和目标交换 | 工具和数据集成;为代理提供实时上下文 |
创建者 | Google(开放规范,合作伙伴参与贡献) | Anthropic(开放规范,多供应商采用) |
生态系统支持 | Microsoft(Azure AI Foundry, Copilot Studio)、Google、Atlassian、Salesforce、ServiceNow 等 | Microsoft(Copilot Studio)、Google、OpenAI、Anthropic(Claude)、Atlassian 等 |
关注点 | 代理间通信:安全性、信任和互操作性 | 代理扩展性:统一访问数据源和工具,保持代理的最新上下文 |
类比 | 代理间对话和团队合作的协议 | 连接代理到所需数据/工具的通用插头 |
主要区别
A2A 和 MCP 在人工智能架构的不同领域开展工作。以下是它们之间 3 个主要区别的简明分解:
- 交互范围:A2A 将代理相互连接起来。另一方面,MCP 将代理与外部工具和数据连接起来。谷歌将 A2A 定义为实现代理协作的标准,而克劳德的 MCP 则侧重于将代理与外部服务连接起来。
- 主要功能:A2A 处理代理之间的通信、任务委托和状态共享。MCP 通过一个统一的、基于工具的界面将单个代理与外部资源连接起来,从而为其提供功能。
- 设计原则:A2A 基于 HTTP/JSON 标准构建,支持代理发现和安全委托。MCP 使用 JSON-RPC,强调工具注册、数据访问和实时上下文反馈。A2A 将代理视为同行,而 MCP 则将工具视为可调用的服务。
它们如何独立工作
A2A 单独工作:想象一家公司在财务、营销和调度等领域拥有专门的人工智能代理。主代理可以使用 A2A 将预算或时间表规划等任务委托给其他代理。每个代理通过共享协议反馈结果。不过,如果没有 MCP,每个代理只能依靠其内部知识或硬连接。
单靠 MCP:想象一下,支持聊天机器人使用 MCP 连接到实时系统,如产品数据库、发货 API 和知识库。这种设置可使代理实时动态感知并采取行动。即使没有 A2A,MCP 也能将其变成一个工具丰富、反应灵敏的助手。但是,它无法协调多个代理来解决复杂或多步骤的问题。
这两个协议各自都能带来明显的价值。A2A 实现了模块化团队协作,而 MCP 则允许代理拥有外部功能。
集成(更好地协作)
Source: Github Documentation
在现代 GenAI 系统中,A2A 和 MCP 通常一起运行,以实现智能协调:
- 分层合作:将 MCP 视为工具和数据访问的基础,将 A2A 视为在代理之间分配任务的协调层。以供应链为例,代理使用 MCP 获取库存数据、处理采购和管理交付,而 A2A 则使他们能够共享任务和结果。
- 统一开发体验:Microsoft Copilot Studio 展示了这种集成。开发人员可在一个界面中注册 MCP 工具并通过 A2A 链接代理工作流。A2A 处理流程,MCP 处理功能。
误解
尽管 A2A 与 MCP 起源于不同的组织,但它们不应该存在,因为它们不是相互竞争的标准:
- 问题不同:A2A 用于通信,而 MCP 用于执行。它们在不同的协议层上运行。
- 功能互补:A2A 实现了代理之间的任务共享。MCP 可让每个代理使用工具。
- 行业范围内的一致性:微软在 Copilot 中集成了 A2A,并注册了 MCP 工具。Anthropic 开源 MCP 并支持 A2A 的采用。
- 重要性无等级之分:两者都能解决关键挑战。没有 MCP 的 A2A 会导致代理无从下手;没有 A2A 的 MCP 会导致代理孤立无援。
这两种标准的所有者(谷歌和 Anthropic)都在积极鼓励在企业人工智能工作流程中整合这两种标准。使用这两种标准意味着要建立能够适应和扩展的代理系统。
优势互补
这两种协议都擅长处理特定的工作流程。但当它们一起使用时,就能相互弥补:
- 互操作性 + 可扩展性:A2A 跨系统连接代理。MCP 使每个代理都具有可扩展性。它们共同创建了模块化、灵活的生态系统。
- 专业化 + 合作:代理可以专业化,也可以合作。MCP 为它们提供工具,而 A2A 则允许它们分担工作量。
- 实时适应: MCP 提供新的环境,而 A2A 则在条件发生变化时重新安排任务。系统变得有弹性、反应灵敏。
- 管理 + 可观察性:MCP 管理工具访问,而 A2A 管理交互。它们共同提供了可追溯性、合规性和控制性。
它们共同为生成式人工智能系统带来了智能和互操作性。
小结
A2A 和 MCP 不是孤立的,而是协同标准。它们各自解决不同的问题。但是,当它们结合在一起时,就能使代理进行通信(A2A)并根据真实世界的上下文进行操作(MCP)。
微软首席执行官萨蒂亚-纳德拉(Satya Nadella)说得最好:
A2A和MCP等开放协议是实现代理网络的关键……[这样]客户就可以构建设计互操作的代理系统。
GenAI 的未来并不在于选择一种协议或另一种协议。而是要为我们的工作流程找到将它们结合起来的方法。它们共同为可互操作和工具感知的下一代智能系统奠定了基础。
评论留言