协议标准 · Agent 生态 · 2026.04.03

A2A 协议全解析:Agent-to-Agent 通信标准、生态现状与落地建议

Google 提出、Linux Foundation 托管的开放协议 v0.3——AgentCard 自动发现、Task 生命周期、与 MCP/ACP 的定位分野,以及企业 AI 栈落地路线图

v0.3
最新规范版本
150+
支持组织数
5
官方 SDK 语言
10
篇信源
核心论断:MCP 解决的是 Agent 调用工具的问题,A2A 解决的是 Agent 与 Agent 之间协作的问题。两者不是竞争关系,而是完整企业 AI 栈的两个层次。ACP 已于 2025 年 8 月合并入 A2A,选型时无需再做三选一。

2025 年以来,随着 AI Agent 从单点工具演化为多 Agent 协作系统,如何让不同厂商、不同框架构建的 Agent 互相发现、通信和协调,成为工程上的核心挑战。A2A(Agent2Agent Protocol)正是为解决这一问题而生的开放标准。

本研报前三章(公开)覆盖 A2A 的定义、核心架构和与 MCP 的对比;Pro 部分深入 A2A vs ACP 历史、当前生态版图、开源实现选型,以及对企业工程团队可直接执行的落地建议。

§1

A2A 是什么

Google 提出的开放 Agent 通信协议——从诞生到治理结构全貌

Agent2Agent(A2A)是 Google 于 2025 年 4 月发布的开放协议,专为 AI Agent 之间的通信与协作设计。[2] 2025 年 6 月,该项目贡献给 Linux Foundation,由新成立的 Agentic AI Foundation(AAIF)负责管理,六大创始成员为 OpenAI、Anthropic、Google、Microsoft、AWS 和 Block。[5]

核心定位一句话:MCP 解决 Agent → 工具/数据,A2A 解决 Agent → Agent。两者分工明确,共同构成企业多 Agent 系统的协议底座。

1.1 当前版本与支持规模

v0.3
规范版本(2026-03)
v0.3.25
Python SDK 版本
150+
支持组织数
5
官方 SDK 语言

支持组织涵盖 Atlassian、Salesforce、SAP、ServiceNow、PayPal 等主流企业软件厂商,覆盖 Python、JavaScript、Java、Go、.NET 五种语言的官方 SDK。[1]

1.2 五大设计原则

§2

核心架构

三层架构、五个核心概念、七个操作原语——A2A 协议的完整技术图景

2.1 三层架构

A2A 协议在逻辑上分为三层,自上而下职责分明:[1]

Protocol Bindings 层

传输协议绑定:JSON-RPC over HTTP、gRPC、REST。同一操作可通过不同传输协议暴露,客户端按需选择。

Operations Layer

操作原语层:SendMessage、GetTask、SubscribeToTask 等七个核心操作,定义了 Agent 间所有可能的交互模式。

Data Model Layer

数据模型层:Task、Message、Part、AgentCard、Artifact 五个核心概念,构成协议的语义基础。

2.2 五个核心概念

概念说明
AgentCardAgent 的自描述 JSON 清单,发布于 /.well-known/agent-card.json,声明名称、能力、技能列表和认证方式。客户端可通过标准 URI 自动发现。
Task工作单元,具有完整生命周期:working → completed / failed / canceled / rejected / input-required。每个 Task 有全局唯一 ID,支持跨 Agent 追踪。
Message通信单元,角色为 "user" 或 "agent",包含一个或多个 Part。是 Agent 间对话的载体。
Part原子内容单元,可以是文本、文件引用(URI + MIME 类型)或结构化数据(JSON object)。多个 Part 组成一条 Message。
ArtifactAgent 产出的输出物,由 Part 组成,支持版本控制和增量更新。流式场景下可逐步追加内容。

2.3 七个操作原语

操作说明适用场景
SendMessage发起任务或在已有 Task 下追加消息同步短任务
SendStreamingMessage发起任务并实时接收流式响应(SSE)长文本生成、进度汇报
GetTask轮询指定 Task 的当前状态和输出异步任务状态查询
ListTasks分页查询当前 Agent 的 Task 列表任务管理后台
CancelTask幂等取消任务,返回最终状态超时处理、用户撤销
SubscribeToTask持久流订阅任务更新(gRPC 双向流)长时间运行的 Agent 任务
Push NotificationsAgent 主动向调用方 Webhook 推送状态变更跨服务器异步通知

2.4 AgentCard 示例

以下是一个标准 AgentCard 的 JSON 结构,发布于 https://agent.example.com/.well-known/agent-card.json

{
  "name": "AI Insight Agent",
  "description": "AI 资讯查询与研报摘要 Agent",
  "version": "1.0.0",
  "url": "https://ai-insight.org/a2a",
  "protocolVersions": ["0.3.0"],
  "capabilities": {
    "streaming": true,
    "pushNotifications": true
  },
  "skills": [
    {
      "name": "search_news",
      "description": "搜索 AI 资讯,支持关键词和日期范围",
      "inputModes": ["text"],
      "outputModes": ["text", "data"]
    }
  ],
  "securitySchemes": {
    "bearer": { "type": "http", "scheme": "bearer" }
  }
}

任何支持 A2A 的客户端或编排框架,只需请求 /.well-known/agent-card.json 即可自动发现该 Agent 的能力,无需手动配置。这与 MCP 需要显式注册 Server 的方式形成鲜明对比。

§3

A2A vs MCP 对比

两个协议不是竞争关系——搞清楚各自边界,才能正确组合使用

MCP(Model Context Protocol)由 Anthropic 提出,解决的是 Agent 如何调用外部工具和数据源的问题——数据库查询、文件读写、API 调用。A2A 解决的是 Agent 如何与其他 Agent 协作的问题——发现彼此、委托任务、同步结果。[6]

一句话关系:完整的企业 Agent 栈 = MCP(工具接入层)+ A2A(Agent 协作层)。两者解决不同层次的问题,不存在"选哪个"的问题。
维度MCPA2A
定位Agent → 工具/数据Agent → Agent
提出者AnthropicGoogle
协议JSON-RPC over stdio/SSEJSON-RPC / gRPC / HTTP REST
发现机制手动配置 MCP Server 列表AgentCard 自动发现(/.well-known/)
任务模型无(工具调用即完成)完整生命周期(working→completed/failed)
长任务不原生支持原生支持(小时/天级)
流式SSESSE + gRPC streaming
推送通知Webhook push notification
认证简单(stdio 本地信任)企业级(OAuth2/mTLS/API Key)
多模态主要文本文本/文件/结构化数据(可扩展音视频)
生态规模数千个 MCP Server150+ 组织支持
治理Linux Foundation AAIFLinux Foundation AAIF
什么时候用 MCP
  • Agent 需要读写文件系统
  • Agent 需要查询数据库
  • Agent 需要调用本地工具(代码执行、浏览器控制)
  • 单机本地开发环境
什么时候用 A2A
  • 需要协调多个专用 Agent 完成复杂任务
  • Agent 跨服务器、跨组织部署
  • 任务需要分配给远程 Agent 并等待结果
  • 需要与第三方 Agent 服务对接
"把 MCP 和 A2A 放在一起比较,就像在问'应该用 HTTP 还是 SQL'一样——答案是两个都要,它们解决不同层次的问题。"
— AI Insight 研究观察,2026-04

登录后阅读完整报告

包含详细分析、数据图表、竞品对比、参考文献等

Google 登录