2025-2026 年涌现了三个重要的 AI Agent 通信协议,名称相近但定位各异。本页梳理三者的区别与关系。

一句话定位

协议全称主导方一句话定位
A2AAgent-to-Agent ProtocolGoogleAgent 委托任务给另一个 Agent
ACP (BeeAI)Agent Communication ProtocolIBM / BeeAIAgent 之间的通用 REST 通信接口
ACP (Agent Client)Agent Client ProtocolZed Industries代码编辑器与 AI 编程 Agent 的通信标准

注:BeeAI ACP 已于 2025 年底并入 A2A,在 Linux Foundation 下统一治理。

ACP (BeeAI) 技术核心

ACP 围绕四个核心概念构建(来自 IBM BeeAI 规范):

  1. Agent Cards — JSON 文档,描述能力、支持的内容类型(text/images/JSON/自定义 MIME)和端点
  2. Discovery & Registration — 通过 mDNS 或中央 Registry 自动注册,实现零配置对等发现
  3. Task Lifecycle — 标准化端点:POST /tasks(创建)、GET /tasks/{id}(状态轮询)、SSE 流式结果、取消
  4. Content Negotiation — 完整 MIME 类型支持,允许交换富媒体(结构化数据、二进制文件、图像)

三协议互补定位(非竞争关系):

  • MCP — Agent 调用工具(垂直向下,tool calling)
  • ACP — Agent 内部协作(本地优先,企业/离线场景)
  • A2A — 跨组织 Agent 委托(跨框架协作)

生产系统通常同时使用三者:MCP 做工具访问,ACP 做内部协调,A2A 做外部合作伙伴 Agent 对接。


详细对比

维度A2AACP (BeeAI)ACP (Agent Client)
通信双方Agent ↔ AgentAgent ↔ Agent编辑器 ↔ Agent
传输协议HTTP/HTTPSREST HTTPJSON-RPC 2.0 / stdio
发现机制Agent Card(/.well-known/agent.json)Registry 注册ACP Registry
核心单元TaskRunSession + Prompt Turn
流式支持SSESSEJSON-RPC Notifications
双向通信否(单向委托)否是(Agent 可反向调用编辑器)
多模态是(Text/File/Data Parts)是(MIME 类型 Parts)是(Text/Image/Resource)
会话状态无(无状态任务)有(Session ID)有(Session ID + 历史)
工具调用不涉及(委托给子 Agent)不涉及有(含权限请求机制)
认证Bearer Token 等无内置规范可选 authenticate 方法
现状活跃,50+ 合作伙伴已并入 A2A活跃,Zed/JetBrains 支持

分层关系

三个协议解决不同层次的问题,可以同时使用:

┌─────────────────────────────────────────────────────┐
│  用户                                                │
│    ↕  ACP (Agent Client Protocol)                   │
│  代码编辑器(Zed、JetBrains)                         │
│    ↕  ACP (Agent Client Protocol)                   │
│  AI 编程 Agent(Claude Code、Copilot 等)             │
│    ↕  A2A / ACP (BeeAI)                             │
│  专门子 Agent(搜索、代码分析、数据处理等)              │
│    ↕  MCP                                           │
│  工具 / 资源(文件系统、数据库、API 等)                │
└─────────────────────────────────────────────────────┘
  • MCP:Agent 调用工具(垂直向下)
  • A2A / ACP(BeeAI):Agent 委托任务给另一个 Agent(水平对等)
  • ACP(Agent Client):编辑器与 Agent 的交互界面(垂直向上)

各协议核心 API 对比

A2A

GET  /.well-known/agent.json   # 发现 Agent
POST /tasks                    # 创建任务
GET  /tasks/{id}               # 查询任务状态
GET  /tasks/{id}/events        # 流式订阅(SSE)

ACP (BeeAI)

GET  /agents                   # 列出 Agent
GET  /agents/{name}            # 获取 Agent Manifest
POST /runs                     # 创建 Run(sync/async/stream)
GET  /runs/{id}                # 查询 Run 状态
POST /runs/{id}                # 恢复暂停的 Run
POST /runs/{id}/cancel         # 取消 Run

ACP (Agent Client)

// JSON-RPC 方法(通过 stdio)
initialize              // 握手
session/new             // 创建会话
session/prompt          // 发送消息(启动轮次)
session/cancel          // 取消(通知)
session/update          // 流式更新(通知,Agent → Client)
session/request_permission  // 工具授权请求
fs/read_text_file       // 读文件(Client 提供)
terminal/create         // 创建终端(Client 提供)

选型建议

场景推荐协议
构建多 Agent 编排系统,需要跨厂商 Agent 协作A2A
构建 AI 编程助手,需要接入多个编辑器ACP (Agent Client)
构建支持 ACP Agent 的代码编辑器ACP (Agent Client)
已有 BeeAI/OpenClaw 生态迁移到 A2A(ACP 已并入)

相关概念