TL;DR

Google 发布《AI Agent Protocols 开发者指南》,提出 6 大开放标准(MCP、A2A、UCP、AP2、A2UI、AG-UI),旨在解决 AI Agent 生态的”碎片化集成”问题。核心主张:停止为每个工具编写自定义集成胶水代码,拥抱可互操作的 Agent 未来。本文深度解析这 6 大协议及其关系。


📋 本文结构

  1. 为什么需要 Agent 协议
  2. 6 大协议全景图
  3. 协议详解:MCP
  4. 协议详解:A2A
  5. 协议详解:UCP、AP2、A2UI、AG-UI
  6. 协议之间的关系
  7. Google ADK 的实践
  8. 对比:OpenAI vs Google 生态
  9. 结论:协议战争还是协议和平

为什么需要 Agent 协议

当前痛点:集成地狱

现状

Agent A → 自定义集成 → 工具 X
Agent A → 自定义集成 → 工具 Y
Agent A → 自定义集成 → 工具 Z

Agent B → 自定义集成 → 工具 X
Agent B → 自定义集成 → 工具 Y
...

问题

  • N 个 Agent × M 个工具 = N×M 个集成
  • 每个集成都是定制开发
  • 维护成本爆炸

协议的价值

有了标准协议后

Agent A ──┐
Agent B ──┼──→ 标准协议 ──→ 工具 X
Agent C ──┤         ├────→ 工具 Y
...       └─────────┴────→ 工具 Z

好处

  • 一次实现,到处使用
  • 降低集成成本
  • 促进生态繁荣

6 大协议全景图

协议总览

协议 全称 作用层级 核心功能
MCP Model Context Protocol 工具/数据层 Agent 与工具/数据的通信
A2A Agent-to-Agent Protocol Agent 间层 Agent 之间的协作通信
UCP Universal Control Protocol 控制层 跨平台 Agent 控制
AP2 Agent Protocol 2.0 传输层 高效数据传输
A2UI Agent-to-User Interface 用户界面层 Agent 与界面交互
AG-UI Agent Graphical User Interface 图形界面层 Agent 图形化呈现

分层架构

┌─────────────────────────────────────────┐
│  表现层:AG-UI / A2UI                   │
│  图形界面、用户交互                      │
├─────────────────────────────────────────┤
│  应用层:A2A                            │
│  Agent 之间的协作                        │
├─────────────────────────────────────────┤
│  工具层:MCP                            │
│  Agent 与工具/数据的交互                  │
├─────────────────────────────────────────┤
│  控制层:UCP                            │
│  跨平台控制与管理                        │
├─────────────────────────────────────────┤
│  传输层:AP2                            │
│  高效数据传输                           │
└─────────────────────────────────────────┘

协议详解:MCP

Model Context Protocol

定位:Agent 与外部世界(工具、数据、服务)的通信协议。

核心概念

# MCP 客户端示例
from mcp import Client

client = Client()

# 发现可用工具
tools = await client.discover_tools()
# [
#   {"name": "calculator", "description": "计算数学表达式"},
#   {"name": "weather_api", "description": "获取天气数据"}
# ]

# 调用工具
result = await client.call_tool(
    "calculator",
    {"expression": "2 + 2"}
)
# {"result": 4}

关键特性

特性 说明
工具发现 Agent 自动发现可用工具
类型安全 强类型的输入/输出
流式支持 支持实时数据流
认证集成 内置 OAuth 等认证

与 Function Calling 的区别

维度 Function Calling MCP
范围 单模型 跨模型、跨平台
发现 预定义 动态发现
生态 封闭 开放标准
复用

协议详解:A2A

Agent-to-Agent Protocol

定位:Agent 之间的协作通信协议。

核心场景

用户:"计划一次商务旅行"
    ↓
主 Agent(协调者)
    ├── A2A → 航班 Agent(查询航班)
    ├── A2A → 酒店 Agent(预订酒店)
    ├── A2A → 日历 Agent(检查日程)
    └── A2A → 报销 Agent(生成报告)
    ↓
整合结果返回用户

协议要素

# A2A 消息格式
{
    "message_id": "uuid",
    "sender": "agent://flight-booker",
    "receiver": "agent://travel-coordinator",
    "intent": "query_flight",
    "payload": {
        "origin": "NYC",
        "destination": "SFO",
        "date": "2026-04-01"
    },
    "callback": "agent://flight-booker/callback"
}

关键特性

特性 说明
意图识别 标准化的意图表达
能力协商 Agent 之间协商各自能力
任务委托 主 Agent 可以委托子任务
结果聚合 多 Agent 结果整合

协议详解:UCP、AP2、A2UI、AG-UI

UCP:Universal Control Protocol

定位:跨平台 Agent 控制协议。

解决的问题

场景:在手机上启动 Agent 任务
       在电脑上继续和监控
       在智能音箱上获取更新

问题:不同平台如何协调同一个 Agent?

UCP 解决方案:统一的控制接口

核心功能

  • 任务状态同步
  • 跨设备切换
  • 统一的权限管理

AP2:Agent Protocol 2.0

定位:高效数据传输协议。

特性

  • 二进制传输(vs JSON 文本)
  • 压缩支持
  • 流式传输
  • 低延迟

适用场景

  • 大量数据传输
  • 实时 Agent 通信
  • 移动网络环境

A2UI:Agent-to-User Interface

定位:Agent 与用户界面的交互协议。

解决的问题

Agent 如何:
- 在网页上填充表单?
- 在 App 中点击按钮?
- 在 CLI 中执行命令?

A2UI:统一的操作抽象

核心概念

# A2UI 操作示例
{
    "action": "fill_form",
    "target": "#booking-form",
    "data": {
        "name": "John Doe",
        "date": "2026-04-01"
    }
}

AG-UI:Agent Graphical User Interface

定位:Agent 图形化呈现协议。

解决的问题:Agent 如何向用户展示复杂信息。

支持的 UI 元素

  • 卡片(Cards)
  • 图表(Charts)
  • 表格(Tables)
  • 交互式表单(Forms)

示例

{
    "type": "card",
    "title": "航班查询结果",
    "content": [
        {"label": "航班号", "value": "UA1234"},
        {"label": "时间", "value": "10:00 AM"},
        {"label": "价格", "value": "$299"}
    ],
    "actions": [
        {"label": "预订", "action": "book"},
        {"label": "查看详情", "action": "details"}
    ]
}

协议之间的关系

完整的数据流

用户通过 AG-UI 看到界面
    ↓
用户操作通过 A2UI 传递给 Agent
    ↓
Agent 决定需要什么工具
    ↓
通过 MCP 调用外部工具
    ↓
如果需要其他 Agent 协作
    ↓
通过 A2A 通信
    ↓
结果通过 AG-UI 展示给用户

全程:UCP 保证跨设备同步
      AP2 保证高效传输

协议栈类比

网络协议 Agent 协议 作用
HTTP MCP 基础通信
REST API A2A 协作接口
WebSocket AP2 实时传输
CSS AG-UI 界面呈现
JavaScript A2UI 交互逻辑

Google ADK 的实践

Agent Development Kit

Google 使用 ADK 构建了一个 B2B Agent,演示了这 6 大协议的实际应用。

架构示例

# Google ADK 示例
from google.adk import Agent
from google.adk.protocols import MCP, A2A

# 创建主 Agent
agent = Agent(
    name="business_travel_agent",
    protocols=[MCP, A2A, A2UI]
)

# 注册工具(通过 MCP)
@agent.tool
async def search_flights(origin, destination, date):
    """搜索航班"""
    pass

# 注册子 Agent(通过 A2A)
@agent.sub_agent
async def hotel_booking_agent(requirements):
    """酒店预订 Agent"""
    pass

# 定义 UI(通过 A2UI/AG-UI)
@agent.ui
def render_results(results):
    """渲染结果界面"""
    return {
        "type": "card_list",
        "items": results
    }

协议实现状态

协议 状态 文档
MCP ✅ 已发布 modelcontextprotocol.io
A2A ✅ 已发布 a2a-protocol.org
UCP 🔄 开发中 -
AP2 🔄 开发中 -
A2UI 🔄 开发中 -
AG-UI 🔄 开发中 -

对比:OpenAI vs Google 生态

战略差异

维度 OpenAI Google
协议策略 主导自有标准 拥抱开放标准
生态开放性 相对封闭 更加开放
标准化 Function Calling MCP、A2A 等
跨平台 有限 重点支持

技术对比

功能 OpenAI Google (ADK)
工具调用 Function Calling MCP
多 Agent 不支持原生 A2A
UI 集成 无标准 A2UI/AG-UI
跨平台 有限 UCP

竞争还是合作?

可能的走向

  1. 协议战争:各自推自己的标准
  2. 协议融合:形成统一标准
  3. 协议分层:不同层级不同赢家

当前趋势

  • MCP 获得广泛支持(包括 Anthropic)
  • Google 推动更多开放标准
  • OpenAI 相对谨慎

结论:协议战争还是协议和平

历史教训

VHS vs Betamax:技术标准不总是最好的赢,但通常是最开放的赢。

HTTP/REST:开放标准造就了互联网。

关键因素

协议成功的要素

  1. 采用率:有多少开发者使用
  2. 生态支持:工具、库、文档
  3. 企业背书:大厂支持
  4. 技术优劣:是否解决真问题

给开发者的建议

现在应该做什么

  1. 关注 MCP:已成为事实标准
  2. 尝试 A2A:多 Agent 是未来
  3. 保持开放:不要锁定到单一生态
  4. 参与社区:贡献反馈,影响标准

未来展望

短期(1-2 年)

  • MCP 进一步普及
  • A2A 开始落地
  • 其他协议陆续发布

中期(3-5 年)

  • 协议栈成熟
  • 跨平台 Agent 成为可能
  • 生态繁荣

长期(5+ 年)

  • Agent 协议成为基础设施
  • 类似 HTTP 的地位
  • 开发者无需关心底层集成

参考与延伸阅读


本文基于 Google 发布的《Developer’s Guide to AI Agent Protocols》深度解读。

发布于 postcodeengineering.com