A2A

image-20261112223612290

A2A(Agent2Agent Protocol)是一个开放标准,让不同框架、不同厂商、不同公司部署的 AI Agent 能够互相发现、互相通信、委派任务、协同工作。

  • 2025 年 4 月由 Google 发起,发布时有 50+ 伙伴(Salesforce、SAP、LangChain、MongoDB、PayPal 等)参与;
  • 2025 年 6 月捐赠给 Linux Foundation,成为中立治理的开放标准(与 MCP 同属 Linux Foundation 旗下的 Agentic AI 生态);
  • 当前规范版本 v1.0,支持三种传输绑定:JSON-RPC 2.0、gRPC、HTTP+JSON/REST;
  • 官方网站:https://a2a-protocol.org,代码仓库:github.com/a2aproject 。

LLM 是无状态的文本大脑;Agent 给它配上工具和"思考→行动→观察"循环;

  • MCP 标准化了 Agent → 工具 的连接,解决 M×N 工具集成问题;
  • 但 Agent → Agent 的协作仍是空白——这是 A2A 的舞台。它和 MCP 是互补而非竞争的关系。

问题:Agent 孤岛

企业里的 Agent 正在爆炸式增长,但它们彼此是孤岛:

 没有 A2A 的世界(N 个 Agent 需要 N×(N-1)/2 套私有集成)

  ┌──────────┐ ?? ┌──────────┐
  │ 报销Agent │────│ 工单Agent │     每条线都是一套
  └────┬─────┘    └────┬─────┘      定制胶水代码:
       │ ??            │ ??          · 接口不同
  ┌────┴─────┐    ┌────┴─────┐      · 认证不同
  │ HR Agent │────│ 采购Agent │      · 消息格式不同
  └──────────┘ ?? └──────────┘      · 状态管理不同
 有 A2A 的世界(每个 Agent 实现一次协议,即可互通)

  ┌──────────┐    ┌──────────┐
  │ 报销Agent │    │ 工单Agent │
  └────┬─────┘    └────┬─────┘
       │   A2A 协议     │
  ═════╪═══════════════╪═════  ← 统一的发现、消息、任务、安全机制
       │               │
  ┌────┴─────┐    ┌────┴─────┐
  │ HR Agent │    │ 采购Agent │
  └──────────┘    └──────────┘

A2A 的设计原则

  1. 拥抱现有标准:HTTP、JSON-RPC 2.0、SSE(Server-Sent Events)——不发明新轮子,企业现有基础设施直接可用;
  2. 默认安全:复用成熟的 Web 认证(OAuth2、API Key、OIDC 等),企业级鉴权开箱即用;
  3. 异步优先:原生支持长时间运行的任务(几小时甚至几天)和人工介入(human-in-the-loop)场景;
  4. 模态无关:文本、文件、结构化数据(未来还有音视频)都能传;
  5. 不透明执行(Opaque Execution):Agent 之间只交换"任务和结果”,不暴露内部思考过程、提示词、工具实现——这对跨公司协作至关重要(你不希望把内部 prompt 泄露给合作方的 Agent)。

image-20261112223633609

A2A vs MCP:互补,不是竞争

这是最常被问到的问题。MCP 管"Agent 用工具”,A2A 管"Agent 找同事”。

                        ┌─────────────────────┐
         A2A(横向协作)  │     远程 Agent B     │
      ┌─────────────────►  (不同框架/厂商)      │
      │                  └─────────────────────┘
┌─────┴──────┐
│  Agent A   │
└─────┬──────┘
      │ MCP(纵向调用工具)
      ▼
┌────────────┐  ┌────────────┐  ┌────────────┐
│ 数据库工具   │  │ 搜索工具    │  │ 内部 API    │
└────────────┘  └────────────┘  └────────────┘
维度 MCP A2A
连接对象 Agent → 工具/资源 Agent → Agent
对端性质 被动的、确定性的(函数调用) 主动的、自治的(可能反问你)
交互粒度 一次工具调用,立即返回 一个任务,可能多轮、长时间运行
发起方 Anthropic(2024) Google(2025)
治理 Linux Foundation Linux Foundation

类比:MCP 是员工的工具箱接口,A2A 是员工之间的工作邮件 + 任务系统。 一个成熟的 Agent 往往两者都用:对下用 MCP 调工具,对外用 A2A 和其他 Agent 协作。

示例:一个跨团队场景

“新员工入职"流程中,HR 的入职 Agent(基于某 SaaS)需要:

  1. 让 IT 的工单 Agent(LangGraph)开通账号 → A2A 委派任务;
  2. 让财务的报销 Agent(Google ADK)预设报销权限 → A2A 委派任务;
  3. 工单 Agent 内部查询 LDAP、调用邮箱系统 → MCP 调用工具。

整个链路中,每个 Agent 不需要知道对方用什么框架、什么模型、什么提示词——只要双方都讲 A2A。

总结

  • A2A 解决 Agent 孤岛问题:跨框架、跨厂商、跨组织的 Agent 互操作;
  • 由 Google 发起、Linux Foundation 中立治理,规范当前为 v1.0;
  • 技术上全面复用 Web 标准(HTTP / JSON-RPC / SSE / OAuth2);
  • 与 MCP 互补:MCP = Agent→工具(纵向),A2A = Agent→Agent(横向);