个人简介
作者简介:全栈研发,具备端到端系统落地能力,专注大模型的压缩部署、多模态理解与 Agent 架构设计。 热爱“结构”与“秩序”,相信复杂系统背后总有简洁可控的可能。
我叫观熵。不是在控熵,就是在观测熵的流动
个人主页:观熵
个人邮箱:privatexxxx@163.com
座右铭:愿科技之光,不止照亮智能,也照亮人心!
专栏导航
观熵系列专栏导航:
AI前沿探索:从大模型进化、多模态交互、AIGC内容生成,到AI在行业中的落地应用,我们将深入剖析最前沿的AI技术,分享实用的开发经验,并探讨AI未来的发展趋势
AI开源框架实战:面向 AI 工程师的大模型框架实战指南,覆盖训练、推理、部署与评估的全链路最佳实践
计算机视觉:聚焦计算机视觉前沿技术,涵盖图像识别、目标检测、自动驾驶、医疗影像等领域的最新进展和应用案例
国产大模型部署实战:持续更新的国产开源大模型部署实战教程,覆盖从 模型选型 → 环境配置 → 本地推理 → API封装 → 高性能部署 → 多模型管理 的完整全流程
TensorFlow 全栈实战:从建模到部署:覆盖模型构建、训练优化、跨平台部署与工程交付,帮助开发者掌握从原型到上线的完整 AI 开发流程
PyTorch 全栈实战专栏: PyTorch 框架的全栈实战应用,涵盖从模型训练、优化、部署到维护的完整流程
深入理解 TensorRT:深入解析 TensorRT 的核心机制与部署实践,助力构建高性能 AI 推理系统
Megatron-LM 实战笔记:聚焦于 Megatron-LM 框架的实战应用,涵盖从预训练、微调到部署的全流程
AI Agent:系统学习并亲手构建一个完整的 AI Agent 系统,从基础理论、算法实战、框架应用,到私有部署、多端集成
DeepSeek 实战与解析:聚焦 DeepSeek 系列模型原理解析与实战应用,涵盖部署、推理、微调与多场景集成,助你高效上手国产大模型
端侧大模型:聚焦大模型在移动设备上的部署与优化,探索端侧智能的实现路径
行业大模型 · 数据全流程指南:大模型预训练数据的设计、采集、清洗与合规治理,聚焦行业场景,从需求定义到数据闭环,帮助您构建专属的智能数据基座
机器人研发全栈进阶指南:从ROS到AI智能控制:机器人系统架构、感知建图、路径规划、控制系统、AI智能决策、系统集成等核心能力模块
人工智能下的网络安全:通过实战案例和系统化方法,帮助开发者和安全工程师识别风险、构建防御机制,确保 AI 系统的稳定与安全
智能 DevOps 工厂:AI 驱动的持续交付实践:构建以 AI 为核心的智能 DevOps 平台,涵盖从 CI/CD 流水线、AIOps、MLOps 到 DevSecOps 的全流程实践。
C++学习笔记?:聚焦于现代 C++ 编程的核心概念与实践,涵盖 STL 源码剖析、内存管理、模板元编程等关键技术
AI × Quant 系统化落地实战:从数据、策略到实盘,打造全栈智能量化交易系统
大模型运营专家的Prompt修炼之路:本专栏聚焦开发 / 测试人员的实际转型路径,基于 OpenAI、DeepSeek、抖音等真实资料,拆解 从入门到专业落地的关键主题,涵盖 Prompt 编写范式、结构输出控制、模型行为评估、系统接入与 DevOps 管理。每一篇都不讲概念空话,只做实战经验沉淀,让你一步步成为真正的模型运营专家。
《Google 正式发布 A2A 协议:构建多智能体协同生态的关键一步》
基于 2025 Cloud Next 大会解读最新 Agent2Agent 协议设计与开发实践路径
📄 摘要
2025 年 4 月 9 日,在 Google Cloud Next 大会上,Google 联合 50 多家企业正式发布 A2A(Agent-to-Agent)开放协议,试图为日益增长的智能体协作需求建立一套标准通信框架。
A2A 并非又一个大模型“聊天协议”,而是面向多智能体系统设计的能力协同与任务驱动机制,其核心关注点在于:如何让不同厂商、不同框架的 Agent 以统一方式描述自身能力、发起请求、追踪任务,并最终完成真实业务流程。
本文将围绕 A2A 协议的结构设计、使用方式与工程落地展开剖析,并通过现实开发中的任务链协同、异步回调、多方通信等典型场景,分析 A2A 在实际开发中的可操作路径与潜在影响。
这不是一篇理论报告,而是一份面向 Agent 工程师的实战解析文。我们将站在中立视角,借助 Google 开源文档与合作厂商动态,还原 A2A 协议的真实工程价值。
📚 目录
一、A2A 协议是什么?为什么在 2025 年这个时间点推出?
- 背景:智能体生态从单点能力走向协同网络
- Google 联合生态发布的动因与产业趋势
二、核心设计思想:A2A 的五个关键词
- AgentCard:让 Agent 成为可发现、可描述的组件
- Task:统一的任务发起、状态流转与追踪机制
- Message:多 Agent 异步通信的标准格式
- Artifact:最终生成成果物的可交付表示
- 推送机制(SSE / Webhook):解决长任务非阻塞协作问题
三、协议结构解读:从接口规范到开发实现
- 协议格式(OpenAPI + JSON Schema)
- 通信流程(Task → 状态变化 → 消息交换 → 结果产出)
- 安全设计(身份验证、Token、签名等)
四、真实场景演示:如何用 A2A 构建“多 Agent 工作流”?
- 示例一:日程 + 邮件 + 文档三个 Agent 联动
- 示例二:企业内多部门 Agent 跨系统协同处理一次报销流程
- 示例三:SaaS 平台如何封装 AgentCard 开放能力市场
五、A2A 的定位:它不是替代,而是补全
- 与 Function 调用、AutoGen、LangGraph 等框架的关系
- 可被集成、复用、组合而非取代现有系统
六、大厂生态动向一览:谁已经支持 A2A?
- Salesforce、SAP、MongoDB、ServiceNow 的典型集成路径
- Google 的 Developer Hub 与 Agent Registry 初探
七、适合谁、怎么用、未来怎么演进?
- 企业、开发者、平台三类角色的接入建议
- A2A SDK / AgentHub / 标准运行时的可能路径
- 与 MCP 等协议协同的技术演化趋势
一、A2A 协议是什么?为什么在 2025 年这个时间点推出?
在过去的两年间,“AI Agent”这个概念快速从技术讨论走向应用实践。从最初的 AutoGPT、LangChain Agent,再到 DeepSeek Agent、通义百炼、智谱 AgentVerse 等落地框架,我们已经看到越来越多开发者、SaaS 厂商、企业内部团队开始将“多 Agent 协作”作为系统构建的重要路径。
但与此同时,一个绕不开的现实也逐渐浮出水面:
Agent 可以做得越来越多,但彼此之间却始终难以高效沟通。
这不是模型能力的问题,而是“协作机制”的缺失。在多数系统中,Agent 与 Agent 之间的通信依旧依赖于:
- 各自平台的私有接口(API);
- 各种 prompt glue code 拼接;
- 或者通过链式调用框架(如 AutoGen)进行编排;
- 更复杂的情况则需要构建自定义协议、设置上下文共享方式、部署中间桥接服务……
这就像互联网早期时代:每个站点都有自己的 HTML 实现,没有统一协议,也缺少组件标准,结果是开发成本高、复用率低、互通障碍严重。
而这种碎片化的 Agent 世界,正是 Google 此次提出 A2A 协议的根本背景。
🧭 A2A 协议的初衷:让智能体之间“说同一种语言”
2025 年 4 月 9 日,在 Google Cloud Next 大会上,Google 宣布正式发布 A2A(Agent-to-Agent)协议,并同步开源其核心规范与接口定义文档。首批参与支持的企业包括 Salesforce、SAP、ServiceNow、MongoDB、Box 等,涵盖了 CRM、ERP、DevOps、数据库管理等多个主流 SaaS 与企业服务领域。
在官方定义中,A2A 协议的定位是:
“A protocol for enabling secure, structured, asynchronous collaboration between heterogeneous software agents.”
也就是说,它不是某个具体模型的增强协议,也不是替代现有的 API 调用或框架封装,而是站在**“跨平台智能体协作”的角度,提供一套标准化的通信与任务协调机制**。
简单来说,如果你开发了一个日程安排 Agent,而我有一个邮件回复 Agent,我们不需要知道彼此用的是哪个框架、是否共享上下文,甚至不需要事先约定 API,只要都遵循 A2A 协议,就可以通过注册、发现、通信三个步骤完成协同任务。
这背后的逻辑,就像是“为智能体建立一套外交语言”,并通过标准格式,让 Agent 间能像模块一样自由组合、互相协作。
🕰 为什么是 2025 年?
如果我们把时间线稍微拉远,会发现 A2A 并非空穴来风,而是在多个趋势积累下的必然产物:
时间 | 关键事件 | 背后趋势 |
---|---|---|
2023 | AutoGPT、LangChain 等爆火 | 单模型智能体概念成型,初步探索任务代理 |
2024 Q2 | Claude 推出工具调用 + MCP 协议 | Agent × Tool 互通接口规范化 |
2024 Q4 | 阿里、智谱、百度等进入多 Agent 联动领域 | 多厂商生态逐步分裂,平台割裂严重 |
2025 Q1 | DeepSeek/通义支持多智能体角色配置 | 企业内部多 Agent 应用实践增多 |
2025 Q2 | Google 联合生态推出 A2A 协议 | 标准化协作协议需求正式浮现 |
也就是说,Agent 协作的需求已经被验证,痛点已经暴露,而生态标准的建立正是下一步不可缺少的基建环节。
A2A 的出现,正是为了填补“Agent 间通信缺乏共识”的空白,它试图统一以下三件事:
- 身份识别:你是谁,能做什么?
- 任务沟通:我如何向你发起任务?
- 结果追踪:我们如何保持协作一致性与异步沟通?
这三点,正是后续章节中我们将深入解析的 AgentCard、Task、Message、Artifact、SSE 机制所一一对应的设计目标。
在接下来的章节中,我们将基于 A2A 官方发布的开发者文档和接口规范,结合 SaaS 工程中典型的协同任务需求,逐步拆解这套协议的结构设计、数据流转方式以及在实际系统中的构建方式。
这不是一个“更智能”的 Agent 协议,而是一个更好协作的通信层标准。
你可以把它当成是:
- 微服务世界里的 gRPC;
- 云函数调度中的 OpenAPI;
- 甚至是 Agent 联邦世界里的“外交部标准文件”。
二、核心设计思想:A2A 的五个关键词
如果说 A2A 是为 AI 智能体之间设计的一套“沟通语言”,那么这门语言的语法核心,就体现在它的五个关键设计模块中:
- AgentCard:身份与能力的自描述
- Task:任务的发起与生命周期管理
- Message:沟通中的信息交互
- Artifact:任务最终成果的承载体
- 推送机制(SSE/Webhook):异步任务协作的通道
这五个关键词不仅构成了 A2A 协议的骨架,也映射到了多智能体系统中的典型交互流程。接下来,我们将逐一拆解这些模块,理解它们的结构设计与工程价值。
1️⃣ AgentCard:Agent 的身份证 + 名片 + API 描述文档
每一个遵循 A2A 协议的 Agent,都必须公开自己的 AgentCard。
你可以把它类比成一个API 的 schema 文件 + 插件 manifest + 名片信息集合。它的作用有两个:
- 描述自己是谁、能做什么:包括 ID、版本、组织归属、用途说明;
- 声明自己支持哪些格式 / 任务类型 / 能力接口:例如支持什么输入格式、返回哪些类型的结果、能接受哪些任务。
👇 示例片段(来自 Google A2A 官方文档):
{
"id": "calendar-agent-001",
"name": "Calendar Assistant",
"version": "1.0",
"capabilities": ["schedule_event", "list_availability"],
"input_format": "JSON",
"output_format": "JSON",
"authentication": "Bearer Token"
}
工程价值:
- 类似 OpenAPI 里的接口定义 + Swagger 描述
- 实现 Agent 发现机制(你可以用 AgentRegistry 实现 Agent Card 汇总与检索)
- 在任务分发前完成兼容性判断,避免 runtime 报错
✅ 技术建议:AgentCard 推荐使用 JSON Schema 标准格式进行约定,便于注册中心自动解析。
2️⃣ Task:任务的发起、状态管理与执行追踪
A2A 的第二个核心模块是 Task,它定义了一个 Agent 如何发起请求、委派任务、追踪执行状态的完整流程。
你可以理解成一个“异步函数调用过程”的完整结构,包含:
- 任务 ID(task_id)
- 发起方 / 接收方 Agent ID
- 请求参数(parameters)
- 当前状态(created / pending / running / completed / failed)
- 进度记录(events)
- 是否启用 SSE / 回调通知机制
👇 示例结构(简化版):
{
"task_id": "task-6789",
"sender": "calendar-agent-001",
"receiver": "email-agent-002",
"status": "running",
"parameters": {
"event_title": "Project Sync",
"time": "2025-04-20T10:00Z"
}
}
任务会伴随整个交互过程不断变化状态,并支持事件驱动式更新,比如:
- 已创建 → 正在执行 → 生成中间结果 → 完成
- 或者 → 被取消 / 执行失败 → 附带错误详情
✅ 工程上,Task 是所有 A2A 协议行为的“最小交互单位”,也是后续 Message 和 Artifact 的锚点。
3️⃣ Message:Agent 间交流过程中的“会话片段”
在任务执行期间,双方 Agent 会通过 Message 对象进行信息沟通,例如补充说明、确认参数、修改任务细节等。
你可以把它看作一种轻量级的“带上下文的对话”,类似聊天消息流。
{
"message_id": "msg-abc123",
"task_id": "task-6789",
"from": "email-agent-002",
"to": "calendar-agent-001",
"timestamp": "2025-04-17T09:00Z",
"content": "I need to confirm the location for the event."
}
工程应用:
- 支持任务中的“可协商性”(比如时间变动、能力确认)
- 提供清晰的协作历史记录,便于日志记录与对账
- 多 Agent 协作时,可以回溯消息流,做调试与溯源分析
4️⃣ Artifact:任务的最终成果,结果的标准包装
Artifact 是 A2A 中对任务结果的统一封装方式。它可以是:
- 文本类输出(如总结报告)
- 文件类产物(如 PDF、图像、音频)
- 结构化数据(如 JSON、数据库记录)
{
"artifact_id": "artifact-789",
"task_id": "task-6789",
"type": "text",
"format": "markdown",
"content": "# Meeting Summary\n- Topic: Project Sync\n- Time: April 20, 10am"
}
工程作用:
- 避免每个 Agent 各写各的返回格式
- 使成果物可以被另一个 Agent 二次调用 / 解析
- 为统一审计 / 存档 / 上链等场景打好结构基础
5️⃣ 推送机制:SSE / Webhook 异步通道,释放协作能力
最后一个重要机制,是 A2A 协议支持异步任务处理的推送机制,包括:
- Server-Sent Events(SSE):允许接收方通过持续连接接收状态变化
- Webhook 回调:任务执行完成后,向指定回调地址发送通知
在实际场景中,这意味着:
- 你可以向某个 Agent 发起任务,然后立刻返回,不用“同步等待”结果
- 任务执行过程中,远程 Agent 会不断推送进度、发送中间数据
- 最终结果通过 Artifact 结构回传,调用者通过状态监听器消费成果
工程价值:
- 解耦任务执行逻辑与响应链条,支持“长任务 / 远程 Agent / 多节点异步系统”
- 提升可靠性,降低系统耦合度
- 可对接 Kafka / Redis Stream / Message Queue 做更复杂的事件驱动调度
🧩 总结
A2A 不是一个“套壳通信层”,它设计的是一整套:
- Agent 描述协议(AgentCard)
- 任务交互语言(Task + Message + Artifact)
- 异步事件系统(SSE + Webhook)
这五大模块构建了 Agent 与 Agent 之间可预测、可管理、可复用的协作模型,是多智能体协同系统得以构建的通信基础。
如果说 Function Call 是“模型调函数”,那 A2A 是“Agent 调 Agent”。
三、真实场景演示:如何用 A2A 构建“多 Agent 工作流”?
要理解 A2A 的实际工程价值,仅靠协议解构还不够。更关键的是——它到底能帮开发者减少哪些“重复劳动”?解决什么“协作瓶颈”?
这一章,我们将通过典型的 日程 + 邮件 + 文档总结 三 Agent 联动场景,模拟在企业日常协同中的真实使用流程,展示如何用 A2A 实现智能体之间的无缝协同工作。
🎯 任务背景设定
你是某家 AI 产品团队的技术负责人,正在设计一个“企业虚拟助理系统”,它的目标是:
当用户说:“帮我安排一下下周团队会议,并通知大家”,系统能自动完成如下任务链:
- 日历 Agent:确认与团队成员的空闲时间
- 邮件 Agent:编写邮件内容并发送给参与者
- 总结 Agent:事后整理会议纪要
在传统实现中,你可能需要:
- 写三个独立微服务;
- 定义各自的 API;
- 构建中间调度系统;
- 搞一堆格式转换与调用状态监听;
- 最后加无数容错逻辑以防信息断裂……
A2A 协议的目标就是:用一套标准机制,把这套“多智能体任务链”结构化成一个可重用的通信框架。
🧪 Agent 设计与角色划分(基于 A2A 协议)
Agent 名称 | 对应功能 | AgentCard 能力声明 |
---|---|---|
calendar-agent | 管理会议日程 | check_availability , create_event |
email-agent | 编写/发送邮件 | compose_email , send_email |
summary-agent | 总结会议内容 | transcribe , summarize_notes |
每个 Agent 会注册自己的 AgentCard 到注册中心或平台服务,声明其可执行的 Task 类型与接口格式。
🔁 通信流程拆解(完整多 Agent 协同流程)
我们以用户一句自然语言指令为起点,拆成如下阶段:
🧩 步骤一:主调度 Agent 发起“安排会议”任务
POST /a2a/task/send
{
"task_id": "task-1001",
"sender": "main-orchestrator",
"receiver": "calendar-agent",
"parameters": {
"attendees": ["alice@corp.com", "bob@corp.com"],
"duration": "30min",
"window": "next week"
}
}
此请求由主控 Agent 发起,目标是让 calendar-agent
查找最优会议时间段。
📥 步骤二:calendar-agent 接收任务,异步处理并推送状态
任务创建成功后,calendar-agent
进入 running
状态。它通过 SSE 向主控 Agent 推送进度更新:
event: task_update
data: {
"task_id": "task-1001",
"status": "completed",
"artifact": {
"type": "json",
"content": {
"available_time": "2025-04-21T14:00:00Z"
}
}
}
此阶段生成一个 Artifact,表示推荐时间段。
✉️ 步骤三:主控 Agent 基于 Artifact 发起下一个任务:撰写通知邮件
POST /a2a/task/send
{
"task_id": "task-1002",
"sender": "main-orchestrator",
"receiver": "email-agent",
"parameters": {
"recipients": ["alice@corp.com", "bob@corp.com"],
"subject": "团队会议安排通知",
"body": "会议定于 4月21日 14:00 开始,请准时参加。"
}
}
email-agent
负责将该内容渲染为正式邮件,并调用后端邮件服务完成发送。
📜 步骤四:会议结束后,summary-agent 执行总结任务
当会议结束,主控 Agent 收到触发信号后,向 summary-agent
发起语音转录 + 文本总结任务:
POST /a2a/task/send
{
"task_id": "task-1003",
"sender": "main-orchestrator",
"receiver": "summary-agent",
"parameters": {
"audio_url": "https://storage.xxx.com/audio/meeting20250421.mp3"
}
}
最终 summary-agent
返回会议纪要作为 Artifact:
{
"artifact_id": "a-331",
"type": "markdown",
"content": "### 团队会议纪要\n- 项目进度:90%\n- 下周目标:发布 beta 版本"
}
💡 对比传统实现方式
项目 | 传统方式 | A2A 协议方式 |
---|---|---|
通信机制 | RPC / HTTP API(需自定义协议) | 标准化 Task + Message + Artifact |
状态追踪 | 各 Agent 自定义 / 需额外管理 | 协议内含完整状态模型 |
消息推送 | 需集成 MQ / 中间件 | 原生支持 SSE / Webhook |
能力声明 | 无公共注册机制 | AgentCard 可注册、发现、过滤 |
可复用性 | 高耦合,任务定制化 | 低耦合,标准格式可组合重用 |
🛠 工程实现建议
如果你想在项目中实际模拟类似流程,以下是可参考的工程路线:
- 使用 FastAPI + Uvicorn + SQLite 快速构建一个 A2A Agent 服务端
- 每个 Agent 实现一套标准 RESTful API(支持
/agentcard
,/task/send
,/task/status
,/message
等接口) - 搭建一个注册中心:所有 AgentCard 自动注册入库
- 主调度 Agent 实现“Task Orchestrator”,管理任务流程与状态跟踪
- 可选实现 SSE 消息推送服务,提升交互体验
✅ 小结:标准协议驱动的多智能体流程协作,第一次变得工程上“可落地”
过去,多智能体系统中的协作逻辑往往写死在 orchestrator 层,依赖接口拼接、模型 prompt glue、状态补丁。而 A2A 的设计,是一次真正“从通信协议层”思考智能体协作问题的尝试。
它让我们得以将 Agent 看成一个一个“可描述、可发现、可请求”的自治组件,不同 Agent 可以像微服务一样组合协作,而无需共享运行时、统一模型、甚至统一厂商。
四、A2A 的定位:它不是替代,而是补全
从协议结构来看,A2A 确实是一套“Agent 间通信语言”,拥有完整的任务建模、状态流转、能力声明与异步消息机制。它看起来很像一个“Agent 编排框架”,但它不是 LangChain,也不是 AutoGen,更不是 Function Call 的替代者。
A2A 的真正定位,是补全现有生态在“Agent 互操作性”上的缺口——为所有智能体提供一个通用、独立于厂商和框架的通信规范层。
让我们从几个维度进行详细拆解。
🧱 1. 与 OpenAI Function / Tool Calling 的对比:调用 vs 协作
维度 | Function Calling | A2A 协议 |
---|---|---|
核心目标 | 模型调用函数 / 工具 | Agent 调用另一个 Agent |
触发主体 | LLM 生成请求 + Tool router | Agent 主动发起 Task |
对象 | 本地服务 / API endpoint | 可自治智能体(可独立部署) |
通信机制 | 内嵌 prompt + 函数定义 | JSON API + 状态流 + 消息流 |
适用场景 | 模型一体化能力增强 | 多 Agent 协同编排任务链 |
✅ Function 调用是单模型能力的扩展机制;A2A 是跨智能体通信机制,两者目标层次不同。
你可以把 Function Calling 看作是让“一个大模型长出手脚”,而 A2A 是“多个智能体组成生态系统,各自运转、互相协作”。
🧩 2. 与 AutoGen / LangGraph 的对比:执行框架 vs 通信协议
维度 | AutoGen / LangGraph | A2A 协议 |
---|---|---|
作用 | 编排 Agent 行为、定义执行图 | 统一通信语义与任务状态管理 |
编写方式 | Python 中定义角色 → 执行策略 → 交互回调 | JSON Schema 描述任务与消息结构 |
执行环境 | 本地 Python 执行 + 多线程/多进程控制 | 可分布式部署、跨语言调用 |
通信层 | 多数通过 Python method 调用或自定义消息格式 | 标准 RESTful Task 接口 + SSE 推送机制 |
AutoGen 和 LangGraph 更像是**“Agent 编排运行时”,擅长定义行为图、决策路径与上下文共享策略,而 A2A 是一个“Agent 间通信协议”**,擅长标准化能力暴露、异步协同与跨厂商互通。
✅ 它们之间不是竞争,而是可以组合使用。未来很可能是:AutoGen × A2A = 更标准的分布式 Agent 执行体系。
🔄 3. 与 LangChain Tool / Plugin 系列的关系:内部 vs 外部
LangChain 的 Tool 模块本质上是为某个 Agent 添加外部执行能力(插件化能力封装),而不是为了多 Agent 间协作。你很难用 LangChain Tool 调用另一个 LangChain Agent,除非你把它们全部跑在一个 Python Runtime 里。
而 A2A 协议的目标正是打破这种运行时耦合:Agent 之间可以部署在不同容器、平台、语言环境中,只要遵守协议,就能自由通信。
比如:
- 你可以用 LangChain 实现一个 Agent;
- 用 Java 实现另一个 Agent;
- 两者注册自己的 AgentCard;
- 然后通过 A2A 进行互联、交互、协作——无须共享运行时,也不强依赖模型接入方式。
这意味着 A2A 天然适合构建“跨语言 / 跨平台 / 跨厂商的智能体系统”。
🤝 4. A2A 的生态级价值:Agent Market / Agent Registry / SDK 构建基础
Google 推出 A2A 的深层目的,并不仅仅是为了解决“多 Agent 聊天协作”的问题,而是为接下来可能诞生的以下几类平台打下基础:
- Agent 能力市场:第三方注册 AgentCard,平台调度调用(类似插件市场)
- Agent Registry 平台:可发现、可搜索、可筛选、可组合的 Agent 集群
- A2A SDK / 工程框架:开发者只需实现 Agent 逻辑,通信交互全部由协议层接管
- 中立运行时 / 多租户协同体系:基于协议统一通信,支持平台对平台之间的 Agent 联邦调用
这意味着 A2A 不会替代现有框架,而是成为下一代多智能体系统里的底层协议基建,类似于 Web 世界中的 HTTP/RESTful、微服务体系中的 gRPC、云平台中的 OpenAPI。
🧭 小结:A2A 是协同层,而非智能层
你可以把整个 Agent 系统分成三层:
- 智能层:语言模型、决策算法、推理模块(如 LLM、强化学习)
- 执行层:任务调度、工具调用、行为编排(如 AutoGen、LangGraph、Function)
- 协同层:多智能体通信、任务交互、异步协作(这正是 A2A 所在的层级)
它不定义 Agent 的思维方式、不替代你的运行逻辑,也不参与任务规划,而是确保你构建的多个智能体可以彼此对话、任务交接、状态共享,而无需额外 glue code。
五、大厂生态动向一览:谁已经支持 A2A?
如果说前几章解决的是“协议值不值得用”,那么本章关注的是另一个现实问题:
谁在用?哪些公司真的要把 A2A 接入生产系统?
2025 年 4 月 9 日,Google 在 Cloud Next 大会上正式发布 A2A 协议时,并非孤军奋战。它同步公布了一批首发支持合作伙伴,覆盖多个关键领域,包括:
- SaaS 应用层:Salesforce、SAP、ServiceNow、Box
- 数据与开发平台:MongoDB、Replit、Google Sheets
- 办公与协作系统:Jasper、Canva、Miro
- 开发工具与 API 管理:Postman、Instabase、Bardeen
这说明:A2A 并不是为某种“Agent 框架”定制的协议,而是一场平台级能力整合的前奏。
下面我们选取其中几家代表性厂商,分析它们在 Agent 化过程中面临的挑战,以及 A2A 的接入价值。
🏢 Salesforce:CRM Agent 化的“能力分发市场”
Salesforce 是全球最复杂、最开放的 CRM 平台之一,它有数千个模块、插件、客户定制应用、数据同步能力。
而 Agent 化是它近年重要布局——Einstein GPT、Flow Actions、Slack Agent 都已逐步推出。
但最大问题是:这些模块之间的交互非常依赖用户手动设定流程规则。
一旦客户希望某个 Agent 主动发起异步任务(比如监控商机动向 → 通知销售 → 写日报),就必须依赖复杂的 Apex 代码或 Flow Builder 工作流引擎。
A2A 的引入,意味着:
- Salesforce 可以将每个子模块包装成可声明能力的 AgentCard
- 任务驱动机制可以统一编排,不再依赖 Flow 模型硬编码
- 用户自定义 Agent → 能力市场调用 → 平台路由通信 → 异步成果追踪,全程基于 A2A 标准进行流转
这会极大地降低复杂企业业务在智能体化流程中的实现门槛。
🧠 SAP:业务流程 + Agent 框架的连接器
SAP 在 ERP / 财务系统 / 供应链系统中的 Agent 化挑战是“系统重 × 接口杂 × 安全要求高”。
引入 A2A 后,SAP 可以:
- 将核心模块(如采购、财务审批、人事流程)抽象成独立 Agent
- 提供统一的 Task 接收接口,外部 Agent 发起请求即可触发审批流
- 用户端的定制 Agent(例如合规检查、风险预测)也可以以 Artifact 方式接入系统
这类场景是典型的“多角色跨系统流程”,而 A2A 提供的就是任务建模 + 状态跟踪的完整框架。
📊 MongoDB:数据平台如何变成“Agent-ready 服务提供者”
MongoDB 宣布支持 A2A,意味着它将以“数据智能 Agent”的身份接入任务流中。这不是传统的数据库查询,而是要提供如下能力:
- 根据请求语义解析 → 自动构造查询语句
- 执行并生成结构化 Artifact(数据报告 / 可视化数据)
- 在长查询任务中通过 SSE 返回实时进度
- 将查询能力暴露为 AgentCard 注册接口,被调度平台统一调用
这对构建“AI × 数据平台”生态非常关键。过去一个模型要查 Mongo,要么硬写 prompt,要么写插件;未来你可以直接对 MongoDB Agent 发起 Task,它自己会调 parser → 查询 → 返回 Artifact,甚至可以和别的 Agent 再度协作分析。
🖼 Jasper / Canva / Miro:内容生成领域的多 Agent 协作试验场
这些平台在接入 A2A 后,可以让每个“内容生成功能”以 Agent 的形式挂载在平台内,比如:
- Canva 的“配色推荐 Agent”
- Jasper 的“SEO 文案优化 Agent”
- Miro 的“思维导图自动延展 Agent”
所有这些功能都可注册为 AgentCard,接入统一调度平台,供企业/用户/外部模型调用,而无需每家平台单独定义接口集成方式。
这也是 Google 希望打造的“Agent Hub 联邦”:各平台成为 Agent 提供者,构成生态协作图谱。
🇨🇳 国内潜力平台预判:谁适合早期引入 A2A?
虽然当前 A2A 还未完全本地化落地,但我们可以预判一些国内厂商的适配趋势:
平台 | 当前状态 | 接入 A2A 潜力点 |
---|---|---|
通义百炼(阿里) | 已支持 AgentCard + 工具插件化,部分 MCP 接口 | 若统一 Task 机制,可做 Agent × Agent 多任务驱动 |
智谱 AgentVerse | 已构建角色编排 / 事件触发系统 | 引入 A2A 可打通多平台 Agent 调用 |
腾讯云 AgentBase | 着力构建企业私有 Agent 平台 | 若结合 A2A,可形成 SaaS 工具 × Agent 整合路径 |
百度文心一言 | 插件机制活跃,暂未支持 Agent 联动 | 可通过 A2A 实现插件 Agent 化调用编排 |
MiniMax / 讯飞星火等 | LLM 能力成熟,但协作协议未统一 | 若支持 A2A,可与第三方平台 Agent 形成联合生态 |
🧩 小结:Agent 不只属于模型,它也将属于每个平台
Google 发布 A2A 的战略价值在于:不去绑定模型厂,不去定义执行框架,而是建立一种“平台互信、智能体互认”的能力协作协议。
A2A 协议的生态生命力来自三种角色的参与:
- Agent 提供方:注册 AgentCard、响应 Task、输出 Artifact
- 任务调度方:发起任务、管理状态、维护流程
- 平台服务方:构建注册中心、托管 Agent、保障协同安全
它们共同构成多智能体世界的“运行时国度”。
六、适合谁、怎么用、未来怎么演进?
到这里我们已经清楚地理解了 A2A 的结构、应用场景以及大厂支持生态。但对于开发者来说,最重要的问题往往是:
“这个协议离我有多远?我要不要接?要怎么接?”
这一章我们就来逐一拆解:三类使用者、三种落地方式、三种演进路径,让你能从自己的项目角色中快速定位可行动方案。
👨💻 1. 谁适合优先接入 A2A?
✅ 类别一:构建多 Agent 协同系统的开发者
如果你正在做以下类型的系统,A2A 是你的工程降本利器:
- 企业虚拟助理(跨职能 Agent 协同)
- 多工具自动化系统(调日历 / 发邮件 / 写日报 / 查系统)
- RAG 系统 + Agent 多轮对话(Retriever × Summarizer × Generator 联动)
✅ 类别二:平台方 / SaaS 工具方
如果你提供服务给开发者,如:
- 文档协作平台(WPS、石墨、飞书文档)
- 任务流工具(Jira、语雀、语音记录工具)
- 企业数据服务(API 提供商、搜索引擎、BI 报告)
你可以把自家服务封装为 Agent,以 A2A 标准注册能力卡片 + 接收任务接口,向生态开放服务调用,进入「Agent 联邦」生态。
✅ 类别三:中台团队 / 基建部门
如果你是大型企业的 AI 中台、研发平台组,A2A 协议可以:
- 构建统一的 AgentCard 注册平台,集中暴露能力
- 形成标准化 Task 分发系统,避免各部门 Agent 各写一套 Glue Code
- 实现数据隔离、多租户 Agent 调度,提升平台级工程治理能力
🛠 2. 怎么用 A2A?三步快速实现一个支持 A2A 的 Agent
步骤一:定义并发布你的 AgentCard
创建一个 JSON 文件,声明你的 Agent 身份和能力。
{
"id": "report-agent-001",
"name": "日报生成器",
"description": "接收数据摘要并生成日报 markdown 格式文档",
"version": "1.0",
"capabilities": ["generate_report"],
"authentication": "Bearer",
"input_format": "JSON",
"output_format": "markdown"
}
你可以将其注册到一个 Registry 服务中,也可以本地托管。
步骤二:实现标准 Task 接口(RESTful)
构建你自己的 FastAPI / Flask 接口,支持 /task/send
, /task/status
, /message
, /artifact
等核心调用。
例如:
@app.post("/task/send")
def handle_task(task: TaskInput):
# 处理 task.parameters,根据任务类型路由执行逻辑
task_id = save_task_to_db(task)
dispatch_to_worker(task)
return {"task_id": task_id, "status": "accepted"}
步骤三:实现 SSE / Webhook 推送(可选)
对于长耗时任务,你可以实现 Server-Sent Events 方式实时推送进度:
@app.get("/task/status/stream/{task_id}")
async def sse_task_status(request: Request, task_id: str):
async def event_generator():
while not request.is_disconnected():
status = get_task_status(task_id)
yield f"data: {json.dumps(status)}\n\n"
await asyncio.sleep(2)
return EventSourceResponse(event_generator())
🔭 3. A2A 的未来会走向哪里?
📦 SDK 工具链将陆续开源 / 发布
预计 Google 将逐步发布:
- 官方 Python SDK(类似 openai 或 anthropic client)
- TypeScript / Go 客户端封装
- A2A Agent 快速注册 CLI / Dev Server 本地模拟框架
🌐 标准化平台将出现“Agent Hub × A2A Registry”
Google 当前已在 Developer Hub 中构建 AgentCard 托管系统,后续可能演化出类似:
- Agent Market:第三方 Agent 发布、搜索、评分、调用
- Agent TrustLayer:身份认证、访问权限控制、API 限流等机制
- Agent AuditLog:统一追踪 Agent 调用链路与异常溯源
🤝 与其他协议协同融合(如 MCP、OpenAPI、OAuth)
在多 Agent 协作中,A2A 很可能和其他标准联动:
- 与 MCP 协议共同构成:Agent × Tool 的闭环调用结构
- 与 OpenAPI 对接生成 Task 参数验证机制
- 与 OAuth 2.0 / JWT Token 配合完成身份授权与权限隔离
最终构建一个从“身份定义 → 能力注册 → 任务调度 → 状态推送”的完整 Agent 运行协议体系。
✅ 小结:A2A 不只是协议,它是 Agent 工程化道路上的“统一接口规范”
它不限制你用哪个模型,不替你做规划编排,但它定义了一种“可协作、可发现、可追踪”的任务通信语言。
对于企业来说,它是降本的工程基建;
对于开发者来说,它是清晰的设计蓝图;
对于平台来说,它是撬动 Agent 能力网络的连接器。
七、结语:
在 AI Agent 迈入系统化、工程化阶段的今天,“能力已不稀缺,协作才是稀缺”的矛盾愈发突出。
我们有了足够强大的语言模型、足够丰富的工具插件、足够精细的指令控制链条,但多 Agent 系统依然像一个未建成的联盟组织:
- 各 Agent 各自为政,难以协作;
- 信息传递靠 prompt 粘合,易碎且不可溯源;
- Agent 能力无法被注册发现,难以组合与重用。
而 A2A 协议的诞生,正是对这一系统性短板的一次集体回应。它不是 Google 单方面的工程工具,而是多个技术公司联合提出的Agent 协作基础协议层,它要解决的,不只是“怎么调一个 Agent”,而是:
“怎么让不同 Agent,可以像服务组件一样,自描述、可发现、能沟通、可编排、能追踪。”
就像我们今天已经习惯于:
- 用 HTTP 在浏览器中加载网页;
- 用 RESTful / gRPC 调用微服务;
- 用 OpenAPI 生成 SDK 与接口文档;
未来我们或许也将习惯于——
用 A2A 调用智能体,就像用 API 调用服务一样自然。
🧭 它意味着什么?
- 对开发者来说:不再需要为每个 Agent 单独写通信 glue code,一个 Agent 的行为、能力、接口都可被标准注册、复用、路由。
- 对平台方来说:可以统一构建 Agent 能力市场,将生态内各类服务封装为 AgentCard,对外开放。
- 对企业来说:构建私有 Agent 系统变得清晰可控,多部门之间可以通过 Task 协议传递任务、追踪状态,而不是依赖中间人员协调或自定义流程引擎。
- 对 AI 系统的未来而言:A2A 是从单模型调用到多智能体生态的跃迁桥梁,是连接“智能原子”构成“AI 工厂”的通信管道。
🤖 A2A × MCP:AI 联邦体系的通信与能力协作双协议
最后我们再补充一点与 MCP 的互补性视角:
- A2A 解决的是 Agent ↔ Agent 的对话问题(谁来做、怎么说、做完通知谁);
- MCP 解决的是 Agent ↔ 工具 / 数据 的连接问题(怎么查、怎么调、怎么收结果)。
这两个协议分别从“外交层”和“执行层”入手,共同构建一个可编排、可协同、可组合的智能系统未来:
Agent 通过 A2A 寻找同伴,协调任务;
通过 MCP 接入外部世界,获得工具与知识。
🌟 如果本文对你有帮助,欢迎三连支持!
👍 点个赞,给我一些反馈动力
⭐ 收藏起来,方便之后复习查阅
🔔 关注我,后续还有更多实战内容持续更新
写系统,也写秩序;写代码,也写世界。
观熵出品,皆为实战沉淀。