简明理解 Google A2A 协议:这不是 MCP!
Google最新发布的A2A协议引发了广泛关注,但市场上存在诸多误解。本文将简明扼要地介绍A2A协议的核心内容,包括其定义、功能以及与Anthropic提出的MCP协议的区别。通过深入解析A2A协议的关键要素,如任务发送、状态跟踪、结果获取和Agent能力暴露。
今天 Google 发布了 A2A 协议(Agent-to-Agent Protocol),感觉很多报道失实了。
有条件的同学,可以直接看 GitHub:
https://github.com/google/A2A
参数定义:
https://github.com/google/A2A/blob/main/specification/json/a2a.json
1、什么是 A2A?
A2A 是 Google 推出的一个开放通信协议,旨在让 AI 代理(Agent)之间可以互相沟通、协作、派发任务,并同步结果。
它解决的核心问题是:
“多个智能体如何像一个团队一样配合工作?”
想象你是一个项目经理(AI Agent A),你指派另一个人(AI Agent B)去完成任务、实时查看进度、获取结果。
2、A2A 定义了什么?
A2A 提供了一整套标准化接口与数据结构,主要包括:
任务发送(Task Initiation)
任何 Agent 都可以通过 tasks/send 或 tasks/sendSubscribe 向另一个 Agent 发出任务请求:
任务状态跟踪(Lifecycle & Streaming)
任务有完整的状态生命周期(如:submitted → working → completed)。
若使用 sendSubscribe,Agent 可以订阅 SSE(Server-Sent Events)接收状态更新:
获取结果(Artifacts)
任务完成后,执行方返回一个 artifact 对象,内部是若干 part 组成的内容单元(文本、结构化数据、文件等):
Agent 能力暴露(AgentCard)
每个 Agent 都需要提供一个标准的能力描述文件 /.well-known/agent.json,用于被发现和访问。其中包含:
- 支持的方法
- 身份验证方式
- 输入输出格式
- streaming/push 支持与否等
总结一下
A2A 的使用方法
- 发现对方 Agent(通过 agent.json)
- 发起任务(send / sendSubscribe)
- 订阅状态流 / 等待同步返回
- 获取结果 / 交互补充
- 完成或失败
3、什么是 MCP?
MCP(Model Context Protocol)是 Anthropic 提出的协议,让 AI 模型能连接各种工具和数据源。
就像一个人打开工具箱,取出需要的工具来干活。
它解决的是:
- 连接外部工具:给外面的接口一个 API Call
- 获取外部数据:访问数据库、文档、API、网页等外部内容,作为上下文
4、A2A 和 MCP 的关系
这俩完全没关系!!!!
A2A 是AI “我指挥你干活”
- 比如:“你去写个报告,写完告诉我”
- 更像团队内部的协作与分工
MCP 是AI “我亲自干活,工具辅助”
- 比如:“我去数据库里查一下销售记录”
- 更像一个人自己用工具解决问题
本文由人人都是产品经理作者【赛博禅心】,微信公众号:【赛博禅心】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于 CC0 协议。
- 目前还没评论,等你发挥!