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."
具体动作:
- ACP 仓库归档,文档注明"已合并到 A2A"
- Bee AI 框架改为支持 A2A 协议
- 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 可以部署为远程服务。
方案:
// 客户端配置
{
"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,无法过防火墙、无法负载均衡。
解决方案:
POST /mcp/v1/tools/call
Content-Type: application/json
Authorization: Bearer sk-...
{
"method": "tools/call",
"params": {
"name": "search",
"arguments": { "query": "AI news" }
}
}返回流式响应:
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] ...前端代码示例:
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)
为什么移交?
- 中立性:避免"Anthropic 的协议"标签,吸引竞争对手参与
- 企业信任:大公司更愿意采用"基金会标准"而非"单一厂商标准"
- 长期维护:即使 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?"
潜在路径:
- 2025 年:Linux 基金会托管,快速迭代
- 2026 年:提交 W3C 作为 Working Draft
- 2027 年:成为 Candidate Recommendation
- 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 |
| A2A | Agent ↔ Agent | 任务委托、状态同步、协作 | "总控 Agent" 调用 "专家 Agents" |
| MCP | Agent ↔ Tool | 工具发现、调用、资源读取 | Agent 调用数据库、API、文件系统 |
| ANP | Agent ↔ 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 │
└──────────────┘ └─────────────┘真实流程:
- 用户(AG-UI):"帮我查明天天气,如果下雨就推迟会议"
- Main Agent(A2A)→ Weather Agent:"查询明天天气"
- Weather Agent(MCP)→ Weather API:调用工具
- Weather Agent(A2A)→ Main Agent:"会下雨"
- Main Agent(AG-UI)→ 用户:"明天会下雨,是否推迟会议?"
- 用户批准 → Main Agent(MCP)→ Calendar DB:更新会议时间
四个协议各司其职,无缝协作。
ANP:开放互联网的 Agent 发现
问题:封闭生态的局限
现在的 Agent 系统都是封闭的:
- Claude 只能调用你配置的 MCP Servers
- LangChain Agent 只能用你代码里注册的工具
- 企业 Agent 只能访问内网 API
但未来应该是开放的:
- "帮我订一份披萨" → 自动发现附近支持 Agent 的餐厅
- "翻译这份合同" → 找到专业法律翻译 Agent
- "分析这个数据集" → 连接到数据分析 Agent
ANP 协议设计
ANP(Agent Network Protocol),由开源社区提出(尚未有大厂主导),目标是去中心化 Agent 发现。
核心概念:
# 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发现流程:
- 用户 Agent 向 ANP Registry 查询:"能订披萨的 Agent"
- Registry 返回候选列表(根据地理位置、评分、协议支持)
- 用户 Agent 通过 A2A 与目标 Agent 握手、协商、执行任务
类比:
- ANP = DNS(发现服务)
- MCP/A2A = HTTP/WebSocket(通信协议)
挑战:信任与安全
开放 Agent 网络的最大风险:如何信任陌生 Agent?
可能的方案:
- 信任网络(类似 SSL 证书体系)
- 沙盒执行(Agent 只能在受限环境运行)
- 支付担保(类似 Uber 的评分+保险机制)
ANP 还在早期,但方向很明确:让 Agent 像网站一样可被发现和访问。
2026-2027 预测
短期(2026 年)
MCP Remote Servers 成为主流
- 大部分 MCP Server 提供 SaaS 版本
- 企业开始部署 MCP Gateway
A2A 在企业落地
- Salesforce、ServiceNow 等企业软件开始支持 A2A
- "Agent Orchestration Platform"(Agent 编排平台)兴起
AG-UI 集成到主流 AI 产品
- ChatGPT、Gemini、Claude 都支持"用户批准流"
- 移动端 AI App 标配 AG-UI
协议互操作演示
- 出现"MCP + A2A + AG-UI"全栈 Demo
- 开源框架(LangChain、Haystack)全面支持三协议
中期(2027 年)
W3C 标准化取得进展
- A2A 进入 W3C Candidate Recommendation
- 浏览器开始实验性支持
navigator.agentsAPI
ANP 0.5 版本发布
- 支持基本的去中心化发现
- 几家 AI 公司试点"公开 Agent 市场"
协议栈稳定
- MCP 2.0 正式发布
- A2A 1.0 正式发布
- AG-UI 被采纳为"推荐实践"
新玩家加入
- 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 年的优先级:
- 必学:MCP(工具标准化是基础)
- 推荐:A2A(如果做多 Agent 系统)
- 了解:AG-UI(如果做用户产品)
- 关注:ANP(还太早,但值得跟踪)
如何保证兼容性?
最佳实践:
# 架构上分层,协议可替换
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)不要硬编码协议,用适配器模式:
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(...)参与标准化
如果你想影响协议演进:
- 加入 GitHub Discussions:MCP、A2A 的仓库都开放讨论
- 贡献实现:写 SDK、写 Demo、报 Bug
- 参加 Working Group:Linux 基金会的会议是公开的(需申请)
- 写博客/教程:好的实践文章会影响规范设计
历史证明:Web 标准的很多特性最初来自开发者的实验和博客。
One-Liner 总结
"2025 年,AI Agent 协议从混战走向分层:MCP 管工具,A2A 管 Agent,AG-UI 管用户,ANP 管发现——不是谁赢了,而是各就各位。"
延伸阅读
下一章:我们进入 AI Agent 的"大脑"——RAG(检索增强生成)和记忆系统。协议解决"如何沟通",RAG 解决"如何记住和查找"。
准备好了吗?Let's dive into memory! 🧠