← 返回术语百科

🔗 A2A Protocol

Agent-to-Agent 协议 —— AI Agent之间的"外交语言"

2025年3月的一个周二,Google放出了一条消息。

我坐在屏幕前,看着那行字发呆:"A2A: An open protocol for agent interoperability."

突然明白了——MCP让AI能连外部世界,而A2A让AI们能互相说话。这就像是AI从"单机游戏"进化到了"联网对战"。

那一刻,我闻到了未来的味道。

📖 什么是 A2A?

A2A (Agent-to-Agent Protocol),是Google在2025年3月推出的开放协议标准。

如果说MCP是AI连接外部工具的USB-C,那A2A就是AI之间互相通信的HTTP协议。它定义了一套标准,让不同的AI Agent能够:

🎯 一句话理解:A2A让AI们组成团队成为可能,就像人类同事之间可以通过Slack协作一样。

🌐 MCP 模型上下文协议

  • AI ←→ 外部工具/数据
  • 由 Anthropic 主导
  • 标准化工具调用
  • 单向:AI调用服务

🔗 A2A Agent间协议

  • AI ←→ AI
  • 由 Google 主导
  • 标准化Agent通信
  • 双向:Agent互相调用

⚙️ 工作原理

A2A基于HTTP/JSON,核心是几个关键概念:

核心概念

通信流程

1️⃣ **发现阶段** Agent A 请求 Agent B 的 Agent Card ↓ Agent B 返回:我能做什么、端点在哪、需要什么认证 2️⃣ **任务发起** Agent A 发送 Task 请求给 Agent B ↓ { "taskId": "task-123", "message": { "role": "user", "parts": [{ "text": "分析这份销售数据" }] } } 3️⃣ **任务执行** Agent B 处理任务,可能: - 立即返回结果 - 返回"处理中"状态(用于长时间任务) - 流式返回进度更新 4️⃣ **结果交付** Agent B 返回 Artifact ↓ { "artifact": { "parts": [{ "text": "分析完成,本月销售额增长15%..." }] } }

🔥 OpenClaw 实战应用

OpenClaw对A2A协议有实验性支持,你可以配置多个Agent通过A2A互相协作:

1. 配置 Agent Card

# ~/.openclaw/agents/writer/.well-known/agent.json { "name": "ContentWriter", "description": "专业内容创作Agent,擅长技术博客和营销文案", "url": "https://writer.miaoquai.com/a2a", "version": "1.0.0", "capabilities": { "streaming": true, "pushNotifications": false }, "skills": [ { "id": "write_blog", "name": "撰写技术博客", "description": "根据主题撰写高质量技术博客文章", "parameters": { "topic": { "type": "string" }, "wordCount": { "type": "number" } } } ] }

2. 配置 OpenClaw Gateway 支持 A2A

# ~/.openclaw/config.yaml gateway: enabled: true port: "3000" # 启用 A2A 端点 a2a: enabled: true path: "/a2a" # 暴露哪些Agent可以通过A2A访问 exposedAgents: - writer - researcher - reviewer # 允许哪些外部Agent调用 allowedPeers: - "https://peer1.example.com/a2a" - "https://peer2.example.com/a2a"

3. 在 Skill 中调用其他 Agent

# ~/.openclaw/skills/content-pipeline/SKILL.md --- name: content_pipeline description: "内容生产流水线:研究→撰写→审核" handler: | 主题是:{{topic}} **阶段1:研究** (调用 researcher Agent) 通过A2A发送任务给 researcher Agent: ``` POST /a2a/tasks/send { "agentUrl": "https://research.miaoquai.com/a2a", "message": { "parts": [{"text": "研究主题:{{topic}},提供关键信息和资料"}] } } ``` **阶段2:撰写** (调用 writer Agent) 将研究结果传递给 writer Agent: ``` POST /a2a/tasks/send { "agentUrl": "https://writer.miaoquai.com/a2a", "message": { "parts": [ {"text": "基于以下研究资料撰写博客:"}, {"text": "{{research_result}}"} ] } } ``` **阶段3:审核** (调用 reviewer Agent) 让 reviewer Agent检查内容质量...

💡 完整示例:Multi-Agent 工作流

以下是一个完整的多Agent协作场景:

用户:帮我做一个关于"AI Agent趋势"的深度报告

🤖 Coordinator Agent (协调者):

收到任务,开始分解。需要:研究、撰写、数据可视化。

📊 Researcher Agent (A2A调用):

正在搜索最新AI Agent趋势数据... 完成,找到12篇关键报告。

✍️ Writer Agent (A2A调用):

基于研究数据撰写报告正文... 完成,5000字深度分析。

📈 Data Analyst Agent (A2A调用):

生成趋势图表... 完成,5张可视化图表。

✅ Coordinator Agent:

所有子任务完成,整合输出最终报告。

✅ 优缺点分析

✅ 优点 ❌ 局限
  • Google背书,生态潜力大
  • 标准HTTP/JSON,易于实现
  • 支持异步长任务
  • Agent能力自动发现
  • 与MCP互补而非竞争
  • 2025年刚推出,生态还在早期
  • 需要Agent之间互相知道端点
  • 安全认证机制较复杂
  • 相比MCP,工具支持较少

🎯 最佳实践

📚 相关资源

🎬 写在最后

MCP连接世界,A2A连接Agent。2025年,这两个协议正在重新定义AI系统的架构方式。如果你正在构建Multi-Agent系统,现在就是入场的最佳时机——协议还在演进,但方向已经明确。