MCP vs A2A vs UCP vs AP2 vs A2UI:智能体协议栈详解

MCP、A2A、UCP、AP2 和 A2UI 常被描述为相互竞争的智能体标准。它们大多解决的是不同的互操作性问题。本指南将每个协议映射到其实际标准化的边界,并展示它们如何在同一个生产系统中协同工作。
已发布:
Aleksandar Stajić
Updated: 2026年9月25日 21:27
MCP vs A2A vs UCP vs AP2 vs A2UI:智能体协议栈详解

AI 智能体协议正在迅速增多:MCP、A2A、UCP、AP2、A2UI 以及相关标准越来越频繁地出现在同一张架构图中。它们常被描述为相互竞争的协议。但在实践中,它们大多是在不同边界上解决不同的互操作性问题。真正有用的问题不是“哪个协议会胜出?”,而是“系统中的哪种关系需要被标准化?”

核心错误:比较位于不同边界的协议

协议之所以有用,是因为两个独立实现的系统需要稳定的契约。只有当边界清晰时,这个契约才有意义。智能体与数据库对话,和智能体将工作委托给另一个智能体、购物者授权购买,或远程智能体请求原生应用渲染表单,所面临的互操作性问题并不相同。

Google 2026 年的开发者指南明确将 MCP、A2A、UCP、AP2、A2UI 及相关 UI 协议呈现为一组互补标准的栈。同一个示例工作流可以同时使用其中多个协议:用工具处理库存,用远程智能体处理供应商,用商业协议处理下单,用支付授权处理支出,用 UI 协议处理交互。

协议责任栈

协议标准化哪种关系?主要抽象主要不用于
MCPAI 应用 ↔ 工具、资源和数据工具、资源、提示词以及主机/服务器能力交换独立智能体协作或商业语义
A2A智能体 ↔ 独立智能体智能体发现、消息、任务、产物和长期协作直接的数据库/工具集成
UCP消费者/智能体界面 ↔ 商家商业系统商品/购物车/结账/履约/订单能力通用智能体通信
AP2用户/智能体意图 ↔ 支付授权授权指令、审批约束和可审计的智能体主导支付权限商品发现或通用结账传输
A2UI智能体 ↔ 用户界面宿主由可信原生组件渲染的声明式 UI 意图任意远程前端代码或智能体到智能体的任务委托

1. MCP:将智能体连接到能力

模型上下文协议(Model Context Protocol)是一项开放标准,用于将 AI 应用连接到工具、数据和可复用资源所在的外部系统。服务器暴露能力;MCP 主机连接到该服务器,并使这些能力可供模型或应用使用。

当前的 MCP TypeScript v2 文档正是用这些术语描述该协议:服务器暴露工具、资源和提示词,而开发环境或自定义应用等主机连接到它们。这使得 MCP 主要是一种能力集成协议。

在以下情况使用 MCP

  • AI 应用需要对工具或 API 的标准化访问。
  • 你希望一个能力服务器能够与多个兼容的 AI 主机配合工作。
  • 你需要对数据或资源的结构化访问,而不必将每个集成硬编码到每个智能体中。
  • 外部系统是能力提供者,而不是自主的对等智能体。

2. A2A:连接独立智能体

Agent2Agent(A2A)专为独立且可能不透明的代理系统之间的通信而设计。其当前的 v1.0 规范侧重于能力发现、消息传递、任务、工件、多模态内容以及长时间运行的协作,而无需一个代理向另一个代理暴露其内部工具、记忆或实现。

这种不透明性正是重要的边界。调用代理无需知道远程代理在内部使用的是 MCP、自定义工具、专有规划器、其他模型供应商还是人工升级。它需要的是一份用于发现能力和委派工作的契约。

A2A v1.0 还标准化了版本协商,并围绕通用数据模型支持多种绑定。其发布的 Agent Card 机制为客户端提供了一个标准发现点,用于了解代理的能力、支持的协议、身份验证要求和技能。

在以下情况下使用 A2A

  • 一个自主代理需要将工作委派给另一个自主代理。
  • 远程系统应保持不透明,隐藏于能力契约之后。
  • 任务可能是长时间运行的、异步的,或需要人工参与交互。
  • 代理使用不同的框架、语言、供应商或由不同组织构建。

MCP 与 A2A:垂直集成与水平协作

MCP 和 A2A 解决不同的互操作性问题

维度MCPA2A
关系
抽象
内部不透明性
长时间运行的工作

A2A 项目本身现在将这种区别描述为水平与垂直:MCP 将代理连接到内部工具和数据库,而 A2A 则实现跨代理系统的点对点协作。

3. UCP:标准化代理商务

通用商务协议(Universal Commerce Protocol)不是一种通用代理协议。它标准化了消费者界面、商家和支付提供商之间的商务流程。Google 的实现已经通过版本化配置文件和 API 支持购物车创建、结账、履约和订单生命周期等能力。

商家可以在 /.well-known/ucp 下发布 UCP 配置文件,描述服务、协议版本和能力。这种发现模式很重要,因为代理界面不应为每个商家都需要定制的结账契约。

UCP 也有意设计为可组合的。Google 的技术概述指出,它可以通过 API、A2A 和 MCP 集成,并与 AP2 兼容以实现代理支付授权。

在以下情况下使用 UCP

  • 工作流涉及商家产品、购物车、结账、履约或订单生命周期。
  • 你正在构建一个应与代理购物体验配合使用的商家界面。
  • 集成需要商务特定的语义,而不是通用工具调用。
  • 你想要一份可与 MCP、A2A 和支付协议共存的互操作商务契约。

4. AP2:证明代理被允许消费

代理商务引入了一个普通结账流程不必以同样方式解决的问题:代理可能在人类没有实时点击最终按钮的情况下进行交易。代理支付协议(AP2)解决了代理主导支付的授权、真实性和问责问题。

Google 的 2026 协议指南通过类型化授权来描述 AP2,这些授权捕获用户意图、支出约束和正在授权的具体交易。AP2 可以作为扩展与 UCP 一起工作:UCP 描述商务交易,而 AP2 提供代理有权执行支付的证据。

这种区别很重要。结账协议可以告诉商家应该购买什么。但它本身并不能证明谁授权代理消费、在什么限额下、针对哪个商家、持续多长时间,或者最终购物车是否仍在该授权范围内。

UCP 与 AP2:交易语义与授权

问题UCPAP2
购买的是什么?商务项目、购物车、结账与履约语义引用已授权的交易上下文
谁可以授权?不是协议的主要职责明确的代理/用户授权与委托模型
适用哪些支出约束?商务流程可以包含总额与结账数据授权护栏与意图限制
交易如何审计?订单与商务生命周期通过委托与收据的加密/可验证授权轨迹
它们可以协同工作吗?可以可以——AP2 可以扩展代理式商务流程

5. A2UI:让代理描述界面,而不拥有你的前端

代理到用户界面(A2UI)解决了另一个边界问题:远程或本地代理如何向宿主应用传达丰富的交互界面。A2UI 不发送任意的 HTML、CSS 和 JavaScript,而是使用声明式数据,由宿主通过其自己受信任的组件目录进行渲染。

这保留了宿主应用的设计系统和安全模型,同时仍然允许代理请求动态界面。A2UI v0.9 特别强调框架无关的 UI 意图以及跨 Web、移动端和其他客户端的流式更新。

Google 后来的 A2UI + MCP Apps 工作也表明,这些 UI 模型不一定互斥。声明式原生 UI 和更丰富的嵌入式应用体验可以根据任务共存。

在以下情况使用 A2UI

  • 远程代理需要请求表单、卡片、控件或其他交互式 UI。
  • 宿主应保留其原生组件、样式和安全边界。
  • 你不希望远程代理发布任意可执行的前端代码。
  • 同一代理定义的 UI 意图应能在不同的客户端框架中工作。

协议选择测试

不要从缩写开始。从需要互操作的关系开始。

按边界选择协议

1
1. 确定两个独立方
这是 AI 到工具、代理到代理、代理到商家、代理到支付授权,还是代理到用户界面?
2
2. 确定共享对象
契约是关于工具调用、任务、购物车、支付委托、工件还是 UI 描述?
3
3. 检查是否已存在领域协议
当问题是商务或授权时,优先使用商务或支付语义,而不是将所有内容编码为通用工具。
4
4. 保持本地内部事务本地化
如果远程方只需要 A2A 能力,不要将整个代理暴露为 MCP 工具,也不要让远程代理负责你的 UI 运行时。
5
5. 当工作流跨越边界时组合协议
一个工作流可以合理地跨越工具、代理、商务、支付和 UI 契约。
6
6. 独立地对每个契约进行版本控制
协议版本以不同的速度演进;不要将每个集成绑定到单一的整体应用版本。
7
7. 在每个边界保留授权
互操作性不能替代产品权限、工具授权、支付授权或数据访问策略。

一个现实的多协议工作流

示例:自主采购工作流

1
1. 使用 MCP 检查内部库存
采购代理调用内部 MCP 服务器暴露的库存和预测能力。
2
2. 使用 A2A 发现供应商代理
代理读取供应商的 Agent Card,并委托一个可用性和交货时间任务。
3
3. 使用 UCP 协商商务对象
供应商或商家界面返回结构化的购物车、结账和履约信息。
4
4. 使用 AP2 检查支出授权
将购买与用户或组织的签名委托、商家约束和支出限额进行比较。
5
5. 通过 A2UI 请求批准
如果需要人工批准,代理发送声明式 UI 意图,宿主使用受信任的原生组件渲染批准体验。
6
6. 完成并审计
商务状态、支付授权、代理任务证据和应用审计记录在各自的边界内保持可追溯。

为什么一个通用代理协议不太可能取代所有协议

一个通用协议听起来更简单,直到它必须编码每个领域的语义。工具发现、长时间运行的代理协作、结账、支付授权和原生 UI 都有不同的生命周期、安全和正确性要求。

Web 本身也是通过分层协议演进的,而不是为每个问题使用一种消息格式。新兴的代理堆栈似乎正朝着同一方向发展:通用的水平原语、专门的领域契约以及明确的发现/版本控制。

因此,架构挑战从“哪个协议胜出?”转变为协议如何在不重复身份、授权、状态和审计语义的情况下干净地组合。

协议组合会产生新的故障模式

故障模式会发生什么架构控制
权限泄漏有效的工具或代理能力被当作执行业务操作的许可保持产品授权独立于协议能力发现
身份不匹配MCP 主机身份、A2A 代理身份和商务/支付身份指向不同的主体跨边界定义明确的主体映射
版本漂移一个协议升级,而依赖的适配器仍假设旧语义独立协商并固定协议版本
状态重复相同的购物车、任务或审批状态被复制到多个协议层中为每个领域对象定义一个权威所有者
审计碎片化工具追踪、代理任务、结账和支付证据无法关联跨协议边界携带关联 ID 和稳定的领域标识符
语义隧道一切都作为不透明 JSON 被强制通过通用协议在领域协议的语义能实质性提升正确性的地方使用领域协议

协议选择不能替代应用架构

开放标准降低了集成耦合,但它们并不决定你的领域模型、授权策略、事实来源、重试策略或验收标准。MCP 工具仍可能暴露错误的能力。A2A 代理仍可能返回糟糕的产物。UCP 结账仍可能包含过期的商家数据。AP2 授权仍可能被应用逻辑误用。

将协议视为独立演进组件之间的契约。将领域事实和重要策略保留在拥有它们的应用层中,然后使用协议使边界可互操作。

什么会改变这个答案?

如果协议趋同、一个标准正式吸收另一个标准,或者供应商跨多个边界标准化共享的身份和授权层,那么技术栈就会改变。UCP 已经通过支持 API、A2A 和 MCP,并与 AP2 集成而非取代它们,展示了组合能力。

答案也会因应用范围而变化。一个小型内部代理可能只需要 MCP。一个多公司工作流可能需要 A2A。一个商家可能需要 UCP 而不需要 A2UI。一个委托采购代理可能需要所有这些。使用能代表真实边界且不压平领域语义的最小协议集。

局限性

这里讨论的协议处于不同的成熟度水平,并具有不同的治理模型。A2A 已达到稳定的 v1.0 规范,而其他标准仍在快速演进。生态系统在不同供应商和框架之间的采用也不均衡。

本文关注架构责任,而非实现完整性。具体的认证方法、传输绑定、模式和扩展机制必须取自每个协议的当前规范。

结论

当把 MCP、A2A、UCP、AP2 和 A2UI 视为面向不同关系的协议,而不是五种试图标准化“代理”的竞争性尝试时,它们就更有意义。

MCP 暴露能力。A2A 协调独立代理。UCP 为商务提供自己的机器可读契约。AP2 增加可验证的支付授权。A2UI 为代理提供进入用户界面的安全声明式路径。因此,新兴的代理式网络并不是用 AI 取代协议;它是在 AI 周围创建新的协议栈。

常见问题

MCP、A2A、UCP、AP2 和 A2UI

A2A 是 MCP 的替代品吗?

不是。MCP 主要标准化 AI 应用如何访问工具、资源和数据。A2A 标准化独立代理系统之间的协作。远程代理可以在内部使用 MCP,同时对外暴露 A2A 接口。

在购物代理中,UCP 是 MCP 的替代品吗?

通常不是。UCP 提供商务特定的语义,如购物车、结账和履约。MCP 仍可暴露商家工具或数据,而 UCP 被设计为与 MCP 和 A2A 共存。

UCP 和 AP2 有什么区别?

UCP 标准化商务交互和交易生命周期。AP2 侧重于证明代理在定义的用户或组织约束下有权执行支付。

A2UI 解决了什么问题?

A2UI 让代理向宿主应用发送声明式 UI 意图,宿主应用通过受信任的原生组件渲染体验,而不是执行任意的远程前端代码。

一个代理应用可以使用所有这些协议吗?

可以。一个工作流可以使用 MCP 处理内部工具,使用 A2A 进行远程代理委托,使用 UCP 处理商务,使用 AP2 处理支付授权,使用 A2UI 进行人机交互。

我应该先实现哪个协议?

从互操作性边界开始。如果问题是工具访问,评估 MCP。如果是独立代理协作,评估 A2A。如果是商务,评估 UCP。如果是委托支付授权,评估 AP2。如果是可移植的代理驱动 UI,评估 A2UI。

术语表

关键代理协议术语

MCP
模型上下文协议,一种开放标准,用于将外部系统中的工具、资源和提示暴露给兼容的 AI 主机。
A2A
Agent2Agent 协议,一种开放标准,用于通过消息、任务和产物发现独立代理系统并与之协作。
UCP
通用商务协议,一种开放标准,用于消费者界面、企业和支付提供商之间可互操作的代理式商务旅程。
AP2
代理支付协议,一种开放标准,用于在代理主导的支付中表示和验证授权、意图和问责。
A2UI
代理到用户界面,一种声明式协议,允许代理请求使用宿主应用受信任组件渲染的 UI。
协议组合
在一个工作流中使用多个协议,每个协议负责不同的互操作性边界,而不是强制所有语义通过一个契约。

主要来源与延伸阅读

Google Developers — AI 智能体协议开发者指南

一份实用概览,展示 MCP、A2A、UCP、AP2、A2UI 及相关协议如何在一个多步骤智能体工作流中协同运作。

模型上下文协议 — TypeScript SDK v2

当前稳定版 SDK 文档,实现 2026-07-28 MCP 规范,并定义工具、资源、提示词以及主机/服务器集成。

A2A 协议 — v1.0 规范

当前 A2A 协议规范,涵盖智能体卡片、消息、任务、产物、绑定和版本协商。

A2A — 加入智能体 AI 基金会

当前项目定位将 A2A 视为横向的智能体协作层,而 MCP 则是纵向的工具/数据集成层。

Google Developers — 深入解析:通用商务协议

UCP 的技术概览,包括其商务原语及其与 API、A2A、MCP 和 AP2 组合的能力。

Google 通用商务协议 — UCP 配置文件

当前用于发布 UCP 服务和商家商务能力的版本化配置文件机制。

Google Cloud — 智能体支付协议(AP2)

关于一项开放协议的公告及其理由,该协议涵盖智能体主导支付中的授权、真实性和问责制。

Google Developers — A2UI v0.9

A2UI 的框架无关声明式模型,用于由宿主原生组件渲染的可移植智能体驱动界面。

Google Developers — A2UI + MCP Apps

声明式 A2UI 与更丰富的 MCP App 体验如何共存,而不是被视为互斥的 UI 模型。

Related Articles

什么是RAG?对其工作原理的最简单解释

什么是RAG?对其工作原理的最简单解释

RAG听起来很复杂,但想法很简单:在AI回答之前,它先从知识源查找有用的信息,并将该信息提供给语言模型。本指南使用一个简单的思维模型来解释RAG、LLM、状态、记忆和工具。

GPU 不是产品:面向未来的私有 AI 架构

GPU 不是产品:面向未来的私有 AI 架构

私有 AI 基础设施不应围绕单一 GPU 或单一模型来设计。更具韧性的做法是将快速推理 GPU、内存充裕的 AI 系统、物理 AI 节点以及可选的前沿云模型,统一置于一个具备能力感知的路由层之后。

答案有效性边界:相关性到可靠AI答案之间缺失的层级

答案有效性边界:相关性到可靠AI答案之间缺失的层级

一个来源可能相关、权威,但对于所提出的问题仍然是错误的。缺失的层次是适用性:答案成立的条件,以及迫使其被重新考虑的变化。本文介绍了“答案有效性边界”这一面向人类、AI搜索和RAG系统的来源设计模式。

AI代理应该记住、遗忘、重新计算还是再次检索什么?

AI代理应该记住、遗忘、重新计算还是再次检索什么?

长时间运行的代理不应记住所有内容。本文提供了一个实用的生命周期模型,用于决定哪些内容应属于持久记忆、哪些内容应重新检索、哪些内容重新计算更安全,以及哪些内容应过期或被取代。

如何判断一个AI智能体是否真正使用了正确的证据

如何判断一个AI智能体是否真正使用了正确的证据

AI代理可以引用来源,却仍然使用错误的证据。本文介绍一种实用方法,用于核查主张支持、来源权威性、适用性、出处,以及证据是否实际影响了答案。

OpenAI Agents API 与 Agents SDK 与 Responses API:2026 年你应该基于什么来构建?

OpenAI Agents API 与 Agents SDK 与 Responses API:2026 年你应该基于什么来构建?

OpenAI 的智能体技术栈在 2026 年 9 月发生了变化。本架构指南按运行时归属将 Agents API、Agents SDK、Responses API 和 Codex SDK 区分开来——以便团队能够选择正确的控制边界,而不是比较产品名称。

AI代理记忆不是RAG:如何区分记忆、检索、状态和上下文

AI代理记忆不是RAG:如何区分记忆、检索、状态和上下文

代理记忆、RAG、状态和上下文经常被当作可以互换的概念来使用。它们并不是。这个实用的架构模型将这四个层次区分开来,展示了每一层各自应处的位置,并解释了当系统将它们合并为一层时会出现什么问题。