当前位置: 首页 > news >正文

当下流行的智能体通信协议:MCP、A2A、ANP 分别是什么?

在当前人工智能(AI)智能体生态系统中,智能体之间的有效沟通至关重要。为了让AI智能体能够高效、安全地协同工作,业界提出了多种通信协议。其中,MCP、A2A 和 ANP 代表了三个关键层级的通信协议,各自应对不同的协作需求:

  • MCP (Model Context Protocol,模型上下文协议):专注于解决单个AI智能体如何与外部工具和数据源进行标准化交互的问题。它好比为智能体提供了一套通用的“插座和插头”,让智能体可以方便地调用各种外部功能(如搜索引擎、数据库)。
  • A2A (Agent-to-Agent Protocol,智能体到智能体协议):着眼于实现不同AI智能体之间的点对点协作和任务分配。这就像让不同的智能体可以直接“对话”并相互委托任务,即使它们由不同开发者制作或在不同平台上运行。
  • ANP (Agent Network Protocol,智能体网络协议):则将视野扩展到更广泛的去中心化网络中,智能体如何发现彼此并进行安全的多方协作。这旨在构建一个开放的“智能体社会网络”,让不同组织的智能体也能互相信任并协同工作。

接下来,将分别介绍这三种协议的定义、设计目标、核心工作机制以及典型的应用场景。

MCP (Model Context Protocol,模型上下文协议)

定义与目标

MCP 是一种协议,专注于让AI智能体(尤其是由大型语言模型驱动的智能体)能够以一种标准化的方式与外部工具(如API服务)或数据源(如数据库)进行交互。可以将其理解为智能体使用外部工具的“通用语言”。

它的主要目标是:

  • 确保数据交换的安全性和规范性(类型化)。
  • 提供可扩展的工具调用方法
  • 从而增强单个智能体的功能,并让工具更容易被复用和集成。

核心工作机制

  • 统一的接口规范 (基于JSON-RPC):智能体作为客户端,通过 MCP 向工具服务(服务器)发送结构化的请求,工具则以统一格式回应。这就像所有工具都使用同一种插头和插座,大大减少了为不同工具开发和维护专用接口的麻烦。
  • 明确的数据格式 (类型化数据):MCP 要求为输入和输出数据定义清晰的结构(schema)。这使得工具的调用和数据流动更加可靠,易于检查错误和自动化处理,确保智能体和工具之间“语言”的精确性。
  • 安全保障与访问控制:内置身份验证和权限管理机制,确保在多用户(多租户)环境下,不同智能体对工具的访问是安全隔离的,防止数据泄露或未授权操作。

典型应用场景

  • 整合多种工具进行复杂任务处理:当一个复杂任务需要调用多个不同工具时(例如,先搜索信息,再查询数据库,最后调用API),MCP 可以让智能体用同一种方式接入所有工具,无需为每个工具编写特定代码。
  • 构建云端智能体平台:在云平台上,MCP 有助于管理大量并发的工具调用请求,确保系统高效、低延迟地运行,支持大规模智能体应用。

A2A (Agent-to-Agent Protocol,智能体到智能体协议)

定义与目标

A2A 协议专注于实现不同AI智能体之间的直接沟通和协作,即使这些智能体由不同开发者创建、在不同系统上运行。可以看作是智能体之间互相“对话和分配工作”的规范。

它的核心目标是:

  • 让智能体能够发现彼此的能力
  • 支持智能体之间相互委派任务
  • 确保任务结果能够顺利回传
  • 实现跨平台、跨开发者的智能体互操作

核心工作机制

  • “能力名片” (Agent Cards):每个智能体通过一张标准化的“能力名片”来声明自己能做什么(任务类型)以及如何被调用(接口规范)。其他智能体可以查看这些名片来找到合适的合作者。
  • 直接且安全的通信 (P2P):A2A 通常不依赖中央服务器转发消息,而是支持智能体之间的点对点直接消息传递。同时,它会采用加密信道等方式保障通信过程的安全性和隐私。
  • 跨平台协作能力:定义了通用的消息格式和沟通规则(协商协议),使得用不同编程语言、在不同框架下开发的智能体也能在同一个任务流中协同工作。

典型应用场景

  • 企业内部多智能体协作:在大型企业中,不同智能体可能负责不同业务模块(如销售助理、客服助理、库存管理助理)。A2A 可以让它们无缝协作,共同完成一个完整的业务流程,例如从客户下单到发货。
  • 跨系统/团队联动:不同部门或团队开发的智能体,即使底层技术平台不同,也能通过 A2A 协议进行有效的任务协调和信息共享,打破数据和功能孤岛。

ANP (Agent Network Protocol,智能体网络协议)

定义与目标

ANP 协议则将目光投向更广阔的、开放的网络环境,旨在建立一个去中心化的网络,让不同组织或个人的智能体能够在这个网络中被发现、相互验证身份并安全协作。可以设想成一个“全球智能体协作网络”的底层规则。

它的目标是:

  • 构建一个去中心化的“智能体市场”或“智能体名录”
  • 促成不同组织、不同开发者之间的智能体互助与资源共享
  • 支持多方安全验证与互信,即使在不完全信任的环境中。

核心工作机制

  • 可信的数字身份 (DID - Decentralized Identifiers):每个智能体在网络中拥有一个基于密码学保障的去中心化身份标识。这确保了其身份的真实性和唯一性,其他智能体可以通过此身份对其进行验证。
  • 结构化的能力描述 (基于JSON-LD图谱):采用图谱(类似知识图谱)来描述智能体的能力及其之间的复杂关系和依赖。这使得智能体能更智能地发现最适合的合作伙伴,甚至进行一定的语义推理来理解协作需求。
  • 安全的多方协作机制:通过数字签名链、时间戳等技术,保障多方协作过程中的操作不可否认、数据完整可追溯,从而在去中心化网络中建立信任。

典型应用场景

  • 构建跨组织智能体市场/服务目录:行业联盟或开放社区可以基于 ANP 建立智能体服务目录。成员可以发布自己的智能体能力,或寻找其他智能体来完成特定任务,类似一个“智能体应用商店”或“任务外包平台”。
  • 隐私保护下的去中心化数据共享与联合分析:在对数据隐私和合规性要求极高的场景(如医疗研究、金融风控),不同机构的智能体可以在不直接共享原始数据的前提下,通过 ANP 安全地协同完成联合数据分析任务。

小结:三大协议如何协同工作

这三种协议并非相互独立,而是可以协同工作,共同构建一个强大而灵活的AI智能体生态:

  • 各司其职,相辅相成

    • MCP 像是为智能体配备了与外部世界(工具、数据)沟通的“万能工具箱”。
    • A2A 则像是教会了智能体之间如何进行“直接对话与团队协作”。
    • ANP 致力于构建一个更广阔、更开放的“智能体社会网络”,让不认识的智能体也能找到彼此并安全合作。
      这三者并非替代关系,而是相互补充,共同构成了智能体通信协作的不同层面。
  • 实践中的整合应用:在实际部署中,一种常见的方式是:

    1. 首先采用 MCP 打通单个智能体与各类外部工具和数据的连接,增强其个体能力。
    2. 然后引入 A2A 实现企业或组织内部多个智能体之间的链式协作和任务流自动化。
    3. 最后,可以通过 ANP 将这种协作能力扩展到组织外部,参与到更广泛的、跨机构的智能体市场和生态中。
  • 未来展望:随着多智能体系统的日益复杂和普及,统一、安全且可扩展的通信协议是构建高效、自治AI系统的基石。这些协议的持续发展和完善,将有力推动智能体技术走向更深层次的协作与智能化,催生更多创新的应用场景。

相关文章:

当下流行的智能体通信协议:MCP、A2A、ANP 分别是什么?

在当前人工智能(AI)智能体生态系统中,智能体之间的有效沟通至关重要。为了让AI智能体能够高效、安全地协同工作,业界提出了多种通信协议。其中,MCP、A2A 和 ANP 代表了三个关键层级的通信协议,各自应对不同…...

中国近代史2

甲午中日战争(1894-1895) 1.开始的标志:丰岛海战 2.进程 平壤之战:清军统帅叶志超不战而降,回民将领左宝贵以身殉职 黄海海战(大东沟海战):北洋水师黄海遭遇日本舰队,水…...

Ubnutu ADB 无法识别设备的解决方法

1. 正确安装adb 下载地址 2. 检查 Linux 是否识别设备 lsusb通过上述指令,分别查询插入、断开设备的usb设备表,如下所示: # 插入设备 adbc:~$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 011:…...

基于策略的强化学习方法之近端策略优化(PPO)深度解析

PPO(Proximal Policy Optimization)是一种基于策略梯度的强化学习算法,旨在通过限制策略更新幅度来提升训练稳定性。传统策略梯度方法(如REINFORCE)直接优化策略参数,但易因更新步长过大导致性能震荡或崩溃…...

前端图形渲染 html+css、canvas、svg和webgl绘制详解,各个应用场景及其区别

在前端开发中,HTMLCSS、Canvas、SVG 和 WebGL 是实现图形渲染的四种常见技术。它们各自具有不同的特点和适用场景。以下是对这四种技术的详细解析: 1. HTML CSS 特点: 主要用于构建网页的结构和样式。通过 CSS 可以实现简单的图形效果&am…...

《Navicat之外的新选择:实测支持国产数据库的SQLynx核心功能解析》

数据库工具生态的新变量 在数据库管理工具领域,Navicat长期占据开发者心智。但随着国产数据库崛起和技术信创需求,开发者对工具的兼容性、轻量化和本土化适配提出了更高要求。近期体验了一款名为SQLynx的国产数据库管理工具(麦聪旗下产品&am…...

Elasticsearch 快速入门指南

1. Elasticsearch 简介 Elasticsearch 是一个基于 Lucene 的开源分布式搜索和分析引擎,由 Elastic 公司开发。它具有以下特点: 分布式:可以轻松扩展到数百台服务器,处理 PB 级数据实时性:数据一旦被索引,…...

解决Mawell1.29.2启动SQLException: You have an error in your SQL syntax问题

问题背景 此前在openEuler24.03 LTS环境下的Hive使用了MySQL8.4.2,在此环境下再安装并启动Maxwell1.29.2时出现如下问题 [ERROR] Maxwell: SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version f…...

【Conda】环境应用至JupyterLab

目录 ✅ 步骤一:激活你的 conda 虚拟环境 ✅ 步骤二:安装 ipykernel(如果尚未安装) ✅ 步骤三:将环境注册为 Jupyter 内核 ✅ 步骤四:启动 JupyterLab 并选择内核 🧼 可选:删除…...

英语六级听力

试卷结构考试内容数量听力理解长对话8*7.1分听力篇章7*7.1分讲话/报道/讲座10*14.2分考点分析 A. 理解明示的信息 理解主旨大意听懂重要信息或特定的细节理解说话人明确表达的观点、态度等B. 理解隐含的信息 推论隐含的意义判断话语的交际功能推断说话人的观点、态度等C. 运用…...

视差计算,求指导

通过SGBM算法算出来的视差图,照片是3072*3072的, numDisparities是112,bloksize是7 不知道怎么调整了,求指导...

各个历史版本mysql/tomcat/Redis/Jdk/Apache/gitlab下载地址

mysql 各版本下载地址: https://downloads.mysql.com/archives/community/ **************************************************************** tomcat 各版本下载地址: https://archive.apache.org/dist/tomcat/ ********************************…...

【Redis】压缩列表

目录 1、背景2、压缩列表【1】底层结构【2】特性【3】优缺点 1、背景 ziplist(压缩列表)是redis中一种特殊编码的双向链表数据结构,主要用于存储小型列表和哈希表。它通过紧凑的内存布局和特殊的编码方式来节省内存空间。 2、压缩列表 【1…...

计算机网络--第一章(上)

目录 1.计算机网络的概念 2.计算机网络的组成、功能 3.交换 3.1 电路交换 3.2 报文交换 3.3 分组交换 3.4 虚拟电路交换 4.交换的性能分析 4.1 电路交换 4.2 报文交换 4.3 分组交换 4.4 总结 5.计算机网络的分类 5.1 分布范围分类 5.2 传输技术分类 5.3 拓扑结…...

hbit资产收集工具Docker(笔记版)

1. 安装 Docker 在 Kali 系统中,首先更新软件源,并安装 Docker apt-get update && apt-get upgrade && apt-get dist-upgrade apt-get install docker.io docker-compose安装完成后,使用 docker -v 命令验证安装是否成功。…...

套路化编程:C# winform ListView 自定义排序

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...

CSS3 变形

一、CSS3变形(Transform)是一些效果的集合,有以下几种: ‌平移(Translate)‌:元素沿水平或垂直方向移动。‌旋转(Rotate)‌:元素绕某点旋转一定的角度。‌缩放…...

【python基础知识】Day26 函数

一、函数的定义 函数是一段具有特定功能的、可重用的语句组,用函数名来表示。在需要使用函数时,通过函数名进行调用。函数也可以看作一段具有名字的子程序,可以在需要使用它的地方进行调用执行,不需要在每个执行的地方重复编写这些…...

C#中Action的用法

Action 是 C# 中委托的一种,用于封装无返回值的方法。它引用的方法不能有返回值,但可以有零个或多个参数。相比delegate委托,Action 委托的优点是不必显式定义封装无参数过程的委托,使代码更加简洁和易读。 1、delegate-委托 先…...

IOS CSS3 right transformX 动画卡顿 回弹

卡片从右往左滑动,在同时变换 width height right transformX的时候 在某些IPhone机型上 会有卡顿,在Chrome和Android等很多机型都是OK的,包括我的iphone 14 pro max. IOS 18.2 也是好的。但是,新的iPhone16 也会卡,会…...

ruskal 最小生成树算法

https://www.lanqiao.cn/problems/17138/learning/ 并查集ruskal 最小生成树算法 Kruskal 算法是一种用于在加权无向连通图中寻找最小生成树(MST)的经典算法。其核心思想是基于贪心策略,通过按边权从小到大排序并逐步选择边,确保…...

多系统环境下,如何构建高效的主数据管理体系?

企业信息化建设步伐不断加快,各类业务系统如雨后春笋般涌现,如ERP、CRM、SCM、MES等等。然而,系统繁多也带来了一个棘手的问题:数据孤岛。各系统间数据标准不一、信息不流通、口径不统一,导致企业主数据(如…...

Linux515 rsync定时备份

凌晨1时三分进行备份 源码 code: code指定文件夹定时备份rsync到备份机指定文件夹 一.环境配置(code,backup) 1.关闭防火墙 设置selinux相关为0 setenforce 0 /etc/selinux/config SELINUXdisable 分别配置 2.设置主机名 3.配置ip地址(…...

Claude官方63组提示词模板全解析:从工作到生活的AI应用指南

在当今AI技术飞速发展的时代,大模型如ChatGPT、Claude等已成为我们工作和生活中不可或缺的助手。然而,许多用户发现同样的AI工具在不同人手中能产生截然不同的效果——关键在于提示词(Prompt)的质量。 提示词是与AI沟通的桥梁,好的提示词能…...

C#中的typeof操作符与Type类型:揭秘.NET反射的基础

引言 在C#编程中,反射(Reflection)是一种强大的机制,它允许我们在运行时检查和操作类型、方法、属性等程序元素。而这种反射能力的核心就是typeof操作符和System.Type类。当我们希望动态加载程序集、创建对象实例、调用方法&…...

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

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

开源的跨语言GUI元素理解8B大模型:AgentCPM-GUI

一、模型概述 AgentCPM-GUI 是由清华大学自然语言处理实验室 (THUNLP) 和 ModelBest 联合开发的开源大模型。该模型基于 MiniCPM-V 架构,拥有 80 亿参数规模,是一个能够直接在终端设备上运行的轻量化智能体。它创新性地将多模态输入与 GUI 操作相结合&a…...

Function Calling

在介绍Function Calling之前我们先了解一个概念,接口。 接口 两种常见接口: 人机交互接口,User Interface,简称 UI应用程序编程接口,Application Programming Interface,简称 API接口能「通」的关键,是两边都要遵守约定。 人要按照 UI 的设计来操作。UI 的设计要符合人…...

星巴克中国要卖在高点

9%能否救70%的急? 作者|古廿 编辑|文昌龙 星巴克中国刚刚回暖,总部出售的计划再次提上日程。 5月15日,外媒又适时放出消息:星巴克将开始出售其在中国的股份。消息人士称,星巴克本周通过一位财务顾问向几位潜在投资…...

Docker实现MySQL数据库主从复制

一、拉取数据库镜像 docker pull mysql:5.7二、创建两个数据库(一主一从模式) mysql01(主) 1.docker run -d -p 3310:3306 -v /root/mysql/node-1/init:/docker-entrypoinit-initdb.d -v /root/mysql/node-1/config:/etc/mysql/conf.d -v /root/mysq…...

【物联网】基于树莓派的物联网开发【4】——WIFI+SSH远程登录树莓派

使用背景 没有有线网络,无屏幕如何远程登录?程序猫教大家如何通过电脑wifi热点的方式连接树莓派,ssh连接访问树莓派,包括putty开源远程工具进行连接,VNC远程桌面显示。 注:新手建议买一个树莓派配置的显示…...

CentOS7 OpenSSL升级1.1.1w

1.安装依赖 # openssl-3.4.0需要perl-IPC-Cmd perl-Data-Dumper yum -y install gcc* yum -y install perl-IPC-Cmd perl-Data-Dumper 2.备份、卸载旧OpenSSL 查找安装目录并备份 # whereis openssl openssl: /usr/bin/openssl /usr/lib64/openssl /usr/share/man/man1/op…...

高精度降压稳压技术在现代工业自动化中的应用

一、引言 在现代工业自动化的浪潮中,电源管理技术犹如隐藏在精密机械背后的智囊,虽不直接参与生产流程的逻辑决策,却是保障各类自动化设备稳定、高效运行的基石。高精度降压稳压技术,作为电源管理领域的核心分支,聚焦…...

鸿蒙OSUniApp制作动态筛选功能的列表组件(鸿蒙系统适配版)#三方框架 #Uniapp

使用UniApp制作动态筛选功能的列表组件(鸿蒙系统适配版) 前言 随着移动应用的普及,用户对应用内容检索和筛选的需求也越来越高。在开发跨平台应用时,动态筛选功能已成为提升用户体验的重要组成部分。本文将详细介绍如何使用UniA…...

Qt中控件的Viewport作用

在Qt中,viewport是控件中用于显示内容的一个概念区域,它在可滚动控件中尤为重要。以下是viewport的主要作用和特点: 主要作用 内容显示区域:viewport定义了控件中实际可见的部分,所有内容都在这个区域内显示。 滚动机…...

论文学习_Precise and Accurate Patch Presence Test for Binaries

摘要:打补丁是应对软件漏洞的主要手段,及时将补丁应用到所有受影响的软件上至关重要,然而这一点在实际中常常难以做到,研究背景。因此,准确检测安全补丁是否已被集成进软件发行版本的能力,对于防御者和攻击…...

ubuntu服务器版启动卡在start job is running for wait for...to be Configured

目录 前言 一、原因分析 二、解决方法 总结 前言 当 Ubuntu 服务器启动时,系统会显示类似 “start job is running for wait for Network to be Configured” 或 “start job is running for wait for Plymouth Boot Screen Service” 等提示信息,并且…...

国产数据库工具突围:SQLynx如何解决Navicat的三大痛点?深度体验报告

引言:Navicat的"中国困境" 当开发者面对达梦数据库的存储过程调试,或是在人大金仓中处理复杂查询时,Navicat突然变得力不从心——这不是个例。 真实痛点:某政务系统迁移至OceanBase后,开发团队发现Navicat无…...

牛客网NC21994:分钟计算

牛客网NC21994:分钟计算 📝 题目描述 输入格式 输入两行,每行包含两个整数,分别表示小时和分钟第一行表示起始时间,第二行表示结束时间 输出格式 输出一个整数,表示两个时间点之间的分钟数 示例 输入…...

全球宠物经济新周期下的亚马逊跨境采购策略革新——宠物用品赛道成本优化三维路径

在全球"孤独经济"与"银发经济"双轮驱动下,宠物用品市场正经历结构性增长。Euromonitor数据显示,2023年全球市场规模突破1520亿美元,其中中国供应链贡献度达38%,跨境电商出口增速连续三年超25%。在亚马逊流量红…...

Tomcat多应用部署与静态资源路径问题全解指南

🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C、C#等开发语言,熟悉Java常用开…...

128.在 Vue 3 中使用 OpenLayers 实现绘制矩形截图并保存地图区域

📌 本文将介绍如何在 Vue 3 中使用 OpenLayers 实现: 1)用户可在地图上绘制矩形; 2)自动截取该区域地图为图片; 3)一键保存为本地 PNG 图片。 ✨效果如下图所示 🧠一、前言 在地图类…...

使用 163 邮箱实现 Spring Boot 邮箱验证码登录

使用 163 邮箱实现 Spring Boot 邮箱验证码登录 本文将详细介绍如何使用网易 163 邮箱作为 SMTP 邮件服务器,实现 Spring Boot 项目中的邮件验证码发送功能,并解决常见配置报错问题。 一、为什么需要邮箱授权码? 出于安全考虑,大…...

python处理异常,JSON

异常处理 #异常处理 # 在连接MySQL数据库的过程中,如果不能有效地处理异常,则异常信息过于复杂,对用户不友好,暴露过多的敏感信息 # 所以,在真实的生产环境中, 程序必须有效地处理和控制异常,按…...

原生微信小程序 textarea组件placeholder无法换行的问题解决办法

【问题描述】 微信小程序原生代码,使用文本域,placeholder使用\n 没有效果,网上找了一堆方案说使用 也没有效果 最后在一个前端大佬博客,找到解决办法,CSS设置word-wrap: break-word; white-space: pre-line; 【解决办…...

毕设设计 | 管理系统图例

文章目录 环素1. 登录、注册2. 菜单管理 环素 1. 登录、注册 2. 菜单管理 公告通知 订单管理 会员管理 奖品管理 新增、编辑模块...

激光雷达视觉定位是3D视觉定位吗?

激光雷达视觉定位通常被归类为3D视觉定位,但具体来说,它是融合了激光雷达(LiDAR)数据和视觉(图像)数据的多模态3D定位方法。我们可以从几个角度来理解这点: 为什么说它属于3D视觉定位&#xff…...

每周靶点:NY-ESO-1、GPC3、IL27分享

本期精选了《自身免疫性癌抗原NY-ESO-1》《肝细胞癌标记物GPC3》《白细胞介素IL27》三篇文章。以下为各研究内容的概述: 自身免疫性癌抗原NY-ESO-1 NY-ESO-1是一种自身免疫性癌抗原,也称为CTA1B(CTAG1B),由主要组织相…...

Maven 插件参数注入与Mojo开发详解

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...

Java详解RabbitMQ工作模式之发布订阅模式

目录 一、发布订阅模式简介二、发布订阅模式的工作原理2.1 核心组件2.2 工作流程 三、代码示例3.1 生产者代码3.2 消费者代码 四、实际应用场景五、注意事项六、总结 在分布式系统中,消息队列作为异步通信的桥梁,扮演着至关重要的角色。而 RabbitMQ&…...