Agent-to-Agent Protocol — 技术架构与商业生态深度拆解
基于 v1.0.0 规范 · 2026-06-24 更新 · 来源:Linux Foundation / Google / GitHub / 各厂商官方文档
a2a.proto,所有 SDK 从它生成| 对象 | 职责 | 核心字段 | Web 类比 |
|---|---|---|---|
| AgentCard | 身份与能力声明 | name, url, skills[], capabilities, securitySchemes | DNS SRV 记录 |
| Task | 工作单元 & 状态容器 | id, status, contextId, history[], artifacts[] | HTTP Request |
| Message | 通信回合 | role(user/agent), parts[] | Chat 消息 |
| Part | 内容原子 | TextPart / FilePart / DataPart | MIME part |
| Artifact | 任务产出 | name, parts[], index, append | Response body |
| Extension | 扩展声明 | uri, params, required | HTTP Extension |
每个 A2A Server 必须在 /.well-known/agent.json 发布元数据:
v1.0 关键新增:Signed Agent Cards — RSA/Ed25519 签名,密码学验证 Agent 身份,防止中间人伪造。
发现路径:/.well-known/agent.json → Registry 查询 → 直接配置(三种可选)
| 操作 | JSON-RPC 方法 | 返回 | 核心语义 |
|---|---|---|---|
| SendMessage | message/send | Task│Message | 发起交互,可开新 Task 或追加到已有 |
| StreamMessage | message/stream | SSE 事件流 | 实时推送状态变化 + Artifact 分块 |
| GetTask | tasks/get | Task 快照 | 轮询查询,支持 historyLength 控制条数 |
| ListTasks | tasks/list | Task 列表 | 按 context/state 过滤 |
| CancelTask | tasks/cancel | 确认 | 请求取消,Agent 自主决定是否终止 |
| GetAgentCard | HTTP GET | AgentCard | 发现层入口:/.well-known/agent.json |
延迟高,实现最简
适合:低频查询、内部工具
实时推送 StatusUpdate + ArtifactUpdate
适合:需要进度反馈的交互
长任务/离线场景
Client 注册 callbackUrl,完成后通知
先 SSE 流式获取进度
断线后切 Webhook 保送达
| 类型 | 结构 | 典型场景 |
|---|---|---|
| TextPart | {type:"text", text:"..."} | 自然语言、指令 |
| FilePart | {type:"file", file:{uri, mimeType, bytes?}} | 文档/图片/音频传输 |
| DataPart | {type:"data", data:{k:v...}} | 结构化参数、表单、API 参数 |
Agent Card 通过 defaultInputModes / defaultOutputModes 声明支持的 MIME 类型,Client 据此做兼容协商。
| 层 | 机制 | v1.0 新增 |
|---|---|---|
| 传输 | MUST HTTPS / TLS 1.3 | — |
| 身份 | Agent Card 声明 securitySchemes | ✅ Signed Agent Cards |
| 认证 | API Key / OAuth2 / JWT / mTLS | — |
| 多租户 | 请求中 tenant 字段路由 | ✅ v1.0 正式定义 |
| 隔离 | 不透明执行 — 不泄漏内部状态 | — |
| 授权 | 业务层自定义(A2A 不规定) | — |
核心刻意精简,扩张靠 Extension:
extensions[].uriextensions 参数激活纵向 Agent ↔ 工具/数据
类比 USB-C(设备接外设)
单 Agent 系统
Client-Server 架构
GitHub ~40k+ stars
横向 Agent ↔ Agent
类比 WiFi(设备间通信)
多 Agent 系统
Peer-to-Peer 架构
GitHub ~22k stars
两者同属 Linux Foundation,官方声明互补。OpenAI 已同时支持 MCP 和 A2A。
| 层 | 代表 | 动机 |
|---|---|---|
| 云平台 | AWS · Azure · GCP | 锁定开发者到自家 Agent 运行时 |
| 企业 SaaS | Salesforce · SAP · ServiceNow · Workday | 开放 Agent 接口 → 更多被调用 → 收入 |
| 开发框架 | LangChain · CrewAI · Google ADK | 降低集成门槛 → 更多用户 |
| 咨询巨头 | Accenture · Deloitte · BCG · Capgemini | 企业落地账单 $百万级 |
| 金融 | Stripe · PayPal · 60+ 机构 | AP2 扩展 → Agent 经济的结算管道 |
| 维度 | A2A | ACP IBM | ANP 社区 |
|---|---|---|---|
| 架构 | 点对点 Peer | 中间人 Broker | 去中心化 P2P |
| 发起方 | Google + AWS + Microsoft | IBM 独推 | 小社区 |
| 发现 | Agent Card + Registry | 集中注册中心 | DID 去中心化身份 |
| 传输 | JSON-RPC + gRPC + REST | HTTP/REST + MIME | HTTPS + JSON-LD |
| 企业就绪 | ✅ 多租户/OAuth2/签名 | ⚠️ 有限 | ❌ 太早 |
| 云支持 | AWS + Azure + GCP | 无 | 无 |
| GitHub Stars | 22k | ~2k | ~1k |
| 威胁等级 | — | 🟡 低 | 🟢 极低 |
结论:A2A 是 Agent 间通信的事实标准,没有真正的对手。ACP 太弱,ANP 太理想。IBM 自己也在 A2A 支持名单里。
采购Agent ↔ 库存Agent ↔ 物流Agent
自动协调下单、补货、配送
合规Agent ↔ 风控Agent ↔ 审批Agent
多方风险评估自动化
采集Agent ↔ 定损Agent ↔ 赔付Agent
全流程无人干预
监控Agent ↔ 诊断Agent ↔ 修复Agent
自愈系统闭环
A2A 生态官方推出的 Agent Payments Protocol:
ap2-protocol.org| 优先级 | 行动 | 理由 |
|---|---|---|
| P0 | 兼容 A2A + AP2 协议 | 不兼容 = 自动出局 |
| P0 | 做 AP2 的产品层 | 协议 ≠ 产品,Stripe 证明了这一点 |
| P1 | 多模型路由 + 计费网关 | 你的现有能力,A2A 生态没有 |
| P1 | Agent Registry + 发现服务 | 类似 npm registry,A2A 只定义规范没做服务 |
| P2 | 可观测性 / 审计日志 | 企业合规刚需,不透明执行需外部观测 |
| P2 | 开发者工具链 | Agent Card 编辑器、调试器、模拟器 |
A2A Protocol 深度拆解 · 2026-06-24 · GitHub · a2a-protocol.org · AP2
← 知识库