AI应用标准详解:A2A MCP AG-UI

"OpenAI接入MCP,Google推出A2A,微软与OpenAI紧密绑定"标志着云计算竞争焦点已从"算力"和"模型参数"转向‌Agent标准协议控制权‌。在AI快速演进的今天,我们不再仅关注单个AI的智能水平,而是探索多个AI如何像团队一样协作完成复杂任务。如果说过去的AI是"孤岛",那么随着A2A和MCP协议的提出,我们正迈入"AI群体智能"时代。


AI时代的三大关键标准解析

1. ‌MCP协议(Agent-工具交互标准)‌

  • ‌核心作用‌:解决AI Agent与外部工具(如数据库、API)的交互问题

  • ‌典型场景‌:

  • 不同天气预报Agent调用气象API时遵循统一数据格式

  • 电商客服Agent与库存系统接口实时同步商品状态

  • ‌行业动态‌:OpenAI率先接入该协议,推动其成为工具交互的事实标准

2. ‌A2A协议(Agent间通信框架)‌

  • ‌核心作用‌:规范不同Agent之间的协作规则

  • ‌实现机制‌:

  • 采用类HTTP的请求-响应模式

  • 内置冲突解决和任务分配算法

  • ‌案例‌:Google的旅行规划Agent通过A2A协议协调航班预订、酒店推荐等子Agent

3. ‌AG-UI协议(人机交互标准化)‌

  • ‌创新点‌:统一AI Agent与前端应用的交互方式

  • ‌价值体现‌:

  • 开发者无需为每个AI应用单独设计UI逻辑

  • 支持多模态交互(语音、文本、AR等)的快速适配

Agent 应用协议栈来源:https://github.com/ag-ui-protocol/ag-ui


什么是 MCP?

MCP全称是Model Context Protocol(模型上下文协议),由Claude母公司Anthropic于24年11月开源发布,以下是MCP开源项目近期的Star数增长趋势,可以看到自今年3月以来,MCP迎来了井喷式的发展和关注量。今年3月27日,OpenAI宣布在Agent SDK中支持MCP,4月4日,谷歌宣布在Gemini的官方API文档中添加MCP的使用范例,海外三大AI巨头已经全部投入MCP怀抱。

MCP Github Star

添加图片注释,不超过 140 字(可选)

MCP的定义

MCP(Model Context Protocol) 是为 AI 智能体提供的工具调用规范说明。简单来说,它定义了:

  • • AI 可以访问哪些服务或工具(比如数据库、接口、第三方 API);

  • • 每个服务的调用方式、参数要求、输入输出格式;

  • • 如何描述一个任务的执行流程与能力边界。

MCP 的核心作用是:让 AI 能够像人类操作软件一样,独立调用外部系统资源,完成具体任务。

示例场景:

假设某 AI 负责生成日报,并需要从数据库中提取销售数据、调用图表接口生成可视化图表、再通过邮件系统发送至管理层。

如果它事先拥有对应系统的 MCP 描述,就可以:

  • • 明确“销售数据 API”的调用方式;

  • • 知道“图表服务”需要传入的数据格式;

  • • 自动组织调用顺序,实现完整闭环。

MCP 的价值在于标准化了 AI 与系统之间的“操作语言”,减少定制开发与重复对接成本,使 AI 能更容易扩展自己的“技能树”。

MCP协议的出现离不开Function Calling的使用,2023年6月,OpenAI 在 GPT-4-0613 和 GPT-3.5-turbo-0613 模型中首次引入Function Calling功能,赋予Agent执行具体任务的能力。通过Function Calling,模型能够根据上下文理解并执行特性函数调用,比如搜索知识库、搜索天气地理等实时信息、执行数学计算等。之后,谷歌、Anthropic也陆续推出模型的Function Calling能力。但是不同的模型的厂商在Function Calling的能力上的接口、格式、细节上存在诸多不兼容,举例如下:

添加图片注释,不超过 140 字(可选)

这些细节差异导致开发者需要针对不同模型做适配函数声明、参数传递、响应解析等环节,极大增加了AI开发者对于多模型集成的复杂度。因此,MCP作为一个通用协议被提出,旨为模型提供一个标准化的方式来管理和利用上下文,并提供统一的协议与外部世界(工具、服务、数据)进行交互。以这张经典的示例图为比如,使用MCP如同电脑插入USB-C接口后,简化了各种外部设备的适配。AI模型通过MCP可以轻松调用各种数据源和工具。

MCP 架构示例图来源:Norah Sakal on X https://x.com/norahsakal/status/1898183864570593663

值得注意的是,支持 MCP的模型通常需要支持 Function Calling,但Function Calling不是唯一实现方式。理论上,只要模型能理解和生成结构化的调用协议,比如 JSON-RPC、gRPC、RESTful API等,就可以实现 MCP能力。Function Calling是最主流、最推荐的实现 MCP 的方式。


什么是 A2A?

25年3月,在MCP出圈的同时,谷歌也推出了MCP的“补充”:A2A(Agent2Agent)协议。虽然A2A和MCP都是通过开放和标准化的方式,解决AI系统中不同单元的集成和交互问题,但是A2A和MCP的目标和作用域有本质区别。MCP解决的是Agent和外部工具/数据的集成,是Agent的“家务事”;而A2A致力于促进独立Agent间的通信,帮助不同生态系统的Agent沟通和协作。

添加图片注释,不超过 140 字(可选)

A2A(Agent-to-Agent Protocol),顾名思义,是定义智能体之间如何沟通与协作的一套协议。

过去,AI 更像“单人作战”的专家系统。而在越来越多的真实场景中,一个任务往往需要多个智能体协同完成。A2A 协议正是为了解决这些协作问题而生:

  • • 如何发现其他可用的智能体;

  • • 如何发起请求、共享上下文、同步进度;

  • • 如何协商分工、反馈结果,甚至容错与中断处理。

示例场景:

假设你对语音助手说:“帮我订一张下周的去广州的机票,并提交公司报销”。

这个任务实际上涉及多个 AI 智能体:

  1. 1. 语音助手 AI 负责语义理解和任务分发;

  2. 2. 航班搜索 AI 提供航班选项;

  3. 3. 票务预订 AI 完成支付与出票;

  4. 4. 报销流程 AI 向企业系统提交申请单据。

在这个过程中,AI 之间通过 A2A 协议 发起交互请求,传递上下文,确保每一个子任务能顺利衔接。哪怕这些智能体由不同平台或企业开发,只要遵循相同的 A2A 协议,就能实现互通协作。

举个例子,我的微信朋友圈中有个业务广泛的“黄牛总代”,这个黄牛合作了各领域的“黄牛”,比如演唱会和赛事抢票、医院热门号、灵隐寺月饼代排等,他们使用专用手段,例如内部渠道、脚本、人肉排队等方式解决用户需求。各领域黄牛就是Agent,MCP是将这些Agent与它们的结构化工具(例如抢票脚本)连接起来的协议。而A2A是用户或者黄牛总代Agent与黄牛Agent合作的协议,例如“我要一张周杰伦演唱会的门票”。基于A2A协议,Agent间可以进行双向沟通,不断优化计划,例如“我要6月23日门票”、“江浙沪地域任何价位都可以接受”,最终实现目标。

A2A作为一个开放协议,主要考虑Agent间通信在用户、企业交互上的主要问题挑战,官方介绍其主要功能特性如下:

A2A 协议示例来源:https://a2aprotocol.ai/

  • 标准化消息格式(Standardized Message Format):就像人们交流需要共同的语言,A2A为AI Agent们创建了一种统一的"语言",让它们能够清晰地表达“我需要什么”、“这是我的回答”等信息

  • 发现机制(Discovery Mechanism):在社交网络中,AI Agent可以“搜索”并了解其他AI Agent能做什么,然后决定与谁“交朋友”。

  • 任务委派框架(Task Delegation Framework):类似于项目经理分配工作,一个AI Agent面对复杂问题时,可以把不同部分分给最擅长处理这些问题的其他AI Agent。

  • 能力广告(Capability Advertisement):就像在招聘网站上发布简历,每个AI Agent可以“宣传”自己的特长,形成一个服务市场。

  • 安全和访问控制(Security and Access Control):相当于门禁系统,确保只有获得授权的AI助手才能互相交流,防止信息泄露或未经授权的操作。

A2A中包含三个核心者:User,存在于协议中,主要的作用是用于认证&授权;Client Agent,任务发起者;Server Agent,任务的执行者。Client和Server之间通信是以任务的粒度进行,每个Agent既可以是Client,也可以是Server。A2A的典型工作流程如下:

A2A 典型工作流

值得关注的是,多Agent系统(Multi-Agent System, MAS)是Agent系统的发展趋势,因为它更适用于解决复杂问题求解、分布式任务、模拟社会系统等问题,在多Agent系统中,每个Agent 专注单一领域,工具少于10个,团队协作需推理支持否则成功率低(目前成功率<50%)。以股票分析团队为例,需要一个Agent专注分析股票数据,另一个Agent提供股票操作建议。

但是,2025年MAS系统仍不成熟,业内对于单Agent还是多Agent仍存在大量争论,MAS系统的设计和协调机制复杂度高,行为难以预测和控制,目前更适合研究而非生产,所以A2A协议没有像MCP协议快速发展和普及。

A2A 与 MCP 的区别与协同

添加图片注释,不超过 140 字(可选)

特征

MCP (Anthropic)

A2A (Google)

发起方

Anthropic

Google

发布形式

开源

开源

解决的问题

AI 如何操作外部工具

AI 如何与其他 AI 协作

对象

模型 + 数据源(接口层)

Agent 之间(行为层)

架构目标

标准化模型访问工具 & 数据源

标准化 Agent 间沟通协作

协议基础

客户端/服务器协议

HTTP + JSON + AgentCard

开发者参与性

接入工具提供能力

构建完整 Agent 系统

两者并不冲突,而是相辅相成:

  • • MCP 让 AI 能做事,掌握工具使用能力;

  • • A2A 让 AI 会协作,具备组队完成任务的能力。

在一个完整的“多智能体系统”中,MCP 描述每个成员的能力边界,A2A 定义团队间的沟通机制。只有两者结合,AI 才真正具备独立协作的能力。

AG-UI 协议

AG-UI(Agent-User Interaction Protocol,智能体用户交互协议)是2025年5月由 CopilotKit 团队提出并开源的协议,旨在解决AI Agent与前端应用之间的交互标准化问题,提供一个轻量级、事件驱动的开放协议,实现AI Agent与用户界面的实时双向通信。AG-UI 协议的出现主要是为了解决智能体与前端应用之间的交互以下标准化问题,其工作流如下:

  • 客户端通过 POST 请求发起一次 AI Agent 会话;

  • 建立 HTTP 流,如 SSE 或 WebSocket 等协议,实现事件的实时监听与传输;

  • 每个事件都包含类型和元信息 Metadata,用于标识和描述事件内容;

  • AI Agent 持续以流式方式将事件推送至 UI 端;

  • UI 端根据收到的每条事件,实时动态更新界面;

  • 同时,UI 端也可以反向发送事件或上下文信息,供 AI Agent 实时处理和响应;

AG-UI 工作流示例图来源:https://webflow.copilotkit.ai

在AG-UI 协议中最核心的部分在于事件的定义:

  • 文本消息事件(TEXT_MESSAGE_)用于实时流式文本生成,类似AI Copilot的打字效果;

  • 工具调用事件 (TOOL_CALL)用于完整的工具调用生命周期管理;

  • 状态管理事件(STATE)用于状态同步,确保客户端和服务端状态一致;

  • 生命周期事件 (RUN* / STEP_)进行执行控制,管理整个代理执行的生命周期;

AG-UI 协议的事件类型定义体现了 AI Agent 系统的核心需求:流式处理、状态管理、工具集成、错误处理、可扩展性。协议的设计既考虑了技术实现的效率,也兼顾了用户体验的流畅性,是现代 AI 应用系统设计的重要参考。

目前AG-UI 协议官方推出了Python SDK和TypeScript SDK。笔者亲测使用 AG-UI 协议实现服务端和客户端的交互。以Python为例,可以使用ag-ui-protocol 包的 from ag_ui.core 相关能力来生成 AG-UI 协议事件,而不是手写 JSON。ag-ui-protocol 的核心事件定义在 ag_ui.core.events,它支持通过用 TextMessageStartEvent、TextMessageContentEvent、TextMessageEndEvent 这些类来构造事件,然后用 .model_dump_json() 输出。

可以使用Cursor 基于AG-UI 协议实现服务端和客户端代码。在进行服务端和客户端代码调试时,可使用浏览器BrowserTools的插件,并且为Cursor配置 BrowserTools MCP Server,这样通过 Call MCP Tool 让 Cursor可以快速定位和调试浏览器行为如下图,几轮对话交互后即可实现一个简单的AG-UI协议的前后端应用:

Cursor 使用 BrowserTool 的自动调试

AI代码率100%的前后端服务


为什么这很重要?

当前的大模型如 GPT-4、Claude 等,尽管具备强大的理解与生成能力,但大多数仍是“单体智能”。要迈向 多智能体智能体系(Multi-Agent Intelligence),就必须解决协作、通信、调用等底层问题。

A2A 和 MCP 的出现,是构建 AI 生态“操作系统”的第一步:

  • • 提升智能体的复用性和互操作性;

  • • 降低跨平台集成门槛;

  • • 推动 AI 从“工具”向“协作体”演进。

这不仅适用于虚拟助手,还将在企业自动化、智能客服、机器人团队、甚至智能城市等多个领域发挥关键作用。

添加图片注释,不超过 140 字(可选)

综上,各个维度对比当前Agent协议栈三大协议如下:

添加图片注释,不超过 140 字(可选)

三个协议共同构建成为Agent系统框架的基础设施,让Agent 长出手脚(MCP)、拥有协作伙伴(A2A)、有入口能落地(AG-UI)。这三个协议促进Agent系统从单Agent进化到多Agent,提升底层能力和上层用户体验,同时,协议的开放性和兼容性也激发了更多AI创新应用和跨界协作的可能。

参考来源:

Agent 框架协议“三部曲”:MCP、A2A、AG-UI

A2A vs MCP: Compare AI Agent Communication Protocols

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

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

相关文章

Web安全学习步骤

以下是Web安全专项学习步骤&#xff0c;聚焦实战能力培养&#xff0c;分为4个阶段资源清单**&#xff0c;适合从入门到进阶。重点培养漏洞挖掘能力与防御方案设计双重视角&#xff1a;---阶段1&#xff1a;Web技术筑基&#xff08;1-2个月&#xff09; | 领域 | 关键…

Android工程命令行打包并自动生成签名Apk

1.进入工程目录查看所有gradle任务 2.打包debug与release 打包前先生成jks签名文件test.jks 在工程的build.gradle中添加签名配置 signingConfigs {release {storeFile file("/home/dev/test.jks")storePassword "111111"keyAlias "key0"keyPas…

分布式微服务--Nacos作为配置中心(一)

1.Nacos配置远程配置中心注意总结&#xff1a;本地配置文件必须使用 bootstrap.yml 或 bootstrap.properties远程配置的加载优先于 application.yml&#xff0c;因此必须写在 bootstrap 配置文件中。本地配置文件中 file-extension 的取值仅支持两种&#xff1a;properties 或 …

Linux安装MySQL及链接第三方工具详细教程,带图带错误分析

本教程所有代码均为root用户权限下操作&#xff0c;如果不是root用户&#xff0c;在代码前加上&#xff08;sudo &#xff09;即可 一、安装MySQL服务 准备工作&#xff1a; 有时&#xff0c;系统无法解析 部分域名&#xff0c;导致无法获取镜像列表&#xff0c;从而无法安装…

WPS2024 软件下载及安装教程!

软件介绍 WPS Office是一套办公软件套装&#xff0c;包含WPS文字、WPS表格、WPS演示三大功能模块&#xff0c;可以满足常用文字处理、表格编辑和演示制作等多种办公需求&#xff0c;以其强大的功能和用户友好的界面赢得了众多用户的青睐。 软件&#xff1a;‌‌‌‌‌‌WPS Of…

ESD监控系统确保工厂生产设备的静电安全

随着电子工业的飞速发展&#xff0c;电子产品的精密程度不断提高&#xff0c;对生产环境的要求也日益严格。在许多电子制造工厂中&#xff0c;安装和维护有效的静电防护措施已成为保障生产安全和产品品质的关键。ESD监控系统作为静电管理的核心工具&#xff0c;为确保工厂设备和…

基于react的YAPI实战指南

基于react的YAPI 示例新增项目扩展遇到的问题&#xff0c;更改页面内容没有生效可能遇到的问题新增项目扩展 支持设置项目权限【公开】 <RadioGroup><Radio value"private" className"radio"><Icon type"lock" />私有<br …

docker镜像源配置教程,以及解决安装好docker配置镜像源后,出现报错。Job for docker.service failed

Job for docker.service failed because start of the service was attempted too often. See "systemctl status docker.service" and "journalctl -xe" for details.解决后效果&#xff1a;1、进入/etc/docker目录cd /etc/docker2、创建daemon.json文件并…

安卓264和265编码器回调编码数据写入文件的方法

一、写入文件 1、变量定义 private FileOutputStream m265FileOutputStream null; private File m265File null; private static final String HEVC_265_FILE_NAME "output.265"; // 或 .265 private static final String AVC_264_FILE_NAME "output.264&qu…

【基础完全搜索】USACO Bronze 2019 January - 猜动物Guess the Animal

题目描述 当奶牛贝茜和她的朋友艾尔西玩腻了常见的贝壳游戏后&#xff0c;她们喜欢玩另一个经典游戏"猜动物"。 游戏开始时&#xff0c;贝茜会在心中选定一种动物&#xff08;大多数时候她都会选奶牛&#xff0c;这让游戏变得相当无聊&#xff0c;不过偶尔贝茜也会…

Spring IoC容器与Bean管理

代码结构spring01/ ├── pom.xml ├── spring01.iml └── src/├── main/│ ├── java/│ │ └── com/│ │ └── demo/│ │ ├── bean/│ │ │ ├── Demo.java│ │ │ ├── Emp1.java│ │ …

【QT】概述

个人主页&#xff1a;Guiat 归属专栏&#xff1a;QT 文章目录1. Qt基础入门1.1 什么是Qt1.2 Qt的历史与发展1.3 Qt的核心特性2. Qt架构深度解析3. Qt开发环境搭建4. Qt应用开发实战4.1 项目结构4.2 设计用户界面4.3 实现功能逻辑4.4 数据持久化4.5 美化界面4.6 添加动画效果5. …

直播带货系统源码开发:山东布谷科技9年海内外电商直播研发技术深耕之路

在数字化浪潮的席卷下&#xff0c;电商行业历经多次变革&#xff0c;直播带货作为其中的新兴力量&#xff0c;已成为推动商品销售与品牌传播的关键引擎。山东布谷科技&#xff0c;凭借其在直播带货系统开发领域长达9年的深厚积淀&#xff0c;为电商直播带货系统源码定制开发提供…

20250731解决RK3588的AIOT参考设计刷机之后可以启动但是断电进MASKROM模式

20250731解决RK3588的AIOT参考设计刷机之后可以启动但是断电进MASKROM模式 2025/7/31 20:42缘起&#xff1a;编译RK3588原厂的Android14、buildroot(linux-6.1)的EVB7V11之后刷AIOT&#xff0c;可以启动。 但是通过命令关机之后&#xff1a;按POWER按键无法启动。 Android14 re…

永洪科技华西地区客户交流活动成功举办!以AI之力锚定增长确定性

在全球经济进入“慢周期”的背景下&#xff0c;企业对确定性增长工具的渴求达到前所未有的高度。近日&#xff0c;永洪科技在成都成功举办华西地区客户交流会&#xff0c;以“拥抱AI迈进数据智能时代”为主题&#xff0c;汇聚金融、制造、能源、消费品等领域的百余家头部企业代…

Electron 作品【AI聊天】桌面应用 —— 系列教程(含开源地址)

效果预览 开源地址 https://gitee.com/sunshine39/electron-vue3-AIchat 系列教程 Electron Forge【实战】桌面应用 —— AI聊天&#xff08;上&#xff09;Electron Forge【实战】桌面应用 —— AI聊天&#xff08;中&#xff09;Electron Forge【实战】桌面应用 —— AI聊天&…

JS--获取事件的子元素与父元素

原文网址&#xff1a;JS--获取事件的子元素与父元素-CSDN博客 简介 本文介绍JS如何获取事件的子元素与父元素。 情景描述 事件监听写在父元素上&#xff0c;我点击子元素时触发了事件&#xff0c;怎样通过事件获取子元素和这个父元素&#xff1f; 点击子元素时&#xff0c…

PPT自动化 python-pptx - 11 : 备注页 (Notes Slides)

在 PowerPoint 演示文稿的自动化处理中&#xff0c;备注页的操作常常被忽略&#xff0c;但实际上它在演讲者辅助、内容管理等场景中有着重要作用。本文将结合 python-pptx 库&#xff0c;详细讲解 PowerPoint 备注页的概念、与备注母版的关系&#xff0c;以及如何通过代码实现备…

【Python小工具】图片转PDF

文章目录0 前言1 主要功能的实现2 拖拽运行的实现3 检查细节【未成功实现】4 总结0 前言 不知道大家是否遇到过这种情况&#xff0c;提交材料时需要将多个图片材料整合到一个PDF中上传。这个时候我们需要找一个工具&#xff0c;其作用为接收我们给它的若干张图片&#xff0c;并…

零售消费行业研究系列报告

消费者洞察报告&#xff1a;即时零售美妆用户消费行为跃迁 食品饮料行业深度&#xff1a;新消费研究之三&#xff1a;即时零售应需而生&#xff0c;酒类品牌或迎新机遇 2025年上半年连锁零售门店发展蓝皮书 商贸零售行业新消费细分赛道投资机会梳理&#xff1a;新消费势能向…