作者:常高伟,智能体协议 ANP 发起人。
关于 ANP:Agent Network Protocol (ANP) 是一个开源的智能体通信协议,目标是成为智能体互联网时代的 HTTP。
谷歌的 A2A 协议出来后,很多关注 ANP 社区的朋友第一时间发来消息,问对我们影响大不大,并且给我们献言献策,再次感谢。
我认为 A2A 对 ANP 最大的影响是,有了谷歌的 “盖章 “ Follow:ANP 的路线是对的,ANP 看的很长远,我也来了 。
我不用再去解释为什么智能体通信协作重要了。
当天我花了半天的时候研究,写了一篇文章:多角度全面对比 Google 最新的 A2A、ANP、MCP。
后来又花了一天的时间仔细研究了 A2A,与 ANP 做了一个深度的对比,我认为我应该找到了 A2A 的原点,我也看到了 A2A 与 ANP 的更深层次的差异。
一句话总结:
- MCP 的原点是:模型与工具、资源的连接
- A2A 的原点是:企业内部智能体之间的复杂协作
- ANP 的原点是:智能体在互联网上的连接与协作
技术层面的差异对比
虽然说 A2A 和 ANP 都是解决智能体通信与协作,但是从技术层面,A2A 与 ANP 还是有很大的差异。
智能体描述与信息组织
在协议设计中,一个智能体如何对另外一个智能体暴露其信息,是一个关键的问题。
在智能体描述方面,A2A 使用了一个名为 Agent Card 的 JSON 格式的文档,用于描述智能体的能力、技能、身份认证方法等,Agent Card 的核心是技能(skill),表达智能体能够干什么事情,比如能够进行地图路径规划等。
ANP 也是用的 JSON,不过基于 JSON-LD(Linked Data)和 schema.org 描述智能体信息(基本信息、身份验证、对外产品 / 服务、交互 Interface),这是语义网的技术,目的是提高两个智能体对信息理解的一致性,以及让智能体的公开信息能够链接成一个数据网络,智能体描述文件是网络的入口:
比如,一个酒店智能体,使用 ANP,可以将酒店的房间、设施、服务、交互接口等信息(包括图片)描述出来,并且链接成一个数据网络,让其他智能体能够爬取并且理解。
这也导致,在智能体的交互上,A2A 与 ANP 有非常大的差异:
- A2A 通过 Agent Card 描述智能体的技能(skills),其他智能体获取 skills,然后通过 JSON-RPC 发送一个任务请求,任务使用自然语言描述,并且携带任务需要的相关信息。任务完成后返回结果。
- ANP 则是通过智能体描述文档(Agent Description),将智能体对外提供的产品、服务、交互接口等信息用 URL 连接到一起,另外一个智能体像一个网络爬虫,通过 URL 不断的爬取自己需要的信息。这个过程中可以通过自然语言接口与智能体进行交互,也可以通过结构化接口与智能体进行交互。
这里的核心差异:
- A2A 是智能体对外公开自己的技能,另外一个智能体发送处理任务过来,处理完成后返回结果。
- ANP 是智能体对外公开自己信息(包含交互接口),其他智能体爬取信息进行处理,必要的时候通过自然语言接口或结构化接口与智能体进行交互
智能体发现
在智能体的发现上 A2A 的方案和 ANP 基本是一样的,都是在域名的.well-known 目录下增加一个元数据文档,A2A 的文件名是 agent.json,ANP 的文件名是 agent-descriptions。
同时也都支持智能体主动注册到私有注册表,这个在局域网中的协作是非常有必要的。
不同的地方在于,A2A 是直接将 Agent Card 内容放到.well-known/agent.json 中,而 ANP 则是在.well-known/agent-descriptions 中存放智能体描述文件的 URL。
A2A 目前看起来是一个域名一个 Agent Card(还要进一步确认),ANP 则是一个域名可以有很多个智能体。
身份验证
在身份验证上,A2A 和 ANP 有所不同。
A2A 智能体在 A2A 协议中并不交换身份信息。相反,它们通过带外方式获取认证材料(如 token),并通过 HTTP 头部传递这些材料。
所谓的带外,是指通过 A2A 之外的其他协议获取认证材料。A2A 遵循 OpenAPI 的身份认证规范进行身份认证,支持包括 HTTP Basic Auth、API Key、OAuth 2.0 等多种认证方式,具体由每个智能体在其 Agent Card 中声明。
ANP 则基于 W3C DID 技术构建去中心化的身份认证,在协议中直接携带身份信息,包括身份验证信息。智能体使用自己的身份就能够和其他所有的智能体进行交互,不需要带外获得身份验证材料。
不过,在某些场景中,带外获取身份验证材料是必要的,特别是在企业级应用中。ANP 未来会支持带外身份验证材料的获取,设计上预留了扩展性。
核心差异:
- A2A 采用带外获取身份验证材料,是为了最大程度兼容美国主流企业应用生态的安全合规要求,复用现有的企业身份认证体系,确保协议本身轻量、灵活且安全。核心是为了解决企业级应用的身份问题,并且没有解决互联网上智能体互联互通的身份问题。
- ANP 则是未来解决智能体在互联网上如何进行身份认证的问题,核心是让互联网上任意两个智能体都能够互联互通,这需要一个互操作性更好的身份认证方案。
核心概念
A2A 与 ANP 在协议的核心概念上有很大差异。
A2A 的核心概念包括 Skill(技能)、Task(任务)、Artifact(产物)、Message(消息)、Part(部分)。
同时,Task 又定义了多种状态,包括:submitted(已提交)、working(处理中)、input-required(需要输入)、completed(完成)、canceled(取消)、failed(失败)、unknown(未知)。
Task 也定义了一些操作,包括:Send(发送)、Get(获取)、Cancel(取消)等,以及一些通知相关的操作。
ANP 的核心概念包括描述信息与接口(Interface)。
描述信息主要是 JSON-LD 格式的文档,以及 JSON-LD 文档中通过 URL 链接到的其他资源,包括图片、音频、视频等多媒体文件。
Interface 又分为自然语言接口(Natural Language Interface)和结构化接口(Structured Interface)。结构化接口支持现有大部分的规范,比如 OpenAPI、JSON-RPC 等。
核心差异:
- A2A 在协议层面定义了详细的任务协作概念,包括任务的状态、操作等,这有助于解决智能体之间复杂任务的协作问题。缺点是会导致两个智能体之间的耦合度较高。
- ANP 简化了智能体之间的交互,降低了智能体之间的耦合度,在跨平台的智能体协作场景下有较大的优势。缺点是原生协议不支持复杂任务协作,需要自己定义 Interface 来实现。
A2A 与 ANP 的原点
要想真正的理解一个协议的设计,必须找到这个协议的原点。
比如,ANP 的原点一直都是智能体在互联网上的连接与协作。MCP 的原点一直都是模型与工具、资源的连接,构建更好的智能体。
通过上面的技术分析,我们可以确认 A2A 的原点是:企业内部智能体之间的复杂协作。
协议的官网并没有明确的说出这一点,但是谷歌的新闻发布稿中有提到过一些:
AI 智能体为人们带来了独特的机会,能够通过自主处理许多日常重复性或复杂任务,帮助提升工作效率。如今,企业越来越多地构建并部署自主智能体,以帮助在整个工作场景中实现规模化、自动化并优化各类流程——从订购新笔记本电脑,到辅助客户服务代表,再到协助供应链规划。(https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/)
从 A2A 生态企业的分布也大概可以看出这一点,大部分都是 AI 平台与服务、软件、SaaS 和企业平台。
从技术上看,目前 A2A 的实现也不大适合智能体互联网的需求。
以个人助手使用 A2A 去酒店智能体预订房间为例,按照目前 A2A 的实现,个人助手需要发送一个任务,用自然语言描述用户的要求(价格、房型、时间等)信息,酒店智能体处理后返回任务执行信息。在中间可能要经过多次的任务交互、任务状态的迁移等。
这会有两个问题:一个是用户的隐私可能会被泄露,因为个人助手要将任务发送给另外一个智能体执行;另外一个就是交互耦合度过高。
ANP 的逻辑则是个人助手爬取酒店智能体的信息在本地进行处理,需要交互的时候才调用酒店智能体的接口。这是本质的区别。当然,除此之外 A2A 还有智能体在互联网上的身份互联互通问题没有解决。
不过,也不排除未来 A2A 通过协议升级扩展到智能体互联网的场景。
未来智能体协议的一些预判
短期内 MCP 成为模型连接工具和资源的事实标准,这个基本上已经确定,目前很难有第二个 MCP 出现。
中长期来看,我认为有一个趋势大概率会发生:工具智能体化,智能体工具化。如果这个趋势发生,那么智能体协议会挤压 MCP 的空间。
更长期来看,AGI 实现后,也许人类设计的协议是 AI 的束缚而非助力,AI 有办法自己设计协议并达成共识。
不过,在当下智能体协议是非常重要的,它是智能体的重要拼图,也是智能体与互联网交互最 AI 原生的方式,是比 Computer Use、Browser Use,甚至 AI 浏览器都更高效的连接方式。
无论如何,ANP 最有价值的部分,是社区对未来智能体互联网的设想,是社区独特的互联网理念(连接即权力),以及 DID + 语义网的技术路线。这是支撑 ANP 走下去的核心动力。
关于创新
A2A 出来之后看着 "炸裂、一夜变天、颠覆" 这些标题心情复杂,特别是我们做 ANP 做了一年,也推广了很长时间。
我们都在说,我们需要 "0 到 1" 的创新 —— 我们不单需要创新者,也需要媒体能够去发现这些创新者。
最后感谢开源社区的每一位贡献者和开发者,现在已经有 40 多位开发者了。
也感谢公众号、社区对我们的支持,包括 RTE 开发者社区、OSC 开源社区、Founder Park、觉察流、侯宏文存、AIGCLink、智能体 AI 等等(可能不全),还有很多给我们提供分享机会的组织,以及为社区提供服务器资源的 AWS 和阿里云。
最后
如果你也认可我们的理念,认可我们对未来智能体互联网的设想,欢迎加入我们,无论是以个人,还是以公司名义,我们需要你的支持。
我们正在筹备 ANP 开源技术社区创始委员会,这是一个临时委员会,目的是为了让社区能够走向正轨,成长为一个更加开放的社区。感兴趣可以联系我。
联系方式:
- 开源项目 GitHub:github.com/agent-netwo…
- Discord: discord.gg/sFjBKTY7sB
- 官网:agent-network-protocol.com/
- 微信:flow10240