Skip to content

11.6 协议融合趋势

太多协议?别慌,它们正在合并

如果你在 2024 年底看到 AI Agent 生态时感到困惑——MCP、A2A、ACP、AG-UI、ANP……这么多协议,到底该用哪个?——那么 2025 年开始有个好消息:协议们正在融合

就像浏览器大战最终收敛到 Web 标准、云服务商最终都支持 Kubernetes 一样,AI Agent 生态的协议战争也在快速走向和解。不是某个协议"赢了",而是它们找到了各自的位置,开始分工协作

本章我们聊聊:

  • ACP 怎么"消失"了(其实是合并进 A2A)
  • MCP 的新进化:远程服务器、流式 HTTP、前端 MCP Apps
  • A2A 加入 Linux 基金会,W3C 标准化讨论启动
  • 正在浮现的"协议栈":MCP + A2A + AG-UI + ANP
  • 2026-2027 年的预测

这不是协议之死,而是协议之成熟


ACP → A2A:IBM Bee AI 的战略转向

ACP 的诞生与消亡

2024 年底,IBM Research 开源了 Bee AI Agent 框架,同时推出了 ACP(Agent Communication Protocol),用于 Agent 之间的结构化通信。

ACP 的设计很清晰:

  • JSON-RPC 风格的请求/响应
  • 支持流式返回(stream: true)
  • 内置重试、超时、错误处理
  • 工具调用标准化

但问题来了:A2A 也在做同样的事

Anthropic 的 A2A 更早发布,社区更大,而且已经在 Notion、Asana、Slack 等产品中有实际部署。IBM 团队很快意识到:再造一个轮子不如加入标准化进程

2025 年 1 月:ACP 宣布合并进 A2A

2025 年 1 月,IBM Bee AI 团队在 GitHub 发布公告:

"After extensive discussion with the A2A community, we've decided to merge ACP into A2A. Our goal has always been interoperability, not fragmentation."

具体动作:

  1. ACP 仓库归档,文档注明"已合并到 A2A"
  2. Bee AI 框架改为支持 A2A 协议
  3. IBM 工程师加入 A2A Working Group,贡献重试、流式传输等特性

这次合并的意义:

  • 避免了协议分裂:如果 IBM 坚持 ACP,生态会撕裂成"Anthropic 系"和"IBM 系"
  • 功能互补:ACP 的流式设计、错误重试机制被吸收进 A2A 规范
  • 企业背书:IBM 的加入让 A2A 获得更多企业级信任

Bee AI 的新定位

合并后,Bee AI 不再是"协议制定者",而是A2A 的优秀实现:

  • 内置 A2A 客户端/服务器
  • 与 Anthropic Claude、OpenAI GPT 互操作
  • 提供企业级部署工具(Docker、Kubernetes Helm Charts)

教训:在标准化早期,协议合并比协议竞争更有价值


MCP 的进化:从本地到远程,从后端到前端

回顾:MCP 1.0 的局限

2024 年 11 月 Anthropic 发布 MCP 时,它主要是本地工具协议:

  • Stdio 传输:MCP Server 作为子进程运行
  • 一对一连接:一个 Client 对应一个 Server
  • 主要用于 Claude Desktop 连接本地工具

但开发者很快发现问题:

  • 无法远程部署:每个用户都要在本地安装 MCP Server
  • 难以共享:无法做成 SaaS,只能分发源码或二进制
  • 前端无法直连:Web/移动应用无法直接调用 MCP Server

MCP 2.0 规划:三大进化方向

2025 年初,Anthropic 启动 MCP 2.0 工作组,重点推进:

1. Remote MCP Servers

目标:让 MCP Server 可以部署为远程服务。

方案:

typescript
// 客户端配置
{
  "mcpServers": {
    "weather": {
      "transport": "sse",  // Server-Sent Events
      "url": "https://weather-mcp.example.com",
      "auth": {
        "type": "bearer",
        "token": "sk-..."
      }
    }
  }
}

传输方式:

  • SSE(Server-Sent Events):服务器推送,适合通知、日志流
  • WebSocket:双向流,适合交互式工具
  • HTTP 长轮询:fallback 方案

好处:

  • SaaS 化:开发者可以部署 mcp.example.com,用户直接连接
  • 企业部署:公司可以在内网运行 MCP Gateway,统一管理工具
  • 移动端友好:手机 App 可以通过 HTTPS 调用 MCP

2. Streamable HTTP Transport

问题:Stdio 传输不支持 HTTP,无法过防火墙、无法负载均衡。

解决方案:

http
POST /mcp/v1/tools/call
Content-Type: application/json
Authorization: Bearer sk-...

{
  "method": "tools/call",
  "params": {
    "name": "search",
    "arguments": { "query": "AI news" }
  }
}

返回流式响应:

http
HTTP/1.1 200 OK
Content-Type: text/event-stream

data: {"type": "progress", "message": "Searching..."}

data: {"type": "result", "content": [...]}

data: {"type": "done"}

与 REST API 的区别:

  • 保持 MCP 的会话管理(session_id)
  • 支持工具发现(列出所有可用工具)
  • 支持Prompt 模板资源读取

3. MCP Apps(前端集成)

最激进的想法:让浏览器/移动 App 直接成为 MCP Client。

架构:

┌─────────────────┐
│  React App      │
│  (MCP Client)   │
└────────┬────────┘
         │ WebSocket/SSE

┌─────────────────┐
│  MCP Gateway    │ ← 认证、鉴权、限流
└────────┬────────┘

    ┌────┴────┬────────┬────────┐
    ▼         ▼        ▼        ▼
  [Server1] [Server2] [Server3] ...

前端代码示例:

typescript
import { createMCPClient } from '@modelcontextprotocol/client-browser'

const client = await createMCPClient({
  transport: 'sse',
  url: 'https://mcp-gateway.example.com',
  auth: { bearer: userToken }
})

// 列出工具
const tools = await client.listTools()

// 调用工具
const result = await client.callTool({
  name: 'create_calendar_event',
  arguments: { title: '开会', time: '2026-02-23 14:00' }
})

用例:

  • No-code 平台:Zapier、Make.com 可以直接拖拽 MCP 工具
  • 企业仪表盘:管理员在 Web 界面操作内部工具
  • 移动 Agent App:手机上的 AI 助手调用云端 MCP 工具

MCP 进化的意义

MCP 从"Claude 的本地工具协议"进化为通用的工具标准化层:

  • 开发者:写一次工具,到处运行(本地/云端/浏览器)
  • 企业:统一工具网关,对接所有 AI Agent
  • 终端用户:Web/移动 App 也能享受 MCP 生态

A2A 加入 Linux 基金会:走向中立治理

2025 年 2 月公告

2025 年 2 月,Anthropic 宣布:A2A 协议治理权移交给 Linux 基金会

类似的先例:

  • Kubernetes(Google → CNCF)
  • GraphQL(Facebook → GraphQL Foundation)
  • OpenTelemetry(多家公司 → CNCF)

为什么移交?

  1. 中立性:避免"Anthropic 的协议"标签,吸引竞争对手参与
  2. 企业信任:大公司更愿意采用"基金会标准"而非"单一厂商标准"
  3. 长期维护:即使 Anthropic 策略调整,A2A 也能独立发展

A2A Working Group 成员

Linux 基金会下成立 A2A Technical Steering Committee(TSC),初始成员:

  • Anthropic(发起方)
  • IBM(Bee AI)
  • Microsoft(Azure AI Agent Service)
  • Google(Vertex AI Agents)
  • Notion(第一批产品集成)
  • Slack(企业协作场景)

独立贡献者:

  • Chidori、LangChain、Haystack 等开源框架作者

W3C 标准化讨论

更进一步,Linux 基金会与 **W3C(万维网联盟)**启动讨论:

"Should A2A become a W3C Recommendation, like HTTP, WebSocket, WebRTC?"

潜在路径:

  1. 2025 年:Linux 基金会托管,快速迭代
  2. 2026 年:提交 W3C 作为 Working Draft
  3. 2027 年:成为 Candidate Recommendation
  4. 2028 年:W3C Recommendation(正式标准)

如果成功:

  • A2A 将成为浏览器原生 API(navigator.agents.send(...))
  • 所有 AI 厂商都会实现(类似 WebRTC)
  • 互操作性彻底解决

正在浮现的协议栈

分层架构

经过一年的混战,一个清晰的分层协议栈正在浮现:

┌─────────────────────────────────────────┐
│  终端用户 (Human User)                   │
└──────────────────┬──────────────────────┘
                   │ AG-UI Protocol
┌──────────────────▼──────────────────────┐
│  AI Agent (Claude, GPT, Gemini...)      │
└──────────────────┬──────────────────────┘
                   │ A2A Protocol
┌──────────────────▼──────────────────────┐
│  Other Agents (Specialized Agents)       │
└──────────────────┬──────────────────────┘
                   │ MCP Protocol
┌──────────────────▼──────────────────────┐
│  Tools & Data Sources (APIs, DBs...)    │
└─────────────────────────────────────────┘

各层职责:

协议连接对象核心功能典型用例
AG-UI用户 ↔ Agent批准请求、反馈、UI 控件Claude Desktop、Web Agent
A2AAgent ↔ Agent任务委托、状态同步、协作"总控 Agent" 调用 "专家 Agents"
MCPAgent ↔ Tool工具发现、调用、资源读取Agent 调用数据库、API、文件系统
ANPAgent ↔ Internet去中心化发现、信任链查找"能订餐的 Agent"

关键洞察:互补而非竞争

早期大家以为"协议会竞争淘汰",但实际上:

MCP 和 A2A 不是对手:

  • MCP 专注工具标准化,让 Agent 调用外部能力
  • A2A 专注Agent 协作,让多个 Agent 合作完成复杂任务

类比:

  • MCP = 函数调用约定(像 POSIX API)
  • A2A = 进程间通信(像 D-Bus、RPC)
  • AG-UI = 用户界面协议(像 X11、Wayland)

它们解决不同问题,在不同层次运作

实际集成示例

一个完整的企业 AI 系统可能这样搭建:

┌────────────────────────────────────────────┐
│  Web UI (AG-UI Protocol)                   │
│  - 用户在浏览器里跟 Agent 对话               │
│  - Agent 请求批准时弹出确认框                │
└───────────────┬────────────────────────────┘

┌───────────────▼────────────────────────────┐
│  Main Agent (Claude / GPT-4)               │
│  - 理解用户意图                              │
│  - 规划任务,决定调用哪些子 Agent/工具        │
└───────┬───────────────┬────────────────────┘
        │ A2A           │ MCP
        ▼               ▼
 ┌──────────────┐  ┌─────────────┐
 │ Code Agent   │  │ Weather API │
 │ (专门写代码)  │  │ Calendar DB │
 └──────────────┘  └─────────────┘

真实流程:

  1. 用户(AG-UI):"帮我查明天天气,如果下雨就推迟会议"
  2. Main Agent(A2A)→ Weather Agent:"查询明天天气"
  3. Weather Agent(MCP)→ Weather API:调用工具
  4. Weather Agent(A2A)→ Main Agent:"会下雨"
  5. Main Agent(AG-UI)→ 用户:"明天会下雨,是否推迟会议?"
  6. 用户批准 → Main Agent(MCP)→ Calendar DB:更新会议时间

四个协议各司其职,无缝协作


ANP:开放互联网的 Agent 发现

问题:封闭生态的局限

现在的 Agent 系统都是封闭的:

  • Claude 只能调用你配置的 MCP Servers
  • LangChain Agent 只能用你代码里注册的工具
  • 企业 Agent 只能访问内网 API

但未来应该是开放的:

  • "帮我订一份披萨" → 自动发现附近支持 Agent 的餐厅
  • "翻译这份合同" → 找到专业法律翻译 Agent
  • "分析这个数据集" → 连接到数据分析 Agent

ANP 协议设计

ANP(Agent Network Protocol),由开源社区提出(尚未有大厂主导),目标是去中心化 Agent 发现

核心概念:

yaml
# agent-manifest.yaml (发布在 https://example.com/.well-known/agent)
name: "Pizza Ordering Agent"
description: "Order pizza from our restaurant"
capabilities:
  - search_menu
  - place_order
  - track_delivery
protocols:
  - mcp
  - a2a
endpoints:
  mcp: "https://api.example.com/mcp"
  a2a: "https://api.example.com/a2a"
trust:
  verified_by: "TrustNetworkX"
  reputation_score: 4.8

发现流程:

  1. 用户 Agent 向 ANP Registry 查询:"能订披萨的 Agent"
  2. Registry 返回候选列表(根据地理位置、评分、协议支持)
  3. 用户 Agent 通过 A2A 与目标 Agent 握手、协商、执行任务

类比:

  • ANP = DNS(发现服务)
  • MCP/A2A = HTTP/WebSocket(通信协议)

挑战:信任与安全

开放 Agent 网络的最大风险:如何信任陌生 Agent?

可能的方案:

  • 信任网络(类似 SSL 证书体系)
  • 沙盒执行(Agent 只能在受限环境运行)
  • 支付担保(类似 Uber 的评分+保险机制)

ANP 还在早期,但方向很明确:让 Agent 像网站一样可被发现和访问


2026-2027 预测

短期(2026 年)

  1. MCP Remote Servers 成为主流

    • 大部分 MCP Server 提供 SaaS 版本
    • 企业开始部署 MCP Gateway
  2. A2A 在企业落地

    • Salesforce、ServiceNow 等企业软件开始支持 A2A
    • "Agent Orchestration Platform"(Agent 编排平台)兴起
  3. AG-UI 集成到主流 AI 产品

    • ChatGPT、Gemini、Claude 都支持"用户批准流"
    • 移动端 AI App 标配 AG-UI
  4. 协议互操作演示

    • 出现"MCP + A2A + AG-UI"全栈 Demo
    • 开源框架(LangChain、Haystack)全面支持三协议

中期(2027 年)

  1. W3C 标准化取得进展

    • A2A 进入 W3C Candidate Recommendation
    • 浏览器开始实验性支持 navigator.agents API
  2. ANP 0.5 版本发布

    • 支持基本的去中心化发现
    • 几家 AI 公司试点"公开 Agent 市场"
  3. 协议栈稳定

    • MCP 2.0 正式发布
    • A2A 1.0 正式发布
    • AG-UI 被采纳为"推荐实践"
  4. 新玩家加入

    • Apple 推出 Siri Agent Protocol(兼容 MCP/A2A)
    • 亚马逊 Alexa 支持 A2A
    • 中国厂商(阿里、腾讯)推出兼容实现

长期(2028+)

大胆预测:

  • Agent 成为一等公民:就像"网站"是 Web 的基本单位,"Agent"成为 AI 互联网的基本单位
  • 浏览器内置 Agent Runtime:Chrome、Safari 原生支持运行 Agent
  • 去中心化 Agent 经济:你可以"雇佣"别人的 Agent,通过区块链结算
  • 协议成为"空气":就像现在没人关心 HTTP 1.1 vs 2.0,协议成为透明的基础设施

给开发者的建议

现在该学什么?

2025 年的优先级:

  1. 必学:MCP(工具标准化是基础)
  2. 推荐:A2A(如果做多 Agent 系统)
  3. 了解:AG-UI(如果做用户产品)
  4. 关注:ANP(还太早,但值得跟踪)

如何保证兼容性?

最佳实践:

python
# 架构上分层,协议可替换
class AgentFramework:
    def __init__(self, 
                 tool_protocol="mcp",    # 或 "custom"
                 agent_protocol="a2a",   # 或 "custom"
                 ui_protocol="ag-ui"):   # 或 "custom"
        self.tools = ToolClient(tool_protocol)
        self.agents = AgentClient(agent_protocol)
        self.ui = UIClient(ui_protocol)

不要硬编码协议,用适配器模式:

typescript
interface ToolProtocol {
  listTools(): Promise<Tool[]>
  callTool(name: string, args: any): Promise<Result>
}

class MCPAdapter implements ToolProtocol { ... }
class CustomAdapter implements ToolProtocol { ... }

// 切换协议只需换 adapter
const tools: ToolProtocol = new MCPAdapter(...)

参与标准化

如果你想影响协议演进:

  1. 加入 GitHub Discussions:MCP、A2A 的仓库都开放讨论
  2. 贡献实现:写 SDK、写 Demo、报 Bug
  3. 参加 Working Group:Linux 基金会的会议是公开的(需申请)
  4. 写博客/教程:好的实践文章会影响规范设计

历史证明:Web 标准的很多特性最初来自开发者的实验和博客。


One-Liner 总结

"2025 年,AI Agent 协议从混战走向分层:MCP 管工具,A2A 管 Agent,AG-UI 管用户,ANP 管发现——不是谁赢了,而是各就各位。"


延伸阅读


下一章:我们进入 AI Agent 的"大脑"——RAG(检索增强生成)记忆系统。协议解决"如何沟通",RAG 解决"如何记住和查找"。

准备好了吗?Let's dive into memory! 🧠

为 IT 部门打造的 AI 编程科普教程