摘要
MCP、A2A、ANP……Agent 协议越来越多,该选哪个?慕尼黑工业大学(TUM)最新综述,用 5 个维度给 9 大开源协议做了系统分类。核心结论:没有单一协议通吃,Internet of Agents 更可能像 OSI 一样,走分层联邦栈。
A Technical Taxonomy of LLM Agent Communication Protocols
一、Agent 通信协议:新基础设施,也是新痛点
框架(AutoGen、CrewAI、LangGraph)各搞一套,协议(MCP、A2A、agents.json、ANP)能力重叠、互不兼容。结果是:每接一个工具或 Agent,就要重写胶水代码;异构 Agent 也很难动态发现彼此。
TUM 团队做的不是再提一个新协议,而是给工程师一张选型地图——9 个活跃开源协议,5 轮迭代分类,最终落到 5 个可对照的维度。
1.1 九协议速览
| 协议 | 主要推动方 / 背景 | 核心定位 |
|---|---|---|
| MCP | Anthropic | Agent 连接工具、数据源、Prompt 的标准客户端-服务器协议 |
| A2A | Agent 与 Agent 互联,任务流、流式更新、工件交换 | |
| LAP | LangChain | 生产部署用的 RESTful Agent API(/runs、/threads、/store) |
| agents.json | 社区规范 | 基于 OpenAPI 的 API 能力发现,供 Agent 编排多步调用 |
| Agora | 牛津大学 | 去中心化 Agent 协作,运行时协商通信模式 |
| ANP | 社区 | 点对点 Agent 通信,身份层 + 元协议层 + 应用层 |
| LMOS | Eclipse 生态 | 传输层无关的 Agent/Tool 元数据与交互标准化 |
| ACP | BeeAI + IBM(Linux Foundation) | RESTful Agent 发现、执行、多模态消息交换 |
| agntcy | 开源基础设施项目 | Agent Connect Protocol + 中心化发现与 manifest |

图 1:Agent 通过推理、记忆、工具与外部 Agent / 人类 / 环境交互(来源:原论文 Figure 1)。
扫码加入「大语言模型论文跟踪」交流群

微信号 iamxxn886 · 备注「论文」
二、五维分类法:读懂 Agent 协议的「基因图谱」
论文最终确定的 taxonomy 包含 5 个维度、14 种特征值,如图 2 所示。每个维度在构造时都满足互斥且完备(mutually exclusive and collectively exhaustive):任意协议都能被唯一归类,且不会遗漏关键差异。

图 2:Counterparty、Payload、Interaction State、Discovery Mechanism、Schema Flexibility 五个维度及其取值(来源:原论文 Figure 2)。
2.1 维度一:Counterparty(通信对象)
Agent 通过协议连接的是谁?
| 取值 | 含义 | 典型协议 |
|---|---|---|
| Agent | Agent 与 Agent 通信 | A2A、Agora、ANP、LAP、ACP、agntcy |
| Context | Agent 与工具、API、数据源等非 Agent 实体通信 | MCP、agents.json |
| Hybrid | 同时支持上述两类 | LMOS |
这与 Yang 等人先前协议 taxonomy 中的 object-orientation 维度对应;作者额外增加了 Hybrid,以覆盖 LMOS 这类「两头都管」的协议。
2.2 维度二:Payload(载荷类型)
协议交换的是什么形态的数据?
| 取值 | 含义 |
|---|---|
| Structured data, artifacts | 结构化请求/响应、文件、工件,不以对话文本为核心 |
| Conversation focused | 以消息/对话文本为核心 |
| Hybrid | 既可传自然语言,也可传纯结构化数据 |
关键发现:9 个协议中,仅 MCP 与 agents.json 属于「结构化数据/工件」型;其余 7 个 Agent-to-Agent 协议全部为 Hybrid——它们不会把自己限制在「纯聊天」,必要时可以只传结构化 payload。
2.3 维度三:Interaction State(交互状态)
| 取值 | 含义 |
|---|---|
| Stateless | 无跨轮次状态,每次交互独立 |
| Session state | 支持多轮会话状态持久化(threads、tasks 等) |
规律:7 个 Agent-to-Agent 协议全部支持 Session state;MCP 与 agents.json 的核心设计是 Stateless。这与当代 LLM Agent 依赖多轮交互的现实一致——Agent 协作几乎必然需要「任务/线程」级别的状态单元。
2.4 维度四:Discovery Mechanism(发现机制)
Agent 如何找到可用的对端及其接口?
| 取值 | 含义 | 协议数量(9 个中) |
|---|---|---|
| Static | 必须事先知道 endpoint 地址 | 4 |
| Centralized | 中心化注册表/目录 | 4 |
| Partially centralized | 部分超级节点辅助发现 | 0(样本中无独占) |
| Decentralized | 广播/点对点发现 | 仅 LMOS 真正采用 |
| Hybrid | 多种发现机制并存 | LMOS |
注意 MCP 的 subtle 之处:运行时可以通过 handshake 发现 server 能力,但 Agent 仍需事先知道 server 的 base URL,因此在 discovery 维度被归为 Static——「能问能力」≠「能自动发现节点在哪」。
A2A 则通过 JSON Agent Card(自描述文件)支持三种策略:托管在标准路径、私有通道分享、或发布到中心化 registry,故归为 Centralized。
2.5 维度五:Schema Flexibility(模式灵活性)
协议允许多大程度的「消息格式/对话结构」调整?
| 取值 | 含义 |
|---|---|
| Single | 单一固定 schema |
| Multiple | 多种预定义 schema,运行时选择 |
| Evolving | 运行时可协商、甚至生成新 schema |
趋势信号:9 个协议中 7 个支持 Multiple;2 个(Agora、ANP)支持 Evolving——Agent 可以在对话初期用自然语言协商协议文档(Protocol Document),再切换到更高效的结构化格式。作者认为,schema 协商正在成为 Agent-to-Agent 协议的核心能力,让 LLM 的灵活性真正落到通信层。
三、九协议横向对比:Table 1 与 Table 2 精要
论文 Table 1 用于跨协议模式检测,Table 2 给出每个协议的完整归类与理由。下面复现精简版,便于在文章内直接阅读。
3.1 跨协议分类矩阵(论文 Table 1)
| 维度 | MCP | A2A | LAP | agents.json | Agora | ANP | LMOS | ACP | agntcy |
|---|---|---|---|---|---|---|---|---|---|
| Counterparty | Context | Agent | Agent | Context | Agent | Agent | Hybrid | Agent | Agent |
| Interaction State | Stateless | Session | Session | Stateless | Session | Session | Session | Session | Session |
| Discovery | Static | Centralized | Static | Static | Static | Centralized | Hybrid | Centralized | Centralized |
| Payload | Struct. | Hybrid | Hybrid | Struct. | Hybrid | Hybrid | Hybrid | Hybrid | Hybrid |
| Schema | Multiple | Multiple | Single | Single | Evolving | Evolving | Multiple | Multiple | Multiple |
3.2 各协议归类摘要(论文 Table 2)
| 协议 | 交互状态 | 发现机制 | 载荷 | Schema | 一句话理由 |
|---|---|---|---|---|---|
| MCP | Stateless | Static | 结构化 | Multiple | 暴露 tools/resources/prompts;需已知 endpoint |
| A2A | Session | Centralized | Hybrid | Multiple | 任务+流式+Agent Card/registry |
| LAP | Session | Static | Hybrid | Single | 固定 REST 端点(/runs、/threads、/store) |
| agents.json | Stateless | Static | 结构化 | Single | OpenAPI JSON spec,供 LLM 发现 API |
| Agora | Session | Static | Hybrid | Evolving | 去中心化;运行时 plain-text schema 协商 |
| ANP | Session | Centralized | Hybrid | Evolving | 元协议层动态协商结构与格式 |
| LMOS | Session | Hybrid | Hybrid | Multiple | 传输无关;HTTP/WebSocket/MQTT 均可 |
| ACP | Session | Centralized | Hybrid | Multiple | 多模态交换;Agent 注册于 ACP Server |
| agntcy | Session | Centralized | Hybrid | Multiple | OpenAPI 扩展;中心化 manifest |
3.3 与 Agent Communication Trilemma 的对照
牛津 Agora 论文提出的 Agent Communication Trilemma 认为:一个协议无法同时最大化 Versatility(通用性)、Efficiency(效率)、Portability(可移植性) 三者。
映射到 taxonomy 后,trade-off 非常清晰:
• MCP 走极端:Rigid schema + Stateless + 结构化 payload → 效率与可移植性最高,适合高频、可预测的工具调用。
• Agora / ANP 走另一极端:Evolving schema + 运行时协商 → 通用性最强,但 token 开销与延迟显著。
• A2A、LMOS、ACP 等占据中间地带:Hybrid payload + Session state + Multiple schema,在复杂交互与效率之间折中。
这进一步支持了作者的判断:不存在「全能协议」,分层栈比「winner-takes-all」更合理。
四、分类实证:从数据中读出的五条规律
这篇综述没有传统意义上的 benchmark 跑分,但通过对 9 个协议的 systematic classification,得出了可量化的结构性结论。
4.1 规律汇总表
| 规律 | 统计数据 | 工程含义 |
|---|---|---|
| Agent-to-Agent ⇒ Session state | 7/7 个 A2A 协议均支持 | 多 Agent 协作必须预留任务/线程级状态 |
| Agent-to-Agent ⇒ Hybrid payload | 7/7 非纯对话 | Agent 间通信不限于聊天,结构化数据同样重要 |
| Schema 灵活性上升 | 7/9 Multiple,2/9 Evolving | 预定义多 schema 成标配;运行时协商是前沿 |
| 去中心化发现稀缺 | 仅 LMOS 真 P2P | IoA 愿景下,discovery 仍是短板 |
| 隐私/策略 enforcement 普遍缺失 | 9/9 均未系统覆盖 | 医疗、HR 等敏感场景是 open gap |
4.2 发现机制的「中心化 vs 静态」分裂
9 个协议在 discovery 上呈 4 Static + 4 Centralized + 1 Hybrid(LMOS) 的格局——没有任何一个样本协议以 Decentralized 为主。若 Internet of Agents 成为主流范式,去中心化发现(类似 DNS 的反面:无中心 registry)值得更多研究投入。
4.3 Schema 协商的两条路线
Agora 的 Protocol Document 是纯文本描述,Agent 先用自然语言协商,再切换到更高效的结构化格式,甚至可无参数消息。ANP 则在 Meta Protocol Layer 动态协商 payload 格式与交互结构。两者都指向同一方向:让 LLM 的「语言协商能力」成为协议的一等公民,而非事后补丁。
4.4 短期收敛 vs 长期分层
短期:A2A 与 agntcy 均自称 MCP 的扩展;功能重叠暗示可能出现「A2A + MCP 合一」的统一标准压力——尽管 Anthropic 尚未官方背书任何扩展。
长期:作者类比 OSI 模型,提出 Internet of Agents 分层协议栈(论文 Figure 3):

图 3:L1 身份与传输 → L2 发现 → L3 工具执行 → L4 交互 → L5 协商;不同协议占据不同层(来源:原论文 Figure 3)。
| 层级 | 角色 | 候选协议 |
|---|---|---|
| L5 Deliberation | Schema 协商、开放-ended 辩论 | Agora、ANP |
| L4 Interaction | 任务、流式、多轮会话 | A2A、LAP、ACP、agntcy |
| L3 Execution | 结构化工具调用 | MCP |
| L2 Discovery | 能力清单、注册表 | agents.json、LMOS |
| L1 Identity & Transport | 认证、加密、传输 | ANP、agntcy、LMOS |
同一 Agent 工作流中,不同层可以组合不同协议——例如 L3 用 MCP 调工具,L4 用 A2A 协调子 Agent,L5 在需要时用 Agora 做运行时 schema 协商。
五、局限、选型建议与如何使用
5.1 论文局限
• 样本量:仅 9 个协议,且均为开源;Firecrawl、uAgents 等专有方案被排除。
• 抽象层级:taxonomy 在 application level,不深入具体传输实现细节。
• 缺失维度:认证/安全、隐私、策略 enforcement 尚未纳入 taxonomy,但作者明确指出这是全领域的共同短板。
• 分层栈是提案:Figure 3 的 OSI 式分层是作者基于数据的论证性提案,不是已观测到的事实。
5.2 工程师选型速查
| 你的场景 | 优先考虑 | 原因 |
|---|---|---|
| IDE / 桌面 App 给 LLM 接工具 | MCP | 生态成熟、结构化、无 session 开销 |
| 跨框架 Agent 协作、任务编排 | A2A 或 ACP | Session state + registry 发现 |
| 生产 REST 部署 Agent | LAP | 固定 API 端点,运维友好 |
| 让 Agent 发现现有 REST API | agents.json | OpenAPI 之上的 LLM-friendly manifest |
| 无中心 server 的 Agent 网络 | Agora / ANP | 去中心化 + evolving schema |
| 传输层灵活(MQTT/WS/HTTP) | LMOS | Hybrid discovery + transport-agnostic |
不要指望选一个协议覆盖所有层——论文的核心建议恰恰是组合使用。
• 论文原文: http://arxiv.org/abs/2606.19135v1
• 加入社群,+v: iamxxn886
• 点击公众号菜单加入讨论
夜雨聆风