返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

简明理解 Google A2A 协议:这不是 MCP!

[复制链接]
链载Ai 显示全部楼层 发表于 5 小时前 |阅读模式 打印 上一主题 下一主题

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(34, 34, 34);word-break: break-all;">今天 Google 发布了 A2A 协议(Agent-to-Agent Protocol),感觉很多报道失实了

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(34, 34, 34);word-break: break-all;">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(0, 122, 170);">有条件的同学,可以直接看 GitHub:
https://github.com/google/A2A

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(34, 34, 34);word-break: break-all;">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(0, 122, 170);">参数定义:
https://github.com/google/A2A/blob/main/specification/json/a2a.json


ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px;">什么是 A2A?

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(34, 34, 34);word-break: break-all;">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(0, 122, 170);">A2A 是 Google 推出的一个开放通信协议,旨在让 AI 代理(Agent)之间可以互相沟通、协作、派发任务,并同步结果。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;letter-spacing: 0.1em;color: rgb(34, 34, 34);word-break: break-all;">它解决的核心问题是:
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(0, 122, 170);">“多个智能体如何像一个团队一样配合工作?”

想象你是一个项目经理(AI Agent A),你指派另一个人(AI Agent B)去完成任务、实时查看进度、获取结果。


A2A 定义了什么?

A2A 提供了一整套标准化接口与数据结构,主要包括:

任务发送(Task Initiation)

任何 Agent 都可以通过tasks/sendtasks/sendSubscribe向另一个 Agent 发出任务请求:

{
"method":"tasks/send",
"params":{
"id":"task-123",
"message":{
"role":"user",
"parts":[{
"type":"text",
"text":"请生成一份项目计划"
}]
}
}
}

?任务状态跟踪(Lifecycle & Streaming)

任务有完整的状态生命周期(如:submittedworkingcompleted)。
若使用sendSubscribe,Agent 可以订阅 SSE(Server-Sent Events)接收状态更新:

{
"state":"working",
"timestamp":"2025-04-10T12:00:00Z"
}

也可以设置 Webhook,让任务进展主动推送回来。


?获取结果(Artifacts)

任务完成后,执行方返回一个artifact对象,内部是若干part组成的内容单元(文本、结构化数据、文件等):

{
"artifact":{
"parts":[
{
"type":"text",
"text":"项目计划如下..."
}
]
}
}

?Agent 能力暴露(AgentCard)

每个 Agent 都需要提供一个标准的能力描述文件/.well-known/agent.json,用于被发现和访问。
其中包含:

  • • 支持的方法
  • • 身份验证方式
  • • 输入输出格式
  • • streaming/push 支持与否等

?总结一下

A2A 的使用方法

  1. 1.发现对方 Agent(通过 agent.json)
  2. 2.发起任务(send / sendSubscribe)
  3. 3.订阅状态流 / 等待同步返回
  4. 4.获取结果 / 交互补充
  5. 5.完成或失败

什么是 MCP?

MCP(Model Context Protocol)是 Anthropic 提出的协议,让 AI 模型能连接各种工具和数据源。

就像一个人打开工具箱,取出需要的工具来干活。

它解决的是:

  • 连接外部工具:给外面的接口一个 API Call
  • 获取外部数据:访问数据库、文档、API、网页等外部内容,作为上下文

A2A 和 MCP 的关系

这俩完全没关系!!!!

A2A 是AI"我指挥你干活"

  • • 比如:“你去写个报告,写完告诉我”
  • • 更像团队内部的协作与分工

MCP 是AI"我亲自干活,工具辅助"

  • • 比如:“我去数据库里查一下销售记录”
  • • 更像一个人自己用工具解决问题

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ