智能体间协作的“巴别塔困境“如何破解?解读Agent通信4大协议:MCP/ACP/A2A/ANP

AI 智能体的兴起触发了AI应用协作的新领域。这些智能体不再局限于被动的聊天机器人或独立的系统,它们现在被设计用于推理、计划和协作ーー跨任务、跨域甚至跨组织。但随着这一愿景成为现实,一个挑战很快浮出水面: 智能体如何以一种安全、可伸缩和可互操作的方式可靠地相互交流、共享上下文并共同做出决策?

一类新的通信协议应运而生。从模型上下文协议 (MCP) 到 IBM 和思科的智能体通信协议 (ACP) ,从谷歌的跨厂商智能体对智能体协议 (A2A) 到去中心化的代理网络协议 (ANP) ,这些协议正在竞相定义智能体在AI时代如何协调。

这些方法都带来了独特的优势,不是理论上的,它们正在被实现、试验和标准化ーー帮助开发人员解决当前的问题,并使第一波自治系统能够在生产环境中运行。它们对互操作性、上下文共享和安全通信的贡献不仅仅是有价值的,而且可能是必不可少的。

1. MCP : 结构化上下文注入

Anthropic引入的模型上下文协议 (Model Context Protocol,MCP) 定义了一个标准化的接口,用于向大模型提供结构化的实时上下文。使得像 GPT 或 DeepSeek这样的语言模型可以访问工具和知识,减少了对硬编码集成或自定义流水线的需求,允许开发人员将 “实时” 信息插入其他静态模型

一个通俗一点的类比,可以将其视为大模型的通用适配器。它确保不同的应用程序可以轻松地插入它们的数据和函数,以便大模型可以有效地使用它们,而不管它们来自哪个源。

MCP的核心功能是上下文数据注入。MCP 允许外部资源 (如文件、数据库行或 API 响应) 直接拉入提示词或工作内存。所有这些都通过标准化的接口实现,因此大模型可以保持轻量且干净。MCP 还允许大模型动态地调用工具或者生成报告 ,并且按需调用。这就像给AI增加了一个可以访问一个工具箱,而且没有硬连接到模型本身的工具箱。MCP不是用所有可能的细节来填充提示词,而是帮助组合重要的背景信息,采用模块化的、即时的提示词构建,使用更智能的背景信息,更少的token,得到更好的输出。

MCP使用基于 json 的能力描述符在 HTTP (s) 上运行,在设计上是为与模型无关,任何具有大模型都可以利用兼容MCP的服务器。而且,与 API 网关和企业认证标准 (如 OAuth2) 兼容。

MCP 的典型应用场景是内部API与大模型的集成, 支持对结构化业务数据的安全、只读或交互式访问,而不暴露原始端点,能够为自治智能体配备来自 Salesforce、 SAP 或内部知识库等工具的运行时上下文。同时,根据用户会话、系统状态或任务流水线逻辑定制提示词。

MCP非常适用于业务或基于云的智能体生态系统中的多智能体工作流,使用标准化的 api 和 JSON 模式,旨在使用规划逻辑衡量AI之间的协作努力。基于MCP的智能体并不对物理世界进行推理,它们只提取数据、处理数据,然后根据事先训练和提示指令输出结果。智能体的理解是根据上下文注入的,而不是自我建模的。

2. ACP:受控环境中的结构化协作

智能体通信协议 (Agent Communication Protocol,ACP) 是一个开放标准,最初由 BeeAI 和 IBM 提出,用于支持在同一局部或边缘环境中运行的 AI 智能体 之间的结构化通信、发现和协作。

一个通俗的类比,我们可以把它想象成 AI 智能体的邮政服务ーー ACP 定义了 “信封”(消息格式) 和传递规则,这样使用不同堆栈的智能体仍然可以交换有意义的信息。与面向云的协议 (如 A2A) 或上下文路由协议 (如 MCP) 不同,ACP 是为本地优先的实时代理编排而设计的,具有最小的网络开销和在共享运行时内部署的智能体之间的紧密集成。

ACP 定义了一个去中心化的代理环境,其中每个智能体使用本地广播/发现层公布其身份、功能和状态。智能体通过事件驱动的消息传递进行通信,通常使用本地总线或 IPC (进程间通信) 系统,可选的运行时控制器可以编排智能体行为、聚合遥测和执行策略。ACP 智能体通常作为轻量级、无状态的服务或具有共享通信底层的容器运行。

ACP专为低延迟环境设计 (例如,本地协调、机器人、离线边缘 AI),可以通过 gRPC、 ZeroMQ 或自定义运行时总线实现。ACP强调本地自主权限,而不需要云依赖或外部服务注册,同时支持自动任务路由的功能和语义描述符。

ACP的典型应用场景是边缘设备上的多智能体协调 (例如,无人机、物联网集群或机器人舰队),本地优先的大模型系统协调调用,支持传感器输入和操作执行。鉴于自治的运行时环境,智能体能够在没有云基础设施的环境下进行协调。

简而言之,ACP 为模块化 AI 系统提供了本地协议层的运行时,优先考虑低延迟协调、弹性和可组合性。对于隐私敏感、自治或边缘优先的部署来说,这是很自然的选择,因为在这些环境中云优先的部署中是不切实际的。

3.A2A:跨厂商智能体的互操作性

由 Google 引入的 Agent-to-Agent (A2A) 协议是一个跨平台规范,用于使 AI 智能体能够跨异构系统进行通信、协作和委托任务,并以结构化格式返回结果。与 ACP 的本地优先或 MCP 的工具集成层不同,A2A 解决了水平互操作性问题,能够将来自不同供应商或运行时的智能体进行标准化,并在开放网络上交换功能集和协调工作流。

一个通俗一点的类比,我们可以想象一个项目管理平台,其中 AI 智能体可以看到彼此的技能 并委托任务。A2A 为他们如何协调和共享他们的工作 (“工件”) 提供了规则。


A2A选择使用Task来作为核心的概念,Task是比MCP中的Tools、Resources等抽象级别更高的概念。A2A 定义了一个基于 http 的通信模型,其中智能体被视为可互操作的服务。智能体利用一个机器可读的 JSON 描述符来通过编程发现彼此,协商任务和角色,交换消息、数据和流更新。A2A 原则上与传输层无关,但目前指定基于HTTPS 的JSON-RPC 2.0 作为其交互的核心机制。

A2A协议的核心组件如下:

  1. Agent Cards: json 文档,描述了代理的功能、端点、支持的消息类型、身份验证方法和运行时元数据。

  2. A2A 客户机/服务器接口: 每个智能体可以作为客户机 (任务发起者)、服务器 (任务执行者) 或两者兼而有之,从而支持动态任务路由和协商。

  3. 消息和工件交换:支持具有上下文的多部分任务、流输出 (通过 SSE) 和持久化工件 (例如文件、知识模块)。

  4. 用户体验协商:智能体可以调整消息格式、内容粒度和可视化,以匹配下游代理的功能。

A2A基于OAuth 2.0 和基于密钥的 API 进行授权,也就是说,A2A基于 HTTP、 JSON-RPC 和标准 web 的安全性完成构建,是web原生的安全性设计。智能体只公开声明的交互所需的函数来明确端点的能力范围,以在 “不透明” 模式下运行,隐藏内部逻辑,同时显示可调用的服务。A2A具有模型无关性, 能够与任何实现该协议的智能体系统(例如,大模型 或其他服务) 一起工作,支持任务流和轻量级有效负载的多轮协作。

A2A的典型应用场景是对来自不同团队或供应商的智能体进行安全互操作,形成跨平台的智能体生态系统。其中,采用了云原生AI境中的分布式智能体编排 ,例如,Vertex AI,LangChain,HuggingFace 智能体s等。作为一个多智能体协作框架,能够支持跨多个企业系统的AI 工作流 ,解决了 crm、 HR 系统或生产力代理等工具之间的互操作性问题,得到了主要企业供应商的支持。

4. ANP:Web智能体的未来

在当前所有的代理协议中,代理网络协议 (ANP) 最符合主动推理和空间网络的要求。ANP 建立在分布式标识符 (distributed identifiers,DIDs) 和 JSON-LD 链接数据之上,它允许智能体在语义上描述自己,在全局范围内发现彼此,并进行对等通信。

我们做一个简单的类比,想象一个全球性的,安全的AI 智能体在线市场,ANP 为智能体提供了 id (如数字护照) 和规则,以发现彼此,证明他们的身份,并公开和安全地协作。协议本身会携带身份信息、身份验证信息,目前主要是使用W3C的DID方案,一个智能体可以用自己的身份信息,与其他所有的智能体进行交互,不必在其他智能体平台申请账号。ANP采用了去中心化的身份安全通信,基于关联数据的语义建模,通过开放注册表或搜索索引智能体的描述进行发现。


ANP的核心概念是Interface,包括自然语言接口和结构化接口,将智能体交互方式的定义下放到了Interface中,支持自主发现、去中心化身份验证和语义推理,虽然 ANP 目前不支持像 rgm 这样的预测或分层推理体系结构,但是它的基础设施可以提供传输和发现层的智能体。

ANP的智能体描述则是基于JSON-LD和http://schema.org,这是语义网的技术,具体可以参考《从语义网到知识图谱》一文。其目的是提高两个智能体对信息理解的一致性。ANP采用的是语义网的Linked-Data技术,目标是构建一个便于AI访问和理解的AI原生数据网络。

同样,ANP可能缺乏共享的全局上下文和空间网络提供的事务性知识图谱。它能够连接智能体,但不连接它们的环境。这或许是空间网络开始接管的地方。

5.智能体间通信协议的思考

在一定意义上,A2A 和 MCP 是互补的,它们解决的是AI 智能体完全不同的部分,而且它们实际上可以配合得非常好。可以把 MCP 看作是让AI 智能体接入世界的协议, MCP使智能体能够访问文件、 api 和数据库,基本上就是他们做一些有用的事情所需要的所有结构化上下文。无论是提取实时销售数据还是生成自定义报告,MCP 都处理与工具和数据的连接。A2A 是智能体开始合作的地方,A2A 为他们提供了一种共享的语言和一套规则来发现彼此、委派任务、协商他们如何一起工作ーー即使他们是由不同的供应商构建或运行在不同的平台上。

简单而言,MCP 连接AI和工具,而A2A 连接 AI 和其他 AI,它们共同构成了构建智能协作系统的强大模块基础。

ACP采用了完全不同的方法。这完全是本地优先代理协调的问题,不需要云服务。ACP 不使用 HTTP 和基于 web 的发现,而是允许代理在共享运行时内部相互查找和通信。这非常适用于带宽有限或者需要低延迟 (比如机器人技术或者设备上的助手) 的场景, 或者隐私级别很高,以及在没有互联网的环境中部署 (例如,工厂车间、边缘节点)。

ACP 并非试图与 A2A 竞争,它只是填补了一个不同的利基市场。但是在一些设置中,特别是在严格控制的环境中,ACP 可能完全取代 A2A,因为它跳过了 web 本地协议的开销,只是在本地完成工作。

ANP 则像是充满了互联网情怀方法,实现智能体在互联网上的连接与协作。ANP的最大价值在于社区对未来智能体互联网的设想,是社区独特的互联网理念(连接即权力),以及DID+语义网的技术路线。这可能是ANP演进的核心动力。

MCP/ACP/A2A 使用注册表或服务描述符 (如代理卡) 来公布代理功能。每个协议都定义了自己的发现方法,通常需要一个已知的目录或端点。ANP 更进一步,通过 JSON-LD 和 did 实现去中心化发现,使代理具有自主身份和开放 web 上的语义可见性。

特性

MCP

ACP

A2A

ANP

功能聚焦

面向大模型的上下文注入

智能体的本地协作

跨平台的智能体通信

跨平台跨网络的智能体通信

通信模型

客户机/服务器(host/server 模型)

去中心化的本地运行时

基于HTTP的客户机/服务器,采用智能体Cards

基于HTTP的客户机/服务器,采用JSON-LD

应用范围

垂直集成(模型调用工具)

本地优先的智能体运行时

智能体之间的水平集成

开放网络中智能体之间的水平集成

发现机制

在服务器上的工具注册

本地广播/运行时注册

HTTP上的A2A.json

HTTP 上的智能体-descriptions

传输协议

HTTP(s),JSON

IPC,ZeroMQ,gRPC(灵活)

HTTP(s),JSON-RPC2.0

HTTP(s), JSON-LD

安全模型

App层验证,OAuth2,有范围的API

运行时沙箱,私有网络的安全性

OAuth2,受限的开放端点

W3C DID技术构建去中心化的身份认证

适用场景

大模型应用访问外部数据或外部工具

边缘智能,嵌入式系统,离线智能体

跨平台多智能体工作流

跨网络跨平台的多智能体工作流

用例

大模型连接一组内部的API

设备内的多个小智能体协调

企业级分布式智能体的协作

互联网分布式智能体的协作

接下来,一种理想的情况是各协议趋同互补。设想一个统一的智能体平台,其中 A2A 处理企业内部智能体之间的来回操作,MCP 管理对工具和数据的访问,ACP风格的运行时插件用于边缘或离线场景,ANP则可以安全地使用互联网上的各种智能体。一切正常运行,开发人员可以在此基础上进行构建,而无需担心哪个协议在幕后做什么。最坏的情况是支离破碎,不同的供应商推出不同风格的MCP/ACP/A2A/ANP ,结果就是一团糟,就像 web 服务的早期,没有大量的胶水代码,什么都不能与其他任何东西进行交互。

开源工具和中间件可以挽救这种局面。这些项目位于代理和协议之间,抽象出它们之间的区别,并为开发人员提供一个干净、统一的 API ーー同时根据代理运行的位置和方式在底层进行转换。

6.小结

MCP,ACP,A2A,ANP基本上都能够使智能体相互发现对方、协商任务和直接共享消息。在大多数情况下,每个智能体管理自己的本地状态和上下文。

  • MCP 简化了智能体访问工具和数据的方式。

  • ACP 为企业智能体生态系统引入了本地结构化协作。

  • A2A 通过创建共享任务语言解决了供应商锁定问题。

  • ANP 推进了代理身份和发现的去中心化愿景。

虽然 MCP、 ACP、 A2A 和 ANP 都在解决当今的智能体通信需求方面取得了长足的进步,但它们都诞生于一个特定的环境 —— AI 智能体,并在当前的互联网结构中运行。随着向主动推理智能体和分布式智能的演进,可能都有其局限性。

【参考资料与关联阅读】

  • https://modelcontextprotocol.io

  • Https://google.github.io/

  • https://agentcommunicationprotocol.dev

  • https://github.com/agent-network-protocol

  • https://zhuanlan.zhihu.com/p/1893720346567353628

  • https://zhuanlan.zhihu.com/p/1894506009025836067

  • A SURVEY OF AGENT INTEROPERABILITY PROTOCOLS,https://arxiv.org/pdf/2505.02279

  • 大模型应用的10种架构模式

  • 7B?13B?175B?解读大模型的参数

  • 大模型应用系列:从Ranking到Reranking

  • 大模型应用系列:Query 变换的示例浅析

  • 从零构建大模型之Transformer公式解读

  • 如何选择Embedding Model?关于嵌入模型的10个思考

  • 解读文本嵌入:语义表达的练习

  • 解读知识图谱的自动构建

  • “提示工程”的技术分类

  • 大模型系列:提示词管理

  • 提示工程中的10个设计模式

  • 解读:基于图的大模型提示技术

  • 大模型微调:RHLF与DPO浅析

  • Chunking:基于大模型RAG系统中的文档分块

  • 大模型应用框架:LangChain与LlamaIndex的对比选择

  • 解读大模型应用的可观测性

  • 大模型系列之解读MoE

  • 在大模型RAG系统中应用知识图谱

  • 面向知识图谱的大模型应用

  • 让知识图谱成为大模型的伴侣

  • 如何构建基于大模型的App

  • Qcon2023: 大模型时代的技术人成长(简)

  • 论文学习笔记:增强学习应用于OS调度

  • 《深入浅出Embedding》随笔

  • LLM的工程实践思考

  • 大模型应用设计的10个思考

  • 基于大模型(LLM)的Agent 应用开发

  • 解读大模型的微调

  • 解读向量数据库

  • 解读向量索引

  • 解读ChatGPT中的RLHF

  • 解读大模型(LLM)的token

  • 解读提示词工程(Prompt Engineering)

  • 解读Toolformer

  • 解读TaskMatrix.AI

  • 解读LangChain

  • 解读LoRA

  • 解读RAG

  • 大模型应用框架之Semantic Kernel

  • 浅析多模态机器学习

  • 大模型应用于数字人

  • 深度学习架构的对比分析

  • 老码农眼中的大模型(LLM)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/81699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目进度延误,如何按时交付?

项目进度延误可以通过加强计划管理、优化资源分配、强化团队沟通、设置关键里程碑和风险管理机制等方式来实现按时交付。加强计划管理、优化资源分配、强化团队沟通、设置关键里程碑、风险管理机制。其中,加强计划管理尤为关键,因为明确而详细的计划能提…

详解ip地址、子网掩码、网关、广播地址

1. IP 地址 定义:IP 地址是网络设备在网络中的唯一标识,用于标识设备的网络位置,类似于现实中的门牌号。它分为 IPv4(如 192.168.1.5)和 IPv6(如 240e:305:3685:8100:a00:27ff:fefb:56b8)。 示…

为 Windows 和 Ubuntu 中设定代理服务器的详细方法

有时下载大模型总是下载不出来,要配置代理才行 一、Windows代理设置 ① 系统全局代理设置 打开【设置】→【网络和Internet】→【代理】。 在【手动设置代理】下,打开开关,输入: 地址:10.10.10.215 端口:…

鸿蒙OSUniApp 实现的表单验证与提交功能#三方框架 #Uniapp

UniApp 实现的表单验证与提交功能 前言 在移动端应用开发中,表单是用户与应用交互的重要媒介。一个好的表单不仅布局合理、使用方便,还应该具备完善的验证与提交功能,以确保用户输入的数据准确无误。本文将分享如何在 UniApp 中实现表单验证…

前端的面试笔记——HTMLJavaScript篇(二)前端页面性能检测

前端页面性能检测和判定是优化用户体验的核心环节,需要结合实验室数据(Lab Data)、现场数据(Field Data)和行业标准综合评估。以下是主流方法、工具及判定标准的详细解析: 一、性能检测的核心维度与指标 …

再来1章linux系列-19 防火墙 iptables 双网卡主机的内核 firewall-cmd firewalld的高级规则

学习目标: 实验实验需求实验配置内容和分析 (每一个设备的每一步操作)实验结果验证其他 学习内容: 实验实验需求实验配置内容和分析 (每一个设备的每一步操作)实验结果验证其他 1.实验 2.实验需求 图…

LLM-Based Agent综述及其框架学习(五)

文章目录 摘要Abstract1. 引言2. 文本输出3. 工具的使用3.1 理解工具3.2 学会使用工具3.3 制作自给自足的工具3.4 工具可以扩展LLM-Based Agent的行动空间3.5 总结 4. 具身动作5. 学习智能体框架5.1 CrewAI学习进度5.2 LangGraph学习进度5.3 MCP学习进度 参考总结 摘要 本文围绕…

游戏引擎学习第298天:改进排序键 - 第1部分

关于向玩家展示多个房间层所需的两种 Z 值 我们在前一天基本完成了为渲染系统引入分层 Z 值的工作,但还没有完全完成所有细节。我们开始引入图形渲染中的分层概念,即在 Z 轴方向上拥有多个独立图层,每个图层内部再使用一个单独的 Z 值来实现…

一些C++入门基础

关键字 图引自 C 关键词 - cppreference.com 命名空间 命名空间解决了C没办法解决的各类命名冲突问题 C的标准命名空间:std 命名空间中可以定义变量、函数、类型: namespace CS {//变量char cs408[] "DS,OS,JW,JZ";int cs 408;//函数vo…

学习笔记:黑马程序员JavaWeb开发教程(2025.4.6)

12.4 登录校验-JWT令牌-介绍 JWT(JSON Web Token) 简洁是指JWT是一个简单字符串,自包含指的是JWT令牌,看似是一个随机字符串,但是可以根据需要,自定义存储内容 Header是JSON数据格式,原始JSO…

香港科技大学物理学理学(科学计算与先进材料物理与技术)硕士招生宣讲会——深圳大学

香港科技大学物理学理学(科学计算与先进材料物理与技术)硕士招生宣讲会——深圳大学专场 🕙时间:2025年5月23日(星期五)14:30 🏫地点:深圳大学沧海校区致原楼1101 &#x1f9d1…

数据库优化技巧:MySQL 重复数据查询与删除(仅保留一条)的性能优化策略

目录 一、查询重复数据 二、删除重复数据 方法 1:创建临时表,操作完成后再删除临时表(安全可靠,适合大表) 步骤 1:创建临时表存储需删除的 ID 步骤 2:根据临时表删除数据 方法 2&#xff1a…

分布式ID生成器:原理、对比与WorkerID实战

一、为什么需要分布式ID? 在微服务架构下,单机自增ID无法满足跨服务唯一性需求,且存在: • 单点瓶颈:数据库自增ID依赖单表写入 • 全局唯一性:跨服务生成可能重复 • 扩展性差:分库分表后ID规…

Golang的代码注释规范与实践

# Golang的代码注释规范与实践 一、注释的重要性 代码注释是程序员交流的桥梁 代码注释是程序员之间沟通交流的重要形式,良好的注释能够帮助其他开发者更快地理解代码的意图和实现方式。 代码维护离不开注释 在项目维护过程中,良好的注释能够帮助开发者回…

Qt读取Excel文件的技术实现与最佳实践

目录 一、成果展示二、核心方法及原理1. QAxObject(基于COM接口)2. 第三方库QXlsx3. ODBC数据库驱动三、实现步骤详解1. QAxObject读取Excel(需安装Excel/WPS)2. QXlsx读取Excel(跨平台方案)四、技术选型与对比五、应用场景与优化建议1. 高频数据处理2. 跨平台工具开发3.…

机器学习第十五讲:决策树全面讲解:像玩“20个问题“游戏猜身份[特殊字符]

机器学习第十五讲:决策树全面讲解:像玩"20个问题"游戏猜身份🎮 资料取自《零基础学机器学习》。 查看总目录:学习大纲 关于DeepSeek本地部署指南可以看下我之前写的文章:DeepSeek R1本地与线上满血版部署&…

CCpro工程编程软件

CXproᴴᴰ 是一个软件应用套件,用以完成 ABB Cylon CB 系列 BACnet 控制器的设计、工程、编程、配置、测试、调试和维护。 主要优势 CXproᴴᴰ 提供改进的导航和页面命名,使开发人员能够轻松地围绕大型策略进行操作。它也允许立即访问可快速更新的点和…

数据库(二):ORM技术

什么是 ORM? ORM(Object-Relational Mapping) 是一种用于实现 对象模型(面向对象)与关系模型(数据库)之间映射的技术,使程序员可以通过操作对象的方式访问数据库数据,而无…

系统设计——项目设计经验总结1

摘要 在系统设计的时候,注意域的区分,功能区分、类的区分、方法区分范围和定义。在系统设计的时候的,需要思考类、方法在什么情况下会涉及到修改,遵循记住:一个类应该只有一个原因被修改! 当不满足&#x…

【Java高阶面经:微服务篇】3.熔断机制深度优化:从抖动治理到微服务高可用架构实战

一、熔断抖动的本质剖析与核心成因 1.1 熔断机制的核心价值与抖动危害 熔断机制作为微服务弹性架构的核心组件,通过模拟电路断路器逻辑,在服务出现异常时自动阻断请求链,防止故障扩散引发雪崩。但频繁的“熔断-恢复-熔断”抖动会导致: 用户体验恶化:请求成功率波动大,响…