A2A 协议(Agent2Agent)
跨系统 Agent 协作的开放协议,用 Agent Card 发现能力、用 Task 表达协作。
生产方式:人写签发:晓黎学习复核:2026年9月21日被 3 个词条引用
一句话定义
A2A = 一套开放协议,让不同系统、不同厂商构建的 Agent 能够互相发现、委派任务并交换结果。
它由 Google 提出并贡献给 Linux Foundation。
解决什么问题
一个系统内的多 Agent 协作可以用内部 API 解决。但跨组织场景下,对方的 Agent 用什么框架、部署在哪里、如何认证,都是未知的。
A2A 提供统一的互操作层:
系统 A 的 Agent 需要调用系统 B 的 Agent
↓
1. 发现:读取 B 的 Agent Card
2. 认证:按 Card 声明的方式认证
3. 提交:创建 Task,发送 Message
4. 跟踪:轮询状态或接收推送通知
5. 获取:取得 Artifact
核心构件
| 构件 | 作用 |
|---|---|
| Agent Card | 描述 Agent 的能力、端点、认证方式的元数据 |
| Task | 一次任务的完整生命周期 |
| Message | 任务内的消息 |
| Artifact | 任务产生的输出 |
| Push Notification | 异步结果通知 |
Agent Card 示例:
{
"name": "Financial Analysis Agent",
"description": "Analyzes financial statements",
"url": "https://example.com/a2a",
"capabilities": { "streaming": true, "pushNotifications": true },
"skills": [{ "id": "analyze-statements", "name": "Analyze financial statements" }],
"authentication": { "schemes": ["oauth2"] }
}
能力发现是协议的一等公民——Agent 可以动态发现其他 Agent 的能力,而不需要预先硬编码对接关系。
与 MCP 的区别
| 协议 | 连接对象 | 抽象层次 |
|---|---|---|
| A2A | Agent ↔ Agent | 任务协作 |
| MCP | Agent ↔ 工具/资源 | 工具调用 |
两者互补。Microsoft Agent Framework 明确把两者同时作为跨运行时互操作的基础:
cross-runtime interoperability via A2A and MCP
设计要点与代价
| 优点 | 代价 |
|---|---|
| 跨组织互操作 | 协议栈实现与维护成本 |
| 动态能力发现 | 协议演进带来兼容性负担 |
| 不自创私有协议 | 需要理解标准细节 |
相关
- Model Context Protocol(MCP) — 工具连接协议
- Handoff(交接) — 系统内的控制权转移
- 第 11 讲 Agent 通信
- Agent Orchestration(Agent调度带宽) — 跨系统编排的协议基础
互链
链接来自概念卡正文里的双链,编译时能解到本期词条集的才成为站内链接。
- Agent Orchestration(Agent调度带宽)相关概念
- Handoff(交接)相关概念
- Model Context Protocol(MCP)正文引用
- Model Context Protocol(MCP)相关概念
反链(3)
出处
路径是本地知识库(Obsidian 库)里的位置,正文与概念卡逐字对应。
- 概念卡原文A2A 协议(Agent2Agent)
03_RESOURCES/概念/a2a-协议.md - 所属知识地图栏目概念页索引 · 协议与互操作
03_RESOURCES/概念/Index.md - 正文引用的知识库笔记第 11 讲 Agent 通信
02_AREAS/AI开发/Harness Engineering/Agent Harness 课程/11-Agent通信:消息、交接与协作协议.md
编译入库:2026年10月6日。词条由知识库编译而来, 修正要回到概念卡改,再重新编译。