摘要:本文深入剖析 Google 于 2025 年 4 月发布的 Agent2Agent (A2A) 协议,从协议背景、设计哲学、核心架构、实现细节、应用场景到未来展望,全面解读这一 AI Agent 互操作性的开放标准。
目录
- [什么是 A2A 协议](#什么是 A2A 协议 "#%E4%BB%80%E4%B9%88%E6%98%AF-a2a-%E5%8D%8F%E8%AE%AE")
- [A2A 要解决什么问题](#A2A 要解决什么问题 "#a2a-%E8%A6%81%E8%A7%A3%E5%86%B3%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98")
- 设计哲学与核心原则
- 核心架构与组件
- 协议实现详解
- [Multi-Agent 协作模式](#Multi-Agent 协作模式 "#multi-agent-%E5%8D%8F%E4%BD%9C%E6%A8%A1%E5%BC%8F")
- 与其他协议的对比
- 应用场景
- [未来展望:Agent 协作标准的演进](#未来展望:Agent 协作标准的演进 "#%E6%9C%AA%E6%9D%A5%E5%B1%95%E6%9C%9Bagent-%E5%8D%8F%E4%BD%9C%E6%A0%87%E5%87%86%E7%9A%84%E6%BC%94%E8%BF%9B")
- 总结
什么是 A2A 协议
Agent2Agent (A2A) 是一个开放的通信协议,专为 AI Agent 之间的互操作性而设计。它于 2025 年 4 月由 Google 联合超过 50 家技术合作伙伴(包括 Atlassian、Salesforce、SAP、LangChain 等)共同发布,并于同年捐赠给 Linux 基金会,成为厂商中立的开放标准。
Claude/GPT] B[AI Agent B
Gemini] C[AI Agent C
企业自建Agent] A <-->|A2A Protocol| B B <-->|A2A Protocol| C C <-->|A2A Protocol| A end subgraph "协议层" P1[HTTP/HTTPS] P2[JSON-RPC 2.0] P3[Server-Sent Events] end A --- P1 B --- P2 C --- P3 style A fill:#e1f5fe style B fill:#fff3e0 style C fill:#f3e5f5
核心定义
| 概念 | 说明 |
|---|---|
| 协议类型 | 开放的 Agent-to-Agent 通信协议 |
| 技术基础 | HTTP + JSON-RPC 2.0 + SSE |
| 治理机构 | Linux 基金会 |
| 核心理念 | 不透明协作(Opaque Collaboration) |
A2A 要解决什么问题
当前 AI Agent 生态的困境
A2A 解决的核心问题
| 问题 | 现状 | A2A 解决方案 |
|---|---|---|
| Agent 孤岛 | 不同框架的 Agent 无法通信 | 统一的通信协议层 |
| N×M 集成复杂度 | 每个 Agent 需要与每个系统单独集成 | 标准化的 Agent Card 发现机制 |
| 私有协议锁定 | 企业被锁定在特定厂商生态 | 厂商中立的开放标准 |
| 安全边界模糊 | Agent 协作需要暴露内部状态 | 不透明协作(Opacity) |
| 长任务处理 | 缺乏标准化的异步任务管理 | 完整的任务生命周期管理 |
核心价值主张

设计哲学与核心原则
A2A 协议遵循五大核心设计原则:
1. 拥抱 Agent 原生能力(Embrace Agentic Capabilities)
A2A 允许 Agent 以自然的、非结构化的方式协作,即使它们不共享内存、工具和上下文。
2. 基于现有标准(Build on Existing Standards)
流式响应] E2[Push Notifications
Webhook 回调] E3[gRPC
高性能场景] end L1 -.-> E1 L1 -.-> E2 L1 -.-> E3 style L1 fill:#2196f3,color:#fff style L2 fill:#64b5f6 style L3 fill:#90caf9 style L4 fill:#bbdefb
3. 默认安全(Secure by Default)
A2A 支持与 OpenAPI 同等的企业级认证授权方案。
4. 支持长任务(Support Long-Running Tasks)
- 后台任务处理
- 人机协作(Human-in-the-Loop)审批
- 流式更新
5. 模态无关(Modality Agnostic)
支持文本、图片、音频、PDF、HTML、JSON 等多种格式。
核心架构与组件
整体架构
能力描述] O2[Task
任务管理] O3[Message
消息交换] O4[Artifact
产出物] end AC --- O1 SA --- O2 SA --- O3 SA --- O4 style CA fill:#e3f2fd style SA fill:#e8f5e9 style O1 fill:#fff9c4 style O2 fill:#fff9c4 style O3 fill:#fff9c4 style O4 fill:#fff9c4
四大核心对象
1. Agent Card(代理卡片)
Agent Card 是 Agent 的"数字名片",以 JSON 格式公开发布,描述 Agent 的身份、能力和连接信息。
json
{
"name": "Code Review Agent",
"description": "专业的代码审查 Agent,支持多种编程语言",
"url": "https://agent.example.com/",
"version": "1.0.0",
"protocolVersion": "0.2.0",
"provider": {
"organization": "Example Corp",
"url": "https://example.com"
},
"capabilities": {
"streaming": true,
"pushNotifications": true,
"stateTransitionHistory": true
},
"skills": [
{
"id": "code_review",
"name": "Code Review",
"description": "审查代码质量、安全性和最佳实践",
"tags": ["code", "review", "security"],
"inputModes": ["text/plain", "application/json"],
"outputModes": ["text/plain", "text/markdown"]
}
],
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer"
}
}
}
2. Task(任务)
可产生 Artifact note right of input_required: Human-in-the-Loop
等待人工输入
3. Message(消息)
消息是 Agent 之间单次交互的载体,包含一个或多个 Part。
text: '...'"] P2 --> T2["kind: 'file'
file: {name, mimeType, bytes/uri}"] P3 --> T3["kind: 'data'
data: {type: 'json', data: {...}}"] end
4. Artifact(产出物)
Artifact 是 Server Agent 产生的交付物,如文档、图片、代码文件等。
append: false] S2[ArtifactUpdate 2
append: true] S3[ArtifactUpdate 3
lastChunk: true] S1 --> S2 --> S3 end style S1 fill:#e3f2fd style S2 fill:#e3f2fd style S3 fill:#c8e6c9
协议实现详解
JSON-RPC 方法
A2A 定义了以下核心 RPC 方法:
发送消息并等待响应] M2[message/stream
发送消息并接收流式响应] end subgraph "任务管理" T1[tasks/get
获取任务状态] T2[tasks/cancel
取消任务] T3[tasks/resubscribe
重新订阅任务流] end subgraph "推送通知" P1[tasks/pushNotification/set
设置推送配置] P2[tasks/pushNotification/get
获取推送配置] end end style M1 fill:#e3f2fd style M2 fill:#e3f2fd style T1 fill:#e8f5e9 style T2 fill:#e8f5e9 style T3 fill:#e8f5e9 style P1 fill:#fff3e0 style P2 fill:#fff3e0
三种通信模式
模式 1:同步请求/响应
模式 2:流式响应 (SSE)
模式 3:异步推送通知
{taskId, webhookUrl} S-->>C: OK C->>S: message/send S-->>C: Task (working) Note right of S: 长时间处理... S->>W: POST /webhook
{taskId, state: completed} W-->>S: 200 OK C->>S: tasks/get {taskId} S-->>C: Task (completed) + Artifacts Note over C,S: 适用于长时间运行的任务
错误处理
A2A 定义了标准的 JSON-RPC 错误码:
| 错误码 | 名称 | 说明 |
|---|---|---|
| -32700 | Parse error | JSON 解析错误 |
| -32600 | Invalid Request | 无效的请求 |
| -32601 | Method not found | 方法不存在 |
| -32602 | Invalid params | 无效的参数 |
| -32603 | Internal error | 内部错误 |
| -32000 | Task not found | 任务不存在 |
| -32001 | Task not cancelable | 任务无法取消 |
| -32002 | Push notification not supported | 不支持推送通知 |
| -32003 | Unsupported operation | 不支持的操作 |
Multi-Agent 协作模式
协作架构
协作流程示例
"实现 JWT 认证逻辑" Coder-->>Orch: Task (working) Coder-->>Orch: Artifact (auth.ts) Coder-->>Orch: Task (completed) Orch->>Review: message/send
"审查 auth.ts 代码" Review-->>Orch: Task (working) Review-->>Orch: Message ("发现安全问题...") Review-->>Orch: Task (input-required) Orch->>Coder: message/send
"修复安全问题" Coder-->>Orch: Artifact (auth.ts v2) Orch->>Review: message/send
"重新审查" Review-->>Orch: Task (completed, "审查通过") Orch->>Test: message/send
"运行测试" Test-->>Orch: Task (completed, "100% 通过") Orch-->>User: "认证模块开发完成 ✓"
不透明协作(Opaque Collaboration)
A2A 的核心设计理念是不透明协作:
仅交换任务和消息| B4 style A1 fill:#ffcdd2 style A2 fill:#ffcdd2 style A3 fill:#ffcdd2 style B1 fill:#ffcdd2 style B2 fill:#ffcdd2 style B3 fill:#ffcdd2 style A4 fill:#c8e6c9 style B4 fill:#c8e6c9
优势:
- 保护知识产权和商业机密
- 保护用户隐私数据
- 降低集成复杂度
- 支持异构 Agent 协作
与其他协议的对比
协议定位对比
Model Context Protocol] end subgraph "Agent 协作层 (Agent-to-Agent)" A2A[A2A
Agent2Agent Protocol] ACP[ACP
Agent Communication Protocol] end subgraph "框架层" LC[LangChain] AG[AutoGPT] CW[CrewAI] end subgraph "应用层" APP[企业应用] end end APP --> LC APP --> AG APP --> CW LC --> MCP LC --> A2A AG --> MCP AG --> A2A CW --> A2A style MCP fill:#ff9800,color:#fff style A2A fill:#4caf50,color:#fff style ACP fill:#2196f3,color:#fff
详细对比表
| 维度 | A2A | MCP | LangChain | Function Calling |
|---|---|---|---|---|
| 定位 | Agent-to-Agent 通信 | Agent-to-Tool 通信 | Agent 开发框架 | LLM 工具调用 |
| 发起者 | Google + Linux Foundation | Anthropic | Harrison Chase | OpenAI |
| 协议类型 | 开放标准 | 开放标准 | 开源框架 | 私有协议 |
| 通信方式 | JSON-RPC + SSE | JSON-RPC | 框架内部 | HTTP API |
| 发现机制 | Agent Card | Tool Schema | 内置工具 | 函数定义 |
| 长任务支持 | ✅ 完整支持 | ❌ 不支持 | 🔶 部分支持 | ❌ 不支持 |
| 流式处理 | ✅ SSE | ❌ 不支持 | 🔶 框架级别 | ✅ 支持 |
| 跨厂商协作 | ✅ 核心特性 | 🔶 有限 | ❌ 不支持 | ❌ 不支持 |
| 企业级安全 | ✅ OpenAPI 兼容 | 🔶 基础 | 🔶 框架级别 | ✅ 支持 |
A2A 与 MCP 的互补关系
类比:如果 MCP 是将键盘插入电脑的 USB 接口,那么 A2A 就是电脑之间发送邮件的网络协议。
应用场景
场景 1:企业供应链协作
案例:Tyson Foods 和 Gordon Food Service 正在使用 A2A 协议构建协作系统,实现产品数据和销售线索的实时共享。
场景 2:软件开发流水线
场景 3:跨云 Agent 协作
Microsoft 已宣布:Azure AI Foundry 和 Copilot Studio 将很快支持 A2A 协议。
场景 4:数字内容创作
Adobe 正在使用 A2A 使其分布式 Agent 与 Google Cloud 生态系统中的 Agent 实现互操作。
未来展望:Agent 协作标准的演进
发展路线图
未来架构演进
预判:Agent 协作标准的未来
| 趋势 | 说明 | 可能性 |
|---|---|---|
| A2A 成为事实标准 | 100+ 企业支持 + Linux Foundation 治理 | ⭐⭐⭐⭐⭐ |
| A2A + MCP 组合 | 形成完整的 Agent 互操作栈 | ⭐⭐⭐⭐⭐ |
| Agent Mesh 架构 | 类似 Service Mesh 的分布式治理 | ⭐⭐⭐⭐ |
| 联邦身份认证 | 跨组织的 Agent 身份互认 | ⭐⭐⭐⭐ |
| 实时协作协议 | WebRTC 等实时协议集成 | ⭐⭐⭐ |
总结
A2A 协议核心要点

关键结论
- A2A 是 Agent 协作的事实标准:100+ 企业支持、Linux Foundation 治理、厂商中立
- A2A 与 MCP 互补:共同构成完整的 Agent 互操作栈
- 不透明协作是核心创新:保护隐私和知识产权的同时实现协作
- 企业就绪:支持 OAuth、长任务、流式处理、推送通知
- 未来趋势:Agent Mesh 架构、联邦治理、跨域协作
参考资料
- A2A Protocol Official Documentation
- A2A GitHub Repository
- Google Developers Blog - Announcing A2A
- IBM - What Is Agent2Agent Protocol
- Microsoft Cloud Blog - Empowering multi-agent apps with A2A
- Linux Foundation - A2A Project Launch
- Towards Data Science - Inside Google's A2A Protocol
- O'Reilly - Designing Collaborative Multi-Agent Systems with A2A
- 关于作者:【前端领秀 】一个喜欢探索前端领域AI赋能的开发者,喜欢我的可以关注我,私信我邀请进入技术群,我会时刻分享最新前沿AI技术;
