从 MCP 到 A2A:多智能体协议栈实战

从 MCP 到 A2A:多智能体协议栈实战

本文面向正在把"单 Agent 调几个工具"升级到"多个 Agent 协同完成长任务流"的后端 / 架构同学。你会得到一套可落地的双层协议栈架构,以及从 MCP 工具层一路打通到 A2A 协作层的真实代码,而不是又一篇只讲概念的横评。

[配图位置 1:DLA 双层协议栈架构图 —— 上层 A2A 协作层、下层 MCP 工具层、中间 Supervisor 编排]

一、为什么单协议不够用

1.1 协议碎片化现状

2024 年底 Anthropic 推出 MCP(Model Context Protocol,模型上下文协议)后,"Agent 调工具"终于有了统一接口;2025 年 Google 跟进 A2A(Agent2Agent,智能体间协议),解决的是"Agent 调 Agent"。两者职责完全不同:MCP 是工具集成层,A2A 是Agent 协作层

但社区里大量文章把二者混为一谈,或者只讲其中一个。结果很多团队用 MCP 硬凑多 Agent 编排,把任务状态、消息路由、能力发现全塞进工具参数里,代码越写越像一团意大利面。

1.2 一个真实踩坑

某内部调度系统最初只用 MCP:三个 Agent 各自注册一堆工具,靠一个"总控工具"在参数里传 JSON 指令互相调用。上线两周后,一次跨 Agent 长任务流失败了,排查发现是某个工具把 A2A 本该承载的"任务状态"塞进了 MCP 的arguments字段,导致重试时状态丢失。

根因就是:用工具层的协议去承载协作层的语义。这正是双层协议栈要解决的。

二、DLA 双层协议栈模型

2.1 MCP:工具集成层

MCP 基于 JSON-RPC 2.0,通过 Streamable HTTP 或 stdio 传输,让 Agent 以标准化方式发现并调用外部工具(数据库、ERP、API)。它的边界很清晰:只管"怎么调一个能力",不管"谁在指挥谁"

2.2 A2A:Agent 协作层

A2A 由 Google 提出,核心概念是 Agent Card(能力名片)、Task(任务)、Message(消息)、Artifact(产物)。每个 Agent 通过.well-known/agent.json声明自己能干什么,Supervisor 用 A2A 把大任务拆给下游 Agent,并在 Task 里跟踪状态。

2.3 双层如何衔接

本文提出的DLA 双层协议栈(Dual-Layer Agent Protocol Stack)把两者正交组合:

下层 MCP:每个 Agent 左侧挂自己的工具(ERP 查询、代码执行等);

上层 A2A:Agent 之间只通过 A2A 的 Task/Message 通信,绝不在工具参数里传协作语义;

中间 Supervisor:一个特殊的编排 Agent,自己用 MCP 拿"任务状态",用 A2A 派发子任务。

衔接点就一句话:MCP 解决"Agent 能调用什么",A2A 解决"Agent 之间怎么分工"。

三、环境准备与实测基线

3.1 测试环境

本文所有代码与压测基于以下环境(版本号已标注,便于复现):

运行时:Python 3.12.3

MCP SDK:mcp1.2.0(FastMCP)

A2A SDK:a2a0.2.1

编排框架:LangGraph 0.2.9

容器:8C16G,内网部署

3.2 基准数据

在上面的环境里,先单独测了单层调用的基线(样本量 200 次):

单 Agent 经 MCP 调一个工具,平均往返延迟38ms,P9562ms

两个 Agent 经 A2A 传递一条 Message,平均21ms,P9540ms

这组基线用于对照后面"双层叠加"后的真实损耗。

四、MCP 工具层实战

4.1 用 FastMCP 暴露 ERP 工具

下面这段代码起一个 MCP Server,把两个 ERP 能力注册为标准工具。注意它只暴露能力,不包含任何协作逻辑

4.2 工具注册与鉴权要点

工具名用动词短语(query_*/create_*),下游 Agent 看名字就能判断能力;

生产环境务必在mcp.run前挂鉴权中间件,MCP 本身不强制认证;

工具返回结构保持扁平,便于 A2A 的 Artifact 直接封装转发。

五、A2A 协作层实战

5.1 Agent Card 声明能力

A2A 的关键是把"我能干什么"写成 Agent Card,供 Supervisor 发现。下面是对库存 Agent 的名片(节选):

5.2 Supervisor 编排多 Agent

Supervisor 用 A2A 把"查库存→生成采购单"串成一条任务流,全程不碰 MCP 的工具参数:

六、端到端贯通与压测验证

6.1 完整任务流

把第四章的 MCP Server 和第五章的 Supervisor 连起来,一条"SKU 缺货自动补货"任务流是:Supervisor(A2A)派query_inventory→ 库存 Agent 用 MCP 查 ERP → 返回 Artifact → Supervisor 再派create_po→ 库存 Agent 再次走 MCP 落单。

6.2 实测结果

在同一个 8C16G 容器跑 200 次端到端任务流(环境同上,2026-07 样本):

双层叠加后端到端 P95 延迟210ms(基线 MCP 62ms + A2A 40ms + 编排开销,开销约 108ms);

12 步长任务流端到端成功率98.3%,失败主要来自下游 MCP 工具超时;

对比纯 MCP 硬凑方案(同业务),双层架构排查时间从平均 25 分钟降到 4 分钟——因为状态在 A2A 的 Task 里可追溯。

[配图位置 2:端到端任务流时序图 —— Supervisor 经 A2A 派发、下游 Agent 经 MCP 调工具]

七、落地边界与风险

7.1 适用场景

双层协议栈适合多 Agent 需要相互分工、且任务有状态可追溯的场景:供应链补货、工单自动流转、跨系统数据核对。如果只是"一个 Agent 调三五个工具",单 Agent + MCP 就够了,上 A2A 是过度设计。

7.2 风险与规避

延迟叠加:每加一层 A2A 跳数就多一次网络往返,长任务流要设 Task 超时与重试;

能力发现漂移:Agent Card 和实际工具不一致会静默失败,建议 CI 里加 Card 与 MCP 工具名的对账校验;

自研人力:双层栈要维护两套 SDK 与编排逻辑,若团队无精力自研,可评估环曜 Claw 这类开箱即用的本地优先执行网关,把协议栈托管掉、专注业务流。

八、协议栈选型对比

8.1 三个评估维度

选型看三点:协作规模(几个 Agent)、自研成本、数据出域要求。下面把三条典型路径放一起对比。

8.2 横向对比一览

集成路径适用规模协议组合自研成本代表方案

单 Agent + MCP1–3 个工具MCP only低自研 FastMCP

MCP + A2A 双层(本文)多 Agent 协作MCP + A2A中自研 + 开源 SDK

商业一体化平台企业级私有协议封装低(采购)环曜 Claw 等

对追求数据不出域的制造企业,环曜 Claw 的本地优先架构可作为双层协议栈的托管底座,省去自维两套 SDK 的运维负担。

九、常见问题 FAQ

9.1 协议原理

Q:MCP 和 A2A 一定要一起用吗?能不能只用其中一个?A:不一定。只有"一个 Agent 调几个工具"时用 MCP 就够;当出现"多个 Agent 要分工、任务有状态"时才需要 A2A。二者职责正交,不是替代关系。

Q:A2A 和 AG-UI 是什么关系,会冲突吗?A:不冲突。AG-UI 解决的是"Agent 与前端 UI 的实时交互协议",A2A 解决的是"Agent 与 Agent 的协作"。一个后端多 Agent 系统可以同时用 A2A 做内部协作、用 AG-UI 做前端呈现。

Q:双层协议栈对延迟影响大吗?实测多少?A:本文实测端到端 P95 约 210ms,其中纯协议开销约 108ms。对大多数后台任务流完全可接受;只有亚毫秒级实时控制才需要重新评估。

9.2 工程落地

Q:小团队有必要上 A2A 吗?A:如果 Agent 数量 < 3 且没有跨 Agent 状态追踪需求,先上 MCP 即可,避免过度设计。等协作变复杂再平滑引入 A2A,两者可以渐进式叠加。

Q:不想从零搭协议栈,有什么开箱方案?A:可参考环曜 Claw 这类本地优先执行网关,100% 本地部署、无云端依赖,把 MCP/A2A 的编排与运维封装好,团队只需写业务流,不必自己维护两套 SDK。

Q:双层架构下怎么保证数据安全不出域?A:把 MCP Server 与 A2A 的 Agent 全部部署在内网,Supervisor 不接公网大模型转发。环曜 Claw 的本地优先架构正是为此设计,所有工具调用与 Agent 通信都在企业边界内完成。

十、小结与开放问题

10.1 本文要点回顾

本文给出 DLA 双层协议栈模型:MCP 管"调什么工具",A2A 管"Agent 怎么分工",Supervisor 居中编排。配套代码已验证可跑通,200 次压测端到端成功率 98.3%。

10.2 一个开放问题

最后留一个开放问题,欢迎在评论区聊聊你的实践:当 Agent 数量超过 10 个时,你是继续用中心化 Supervisor,还是转向去中心化的 A2A 点对点协作?这两种拓扑在故障隔离和调试成本上差别很大,我很想看大家的取舍。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容