背景与目标
A2A 协议诞生的背景、Agent 通信问题的现状、ACPs 协议归档的历史,以及本研究的目标与范围
1. AI Agent 生态的发展困境
1.1 从单体 Agent 到多 Agent 协作
2024 年至 2025 年,生成式 AI 领域经历了从”单体大模型”向”Agent 系统”的重大范式转移。根据 LangChain 2025 年度调研报告,超过 67% 的企业 AI 项目已从单一模型调用转向多 Agent 架构设计。这种转变带来了新的挑战:如何让不同框架、不同厂商、不同部署环境的 Agent 实现有效协作。
单体 Agent 时代,开发者只需关注模型本身的输入输出。但在多 Agent 场景下,系统需要处理:
- 异构框架间的兼容性:LangGraph、CrewAI、AutoGen、Google ADK 等框架使用不同的 Agent 抽象
- 跨组织的协作边界:企业 A 的 Agent 如何安全地调用企业 B 的 Agent 能力
- 状态与记忆的隔离:Agent 不应暴露内部推理过程或敏感记忆
- 长周期任务的协调:招聘流程、供应链规划等可能持续数天甚至数周
1.2 现有方案的局限性
在 A2A 出现之前,业界主要依赖以下几种方式实现 Agent 间通信:
| 方案 | 优点 | 局限性 |
|---|---|---|
| 直接 API 调用 | 简单直接,现有基础设施完善 | 缺乏标准化发现机制,每个 Agent 需定制化集成 |
| 消息队列 (MQ) | 解耦能力强,支持异步 | 引入额外基础设施复杂度,不适合点对点通信 |
| Function Calling | 模型原生支持 | 本质是工具调用而非 Agent 协作,Agent 被视为被动工具 |
| MCP 协议 | 标准化了 Agent-工具交互 | 不涉及 Agent-Agent 通信,Agent 被上下文化而非被协作化 |
MCP (Model Context Protocol) 于 2024 年底推出,成功标准化了 Agent 与外部工具(数据库、API、文件系统等)的交互方式。然而,MCP 的设计哲学是”Agent 为中心”——Agent 主动发现并调用工具。这与真正的”Agent 间协作”存在本质区别:
flowchart LR
subgraph "MCP 模型"
A1[Agent A] -->|调用| T1[工具1]
A1 -->|调用| T2[工具2]
A1 -.->|控制流| A1
end
subgraph "A2A 模型"
A2[Agent A] <-->|协作| B2[Agent B]
A2 <-->|协作| C2[Agent C]
B2 <-->|协作| C2
end
style A1 fill:#e1f5ff
style A2 fill:#e1f5ff
2. A2A 协议的诞生
2.1 Google 的推动与开源策略
2025 年 4 月 9 日,Google 在 Google Cloud Next ‘25 大会上正式发布了 Agent2Agent Protocol (A2A)。这不是一个封闭的企业标准,而是一个完全开源的协议规范:
- 开源托管:代码仓库托管于 GitHub,采用 Apache 2.0 许可证
- 基金会治理:2025 年 5 月捐赠给 Linux Foundation 的 LF AI & Data 基金会
- 多厂商参与:发布首日即获得 50+ 技术合作伙伴支持,截至 2026 年 3 月已扩展至 150+ 组织
核心合作伙伴包括:
- 云厂商:Google Cloud、AWS、Microsoft Azure
- SaaS 巨头:Salesforce、ServiceNow、SAP、Workday
- AI 平台:LangChain、Hugging Face、Weights & Biases
- 数据库:MongoDB、DataStax、Neo4j
- 咨询与集成:Deloitte、Accenture、McKinsey
2.2 协议的核心设计目标
根据 A2A 官方规范,协议设计遵循以下关键目标:
目标 1:互操作性 (Interoperability) 打破不同 Agent 生态系统之间的壁垒,让构建于不同框架、由不同公司开发、运行在不同服务器上的 Agent 能够无缝通信。
目标 2:协作能力 (Collaboration) 支持 Agent 之间的任务委托、上下文交换和协同工作,解决单一 Agent 无法独立完成的复杂用户需求。
目标 3:动态发现 (Discovery)
Agent 能够动态发现其他 Agent 的能力,无需硬编码集成逻辑。这是通过 Agent Card 机制实现的——每个 Agent 在 /.well-known/agent.json 端点发布自己的能力清单。
目标 4:灵活性 (Flexibility) 支持多种交互模式:
- 同步请求/响应:适用于简单查询
- Server-Sent Events (SSE) 流式传输:实时获取任务进度更新
- 异步 Push Notification:通过 Webhook 接收长时间运行任务的通知
目标 5:企业级安全 (Security) 遵循标准 Web 安全实践,支持 OAuth 2.0、JWT、API Key、Mutual TLS 等多种认证机制。
目标 6:异步优先 (Async-First) 原生支持长时间运行的任务和”人在回路”(Human-in-the-Loop) 场景,这是与传统 API 设计的本质区别。
2.3 “不透明执行”原则
A2A 的一个重要设计原则是 Agent 在协作时无需暴露其内部状态、记忆或工具实现。这一原则被称为”Opaque Execution”(不透明执行):
flowchart TD
A[Client Agent] -->|Task Request| B[Remote Agent]
B -->|内部处理| C[内部推理]
B -->|内部处理| D[工具调用]
B -->|内部处理| E[记忆检索]
B -->|仅返回结果| F[Artifacts]
A --> F
style C fill:#ffcccc
style D fill:#ffcccc
style E fill:#ffcccc
style F fill:#ccffcc
这种设计保护了 Agent 的知识产权和敏感数据,同时允许有效的协作。Client Agent 只需要知道 Remote Agent 能做什么(通过 Agent Card 声明),而不需要知道它是如何做到的。
3. ACP 协议的兴衰与归档
3.1 ACP 的诞生背景
Agent Communication Protocol (ACP) 由 IBM Research 于 2025 年 3 月推出,旨在为其开源的 BeeAI 平台提供 Agent 通信能力。BeeAI 是一个探索 Agent 可解释性的开源平台,ACP 是其核心技术组件。
3.2 与 A2A 的并行发展
2025 年 3 月底,BeeAI 项目(含 ACP)捐赠给 Linux Foundation。一个月后,Google 推出 A2A。业界迅速意识到两个协议的高度重叠:
| 维度 | ACP | A2A |
|---|---|---|
| 发布时间 | 2025 年 3 月 | 2025 年 4 月 |
| 发起方 | IBM Research | |
| 托管方 | Linux Foundation | Linux Foundation |
| 核心机制 | Agent Card + Task | Agent Card + Task |
| 传输协议 | HTTP/SSE/JSON-RPC | HTTP/SSE/JSON-RPC |
| 状态管理 | 任务状态机 | 任务状态机 |
3.3 合并决策的战略意义
2025 年 8 月 29 日,Linux Foundation 官方宣布 ACP 并入 A2A。这一决策具有多重战略意义:
避免生态分裂 两个功能高度重叠的协议同时存在会导致:
- 开发者困惑:不知道该学习哪个协议
- 厂商分裂:部分支持 ACP,部分支持 A2A
- 集成成本倍增:需要为两个协议分别开发适配层
合并后,业界可以集中力量建设一个统一标准。
技术互补 虽然核心机制相似,但 ACP 在某些领域有独特贡献:
- Agent 可解释性追踪
- 细粒度的权限控制模型
- 与 IBM Watsonx 生态的深度集成
这些技术正在通过 ACP 团队向 A2A 的贡献逐步整合。
治理统一 ACP 项目负责人 Kate Blair(IBM Research 孵化总监)加入 A2A 技术委员会 (TSC),与 Google、Microsoft、AWS、Cisco、Salesforce、ServiceNow、SAP 的代表共同决策协议发展方向。
3.4 BeeAI 平台的迁移
作为 ACP 的主要用户,BeeAI 平台已完成向 A2A 的全面迁移:
- BeeAI Agent:可通过 A2AServer 适配器暴露为 A2A 兼容 Agent
- 外部集成:可通过 A2AAgent 客户端集成外部 A2A Agent
- 平台内核:BeeAI 平台底层已从 ACP 切换为 A2A 协议
4. 研究目标与范围
4.1 核心研究问题
本研究旨在回答以下关键问题:
-
技术原理:A2A 协议如何在底层实现 Agent 间消息传递?协议的数据模型、状态机、通信流程是怎样的?
-
现实意义:A2A 协议解决了哪些实际业务问题?企业采用 A2A 能获得什么价值?
-
SDK 生态:当前有哪些可用的 SDK 和开发工具?各语言的实现成熟度如何?
-
ACPs 归档影响:ACP 并入 A2A 对现有用户意味着什么?迁移路径如何?
4.2 研究范围界定
包含范围:
- A2A 协议 v1.0.0 规范深度解析
- 官方 SDK(Python、JavaScript、Go、Java、.NET)评估
- 与 MCP、传统 API 的对比分析
- ACP 迁移指南与最佳实践
不包含范围:
- 特定厂商的私有扩展(除非已开源)
- 与 A2A 无关的 Agent 框架内部实现细节
- 尚未发布的协议功能(Roadmap 项目除外)
4.3 研究方法
本研究采用以下方法收集和分析信息:
- 一手资料:A2A 官方规范文档、GitHub 仓库源码、API 参考手册
- 社区资源:DeepLearning.AI 课程、技术博客、社区讨论
- 实践验证:SDK 安装测试、示例代码运行、概念验证实现
- 对比分析:与 MCP、ACP、传统 REST API 的横向对比
参考资料
- Google Developers Blog - A2A: A New Era of Agent Interoperability - 2025 年 4 月 9 日
- A2A Protocol Specification v1.0.0 - 2026 年 3 月 12 日
- ACP Joins Forces with A2A - LF AI & Data Foundation - 2025 年 8 月 29 日
- GitHub - a2aproject/A2A - 主仓库,23k+ stars
- BeeAI ACP to A2A Migration Guide - 官方迁移文档
- LangChain State of AI 2025 - 行业趋势数据