news 2026/4/16 14:32:09

AI智能体系统三大核心协议全解析:MCP、A2A、AG-UI架构设计指南!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI智能体系统三大核心协议全解析:MCP、A2A、AG-UI架构设计指南!

简介

本文详解AI智能体系统三大核心协议:MCP解决智能体与外部工具交互标准化;A2A实现智能体间通信协作;AG-UI规范前端与智能体交互。这些协议构成AI智能体应用基础设施,使智能体能操作环境、协作交互,推动从单一向多智能体进化,提升底层能力与用户体验,为AI创新应用提供可能。


AI 智能体应用在企业实际落地越来越多,一个完整的 AI 智能体应用系统通常包含三个主要角色:用户、AI 智能体和外部工具。AI 智能体架构设计的核心任务之一,就是解决这三个角色之间的沟通问题。

这三个角色的沟通,涉及到:MCP 协议、A2A 协议和 AG-UI 协议。其中,MCP 协议解决 AI 智能体和外部工具的标准化交互问题;A2A 协议解决 AI 智能体间的标准通信问题;AG-UI 解决前端应用(比如:APP)和 AI 智能体间的标准交互的问题。

下文详细剖析之。

一、MCP 协议架构设计

MCP(模型上下文协议)是由 Anthropic 定义的一个开放协议,标准化应用程序如何为大语言模型(LLM)提供上下文。更具体地说,它试图标准化基于 LLM 的应用程序与其他环境集成的协议。

在 AI Agent 系统(Agentic Systems)中,上下文可以通过多种方式提供:

1、外部数据:这是长期记忆的一部分。

2、工具:系统与环境交互的能力。

3、动态提示词:可以作为系统提示词(System Prompt)的一部分注入。

第一、为什么要标准化?

目前,AI Agent 应用的开发流程很混乱:

1、有许多 AI 智能体框架存在细微差异。虽然看到生态系统蓬勃发展令人鼓舞,但这些细微差异很少能带来足够的价值,但可能会显著改变你的代码编写方式。

2、与外部数据源的集成通常是临时实现的,并且使用不同的协议,即使在组织内部也是如此。对于不同公司来说,这显然是如此。

2、工具在代码库中以略微不同的方式定义。如何将工具附加到增强型 LLM 上也是不同的。

目标是提高我们创新 AI 智能体应用的速度、安全性以及将相关数据带入上下文的便利性。

第二、MCP 协议架构设计

1、MCP Host:使用 LLM 为核心并希望通过 MCP 访问数据的程序。

2、MCP Client:与 MCP Server 保持1:1连接的客户端。

3、MCP Server:每个 MCP Server 都通过标准化的模型上下文协议公开特定功能的轻量级程序。

4、Local Data Sources:你计算机上的文件、数据库和服务,MCP Server 可以安全访问。

5、Remote Data Sources:通过互联网可用的外部系统(比如:通过 API),MCP Server 可以连接到这些系统。

第三、通过 MCP 分离控制责任

MCP Server 公开三个主要元素(Prompts、Resoures、Tools),这些元素是有意设计的,以帮助实现特定的控制分离。

1、Prompts 提示词被设计为用户控制的。后端的程序员可以公开特定的提示词(适用于与后端服务公开的数据交互),这些提示词可以注入到使用 LLM 的应用程序中,并暴露给给定应用程序的用户。

2、Resoures 资源被设计为应用程序控制的。Resources 资源是任何可以被利用 LLM 构建的应用程序使用的数据(文本或二进制)。应用程序的程序员(通常是 AI 应用开发工程师)负责将这些信息编码到应用程序中。通常,这里没有自动化,LLM 不参与此选择。

3、Tools 工具被设计为大模型控制的。如果我们赋予应用程序如何与环境交互的代理权,我们使用 Tools 工具来实现这一点。MCP Server 公开一个端点,可以列出所有可用 Tools 工具及其描述和所需参数,应用程序可以将此列表传递给 LLM,以便它决定哪些 Tools 工具适用于手头的任务以及如何调用它们。

一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇

二、A2A 协议架构设计

第一、为什么会有 A2A?

现在越来越清楚,未来的 AI 智能体系统(Agentic Systems)将是多 AI 智能体的。而且,这些 AI 智能体会在彼此之间远程协作,每个 AI 智能体都可能使用不同的 AI 智能体框架(比如:LangGraph、AutoGen、CrewAI、Agent Development Kit 等)来实现。

这里面有3个固有的问题:

1、不同框架实现的 AI 智能体系统之间,不支持系统状态的转移和交换。

2、远程 AI 智能体之间也无法转移系统状态。

3、离线的 AI 智能体不共享工具、上下文和内存(包括系统状态)。

第二、A2A 解决方案

A2A 是一个开放协议,它为 AI 智能体之间提供了一种标准方式,无论底层开发框架或供应商如何,都可以进行协作。

根据谷歌的官方文档: A2A 协议促进了“客户端”和“远程” AI 智能体之间的通信。

简单来说,“客户端” AI 智能体创建任务并与“远程” AI 智能体沟通,期望执行某些工作或返回数据。

第三、A2A 架构设计

1、能力发现:所有实现 A2A 的 AI 智能体都通过“Agent Card”公开其能力目录。这有助于其他 AI 智能体发现给定 AI 智能体实现的潜在有用功能。

2、任务管理:通信协议,使得短期和长期任务变得更容易。它帮助通信中的 AI 智能体保持同步,直到请求的任务完成并返回答案。这很重要,因为有些 AI 智能体可能需要很长时间来执行工作,而且目前没有统一标准如何等待这种情况发生。

3、协作:AI 智能体可以相互发送消息以传达上下文、回复、工件或用户指令。

4、用户体验协商:这是一个很有趣的功能。它允许协商数据返回的格式,以符合用户界面的期望(比如:图像、视频、文本等)。

通过 A2A 公开的 AI 智能体的发现是一个重要话题。谷歌建议使用统一的位置来存储组织的“Agent Card”。

比如:

https://<DOMAIN>/<agreed-path>/agent.json

这并不意外,因为谷歌将处于最佳位置,能够索引全球所有可用的 AI 智能体,可能创建一个类似于当前搜索引擎索引的全球 AI 智能体目录。

我喜欢 A2A 强调无需重新发明轮子,并且建立在现有标准之上:

1、该协议建立在现有、流行的标准之上,包括:HTTP、SSE、JSON-RPC,这意味着它更容易与企业日常使用的现有 IT 堆栈集成。

2、默认安全 - A2A 旨在支持企业级身份验证和授权,与 OpenAPI 的身份验证方案相当。

三、AG-UI 协议架构设计

第一、为什么需要 AG-UI?

每个 AI 智能体后端都有自己的工具调用、ReAct 样式规划、状态差异和输出格式机制。

如果你使用 LangGraph,前端将实现自定义的 WebSocket 逻辑、杂乱的 JSON 格式和特定于 LangGraph 的 UI 适配器。

但要迁移到 CrewAI/Dify 等,一切都必须进行调整,这样工作量大大增加。

第二、AG-UI 架构设计

AG-UI 使用一个轻量级、事件驱动的协议来连接 AI Agents 和前端应用程序,架构设计如图所示:

  • Front-end:通过 AG-UI 进行通信的应用(聊天或任何启用 AI 应用) ;
  • AI Agent A:前端可以直接连接的 AI Agent,无需通过代理;
  • Secure Proxy:一个中介代理,安全地将前端的请求路由到多个 AI Agents;
  • AI Agent B 和 C:由代理服务管理的 AI Agents。

第三、AG-UI 工作机制

AG-UI 的核心工作机制非常简洁而优雅,如下图所示:

  • 客户端通过 POST 请求启动一次 AI Agent 会话;
  • 随后建立一个 HTTP 流(可通过 SSE/WebSocket 等传输协议)用于实时监听事件;
  • 每条事件都有类型和元信息(Metadata);
  • AI Agent 持续将事件流式推送给 UI;
  • UI 端根据每条事件实时更新界面;
  • 与此同时,UI 也可反向发送事件、上下文信息,供 AI Agent 使用。

AG-UI 不再是单向的信息流,而是一种真正的双向“心跳式”交互机制。AG-UI 就像 REST 是客户端到服务器请求的标准一样,AG-UI 将实时 AI Agent 更新流式传输回 UI 的标准。从技术上讲,AG-UI 使用服务器发送事件(SSE)将结构化 JSON 事件流式传输到前端。

每个事件都有一个显式的有效负载(比如:Python 字典中的 keys):

  • TEXT_MESSAGE_CONTENT 用于令牌流式处理;
  • TOOL_CALL_START 以显示工具执行情况;
  • STATE_DELTA 更新共享状态(代码、数据等);
  • AGENT_HANDOFF 在 AI Agent 之间顺利传递控制权。

并且 AG-UI 带有 TypeScript 和 Python 的 SDK,即插即用适用于任何技术栈,如下图所示:

在上图中,来自 AI Agent 的响应并不特定于任何工具包。这是一个标准化的 AG-UI 响应。

AG-UI 提供了前端 TypeScript 和后端 Python 的 SDK,可无缝接入到现有 AI Agent 代码中,核心模块包括:

  • RunAgentInput:运行 AI Agent 的输入参数;
  • Message:用户助手通信和工具使用;
  • Context:提供给 AI Agent 的上下文信息;
  • Tool:定义 AI Agent 可以调用的函数;
  • State:AI Agent 状态管理。

1、前端接入

npm install @ag-ui/core npm install @ag-ui/client

2、后端 Python 端接入

from ag_ui.core import TextMessageContentEvent, EventType from ag_ui.encoder import EventEncoder # Create an event event = TextMessageContentEvent( type=EventType.TEXT_MESSAGE_CONTENT, message_id="msg_123", delta="Hello, world!" ) # Initialize the encoder encoder = EventEncoder() # Encode the event encoded_event = encoder.encode(event) print(encoded_event) # Output: data: {"type":"TEXT_MESSAGE_CONTENT","messageId":"msg_123","delta":"Hello, world!"}\n\n

第四、AG-UI 关键特性

  • 🪶 轻量级:设计简单,易于理解与扩展;
  • 🔌 支持多种传输协议:Server-Sent Events(SSE)、WebSocket、Webhook 任你选择;
  • 🔄 真正双向同步:支持实时对话、工具调用、上下文更新等;
  • 🧩 框架无关:LangGraph、CrewAI、Mastra 等框架均可无缝对接;
  • 🛡️ 宽松的 Schema 匹配策略:低耦合、高兼容,降低开发门槛;
  • ⚙️ 即插即用:开源协议,前端(比如:React/Vue)快速集成无门槛。

第五、AG-UI、A2A、MCP 协议对比

AG-UI 明确且专门针对 AI 智能体-用户交互层。它不与诸如 A2A(AI Agent 到 AI Agent 协议)和 MCP(模型上下文协议)等协议竞争。

比如:同一个 AI 智能体可能通过 A2A 与另一个 AI 智能体通信,同时通过 AG-UI 与用户通信,同时调用由 MCP Server 提供的工具。

这些协议在 AI 智能体生态系统中起到互补的作用:

  • AG-UI:处理人在循环中的交互和流式 UI 更新;
  • A2A:促进 AI 智能体到 AI 智能体之间的通信和协作;
  • MCP:在不同模型之间标准化工具调用和上下文处理。

四、AI 智能体协议架构设计总结

AI 智能体协议三部曲的对比如下:

AI 智能体架构设计中的这三个协议共同构成了 AI 智能体应用系统架构设计的基础设施。它们让 AI 智能体能够“长出手脚”(通过 MCP 实现操作能力)、拥有协作伙伴(通过 A2A 实现 AI 智能体之间的协作),并且能够通过 AG-UI 与用户直接交互,实现落地应用。

这三个协议推动了 AI 智能体应用系统从单一 AI 智能体向多 AI 智能体 的进化,不仅提升了底层能力,还优化了上层的用户体验。同时,它们的开放性和兼容性也为更多 AI 创新应用和跨领域协作提供了可能。

五、如何学习AI大模型?

如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!

这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!


第一阶段:从大模型系统设计入手,讲解大模型的主要方法;

第二阶段:在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段:大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段:大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段:大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段:以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段:以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

100套AI大模型商业化落地方案

大模型全套视频教程

200本大模型PDF书籍

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

LLM面试题合集

大模型产品经理资源合集

大模型项目实战合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:20:52

Date类与Calendar类——Java日期时间处理的双核心

在Java编程中&#xff0c;日期与时间的处理是高频需求&#xff0c;从记录操作日志到实现定时任务&#xff0c;都离不开对时间的精准把控&#xff0c;而Date类和Calendar类则是Java中处理日期时间的两大核心工具&#xff0c;二者各司其职&#xff0c;共同构建了Java早期的日期时…

作者头像 李华
网站建设 2026/4/16 10:21:31

Redis 性能调优

Redis 性能调优的核心目标是降低延迟、提升吞吐量、保证稳定性&#xff0c;需从操作系统、Redis 基础配置、内存管理、持久化、命令 / 数据结构、集群 / 网络 等多维度系统性优化。以下是分模块的实操调优方案&#xff1a;一、操作系统层面调优&#xff08;基础保障&#xff09…

作者头像 李华
网站建设 2026/4/16 10:16:34

AI核心知识57——大语言模型之MoE(简洁且通俗易懂版)

MoE 是 Mixture of Experts&#xff08;混合专家模型&#xff09;的缩写。它是目前解决大模型 “既要变得超级聪明&#xff08;参数量大&#xff09;&#xff0c;又要跑得快&#xff08;推理成本低&#xff09;” 这个矛盾的核心架构技术。目前最顶尖的模型&#xff0c;如 GPT-…

作者头像 李华
网站建设 2026/4/15 21:44:11

S32K3启动RAM数据初始化

想要搞清这个问题&#xff0c;需要重点研究startup_cm.s文件。启动时&#xff0c;RAM数据的初始化主要包括两个过程&#xff1a;RAM区域初始化&#xff08;数据清0&#xff09;&#xff1b;有初始值的变量需要从flash中加载到ram中。RAM区域初始化这一段代码由汇编实现&#xf…

作者头像 李华
网站建设 2026/4/16 10:17:54

【工业互联网Agent性能跃迁指南】:3步打造高精度实时分析系统

第一章&#xff1a;工业互联网Agent数据分析的核心价值在工业互联网体系中&#xff0c;Agent作为部署于设备端的数据采集与执行单元&#xff0c;承担着连接物理世界与数字系统的桥梁作用。通过对Agent收集的运行状态、环境参数、操作日志等多维数据进行深度分析&#xff0c;企业…

作者头像 李华