A2A协议:AI Agent间通信标准,和MCP有什么不同

📘 AI教程 💬 🔥 Trending 发布者: leakey
A2A协议:AI Agent间通信标准,和MCP有什么不同

🩺 摘要

你有一个写文章的AI,一个画图的AI,一个发邮件的AI。想让它们配合工作——写文章AI写完→通知画图AI配图→通知邮件AI发送。但AI之间怎么通信?A2A就是答案。

📝 详情

A2A是什么

A2A(Agent-to-Agent)是Google推出的Agent间通信协议。它的目标:让不同厂商的AI Agent能互相发现、通信、协作。

如果说MCP是「AI连工具」,A2A就是「AI连AI」。

为什么需要A2A

2026年的AI生态里,Agent越来越多。每个Agent都是一个「数字员工」——有的擅长搜索,有的擅长写作,有的擅长画图。

但你得手动协调它们。A2A让Agent们自己协调。

核心概念

Agent Card

每个Agent发布一个「名片」,描述自己会什么:

{
  "name": "画图助手",
  "description": "根据文字描述生成图片",
  "skills": ["image-generation", "image-editing"],
  "url": "http://draw-agent:8080/a2a"
}

其他Agent看到这张名片就知道它能干什么。

Task

一个Agent给另一个Agent发任务:

{
  "task_id": "task-001",
  "type": "image-generation",
  "input": {
    "prompt": "一只橘猫坐在窗台上看夕阳",
    "style": "水彩风"
  }
}

通信流程

Agent A(写作助手)
  ↓ 发现Agent B的画图技能
  ↓ 发送Task:「给这篇文章配一张图」
Agent B(画图助手)
  ↓ 执行任务
  ↓ 返回图片URL
Agent A
  ↓ 把图片嵌入文章
  ↓ 输出最终结果

实战:Python实现

# Agent A 发现并调用 Agent B
import requests
import json

# 1. 发现Agent
response = requests.get("http://draw-agent:8080/.well-known/agent.json")
agent_card = response.json()
print(f"发现Agent: {agent_card['name']}")
print(f"技能: {agent_card['skills']}")

# 2. 发送任务
task = {
    "task_id": "img-001",
    "type": "image-generation",
    "input": {"prompt": "AI芯片设计图,科技感蓝色调"}
}
response = requests.post(
    "http://draw-agent:8080/a2a/tasks",
    json=task
)
print(f"任务已提交: {response.json()}")

# 3. 获取结果
result = requests.get(f"http://draw-agent:8080/a2a/tasks/img-001/result")
print(f"图片URL: {result.json()['output']['image_url']}")

MCP vs A2A

很多人搞混这两个:

协议 连接 类比
MCP AI → 工具 USB协议
A2A AI → AI HTTP协议

MCP让AI能用工具,A2A让AI能找同事。

2026年生态

A2A还算早期。Google在自己的Agent平台用了,开源社区也在跟进。预计2027年会成为Agent间通信的标准。

一句话

A2A让AI Agent从「单打独斗」变成「团队作战」。