简介

文章详细介绍了AI智能体系统中的三大核心协议:MCP协议解决AI智能体与外部工具的标准化交互;A2A协议实现AI智能体间的标准通信;AG-UI协议规范前端应用与AI智能体的交互方式。这些协议共同构成了AI智能体应用系统的基础设施,推动系统从单一智能体向多智能体协作进化,提升了底层能力和用户体验,为AI创新应用和跨领域协作提供了可能。


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

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

下文详细剖析之。

1

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 工具适用于手头的任务以及如何调用它们。

2

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 的身份验证方案相当。

3

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

2、后端 Python 端接入

from ag_ui.core import TextMessageContentEvent, EventType

第四、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:在不同模型之间标准化工具调用和上下文处理。

4

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%免费】🆓

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐