小白也能看懂,一文彻底说清 MCP、A2A与AG-UI,大模型应用集成协议三件套。
原创 曾经的毛毛 2025-07-16 08:30 江苏
快速弄懂三大LLM协议 – MCP、A2A 和 AG-UI
点击上方蓝字加入我们
随着大模型(LLM)应用的快速发展,行业涌现出多种标准协议,帮助开发者更轻松地将AI模型与外部资源、其他智能体以及用户界面集成在一起。本篇文章面向具备一定技术基础但不熟悉大模型应用开发的读者,通俗介绍三大主流的集成协议——MCP、A2A 和 AG-UI——分别解决不同的集成难题。
MCP(Model Context Protocol,模型上下文协议)
【起源】
从简单的LLM(大模型)发展到更具自主能力的Agent(智能体)的标志之一是模型对外部工具与资源的连接与应用。但是,在没有统一标准时,AI 应用想要调用不同的数据源或工具往往需要编写定制的接口做单独适配,形成典型的 M×N 集成难题:M 个应用/模型和 N 个工具可能需要 M×N 次重复开发。这不仅让系统集成复杂、维护成本高,也限制了模型获取外部信息的能力。
这就像你的一台电脑,需要USB接口来连接各种键盘、鼠标、打印机、硬盘、摄像头等,而不是针对每个设备配备不同的接口和驱动。
为了解决这一问题,Anthropic 公司于 2024 年 11 月开源推出了 MCP(模型上下文协议) 。有人形象地将它比喻为 “AI 应用的 USB-C 接口” ——正如 USB-C 标准化了设备连接方式,MCP 提供统一的“接口”让 AI 应用/模型即插即用地连接各种外部数据源和工具,产生更准确的响应或自主完成任务。
【架构】
MCP 标准化了一种向AI应用/LLM提供上下文数据和工具的方式 。其架构采用客户端-服务器模型:
-
在需要使用外部资源/工具的 LLM 应用中嵌入 MCP 客户端,作为请求发起方
-
将外部资源/工具封装成轻量的 MCP Server,暴露标准化接口供LLM应用调用
MCP协议对以下部分进行了标准化:
-
消息与传输协议(JSON-RPC/HTTP/SSE等)
-
服务端与客户端提供的主要功能、交互流程与消息格式
-
必要的辅助功能(初始化、安全、服务端通知机制等)
【开发】
通常的MCP开发可以分为两种:
-
开发 MCP Server(s)
也就是把你的数据源、工具、知识库等“封装”成一个符合 MCP 协议的 MCP 服务器,供 LLM 应用调用。这只需要借助MCP官方提供的多语言SDK即可;也有一些开源项目可以帮助把已有的企业API包装成MCP Server。
-
借助 MCP Server 开发 LLM 应用
也就是在你的 LLM 应用里借助MCP 客户端调用一个或多个 MCP Server,获取外部能力。同样可以用 MCP 官方提供的 SDK 来实现;此外,像LangGraph这样的开发框架通常会提供MCP适配器以进一步简化集成工作。
如果希望深入学习,可以参考我们的文章:
实操干货!MCP全解析,一步步教你借助第三方MCP Server开发Agent
深入MCP Remote模式:两大基础协议及工作原理,一步步教你弄懂。
深入解读MCP协议最新版本的4大升级【上】:传输机制与安全授权
深入解读MCP协议最新版本的4大升级【下】:批处理与增强的工具注解
深度剖析 MCP SDK 最新版: Streamable HTTP 模式正式发布,为你实测揭秘
或阅读本公众号编写的书籍:
A2A(Agent-to-Agent Protocal,智能体互通协议)
【起源】
随着 AI 应用从单模型走向多智能体协作,不同 AI Agent 之间互相通信、协同工作的需求越来越强烈。在企业业务、自动化工作流等复杂场景中,往往需要多个专长各异的智能体分工合作:例如一个Agent无法解决的任务,可以交由另一个Agent完成。然而,此前智能体之间缺乏统一的沟通语言,不同厂商或框架的 Agent 仿佛“各说各话”,形成信息孤岛,集成非常困难。
这就像一台孤立的电脑需要连接到其他电脑/服务器,以交换数据和能力。不管你是Mac还是Windows/Linux,你需要统一说“TCP/IP”这样的语言,大家才能听懂。
谷歌在 2025 年 4 月的 Cloud Next 大会上正式发布了全新的 A2A 协议(Agent2Agent),为 AI 智能体之间的协作提供标准解决方案。旨在建立一个跨平台、跨供应商的通用语言,让不同架构的 AI Agent 也能无缝地互相通信、交换信息,安全高效地协同完成任务 。正如互联网协议让全球计算机连成网络,A2A 协议希望让各式各样的AI智能体连成一个“多智能体网络”。
这张图清晰的展示了A2A协议与MCP协议的定位差别:
【架构】
A2A协议定义了两个AI Agent之间如何通信与协作的格式和流程。基于A2A的集成架构如下:
A2A也是客户端-服务端的通信模式,但这里的“客户端”和“服务端”都是智能体:发起请求的一方暂扮演客户端角色,被请求执行任务的一方则作为服务端提供能力 。在不同场景下,智能体可以动态地扮演这两种角色,实现点对点的灵活交互:
-
Agent Card(智能体卡片):相当于每个智能体对外公布的“服务说明书”和“名片”。描述智能体的名称、版本、调用端点、具备的技能、所需的认证方式等
-
A2A Server:用来将一个Agent通过A2A协议对外开放的Server。接受任务请求并给予响应或通知;相对于MCP Server开放工具,A2A Server则开放出Agent。
-
A2A Client:访问A2A Server的其他Agent。可见Client与Server是相对的,一个客户端Agent同时也可以通过A2A Server开放给其他应用。
A2A协议的交互流程相对MCP要更加复杂(毕竟调用Agent要比调用Tool复杂),这里仅了解其核心设计:
-
任务模型:服务端 Agent 实现标准的任务接口,负责接收并处理任务请求,管理任务状态并推送结果;客户端 Agent 则通过HTTP调用服务端 Agent的这些接口
-
任务流程:任务通常按以下状态流转:已提交 (submitted) → 处理中 (working) → (可能需要额外输入 input-required)→ 完成 (completed) 或失败 (failed) 。A2A支持异步任务协作:有完善的通知和回调机制
-
交换内容:交互过程中双方可以交换消息和工件两类内容:消息可以包含文本、文件、结构化数据等多种形式内容;而工件则代表任务产出的最终结构化结果
【开发】
作为开放标准协议,A2A 的第一个版本的规范文档已经对公众发布;且已经发布了初步版本的SDK(Python、JS、Go、Java版本)与Samples,感兴趣的开发者可以先行试验,在小规模项目或测试中验证Agent互操作的可行性。
-
实现A2A Server:如果你的智能体要作为“服务端”提供功能,需要实现协议规定的A2A Server的服务接口。如果你的框架已经开始支持 A2A接口封装(比如Google ADK),很可能只需配置开启 A2A 支持即可 。
-
调用其他 Agent:如果是作为“客户端”一方,你需要编写逻辑去发现目标 Agent 的地址并获取其 Agent Card。然后按照 Agent Card 提供的信息,调用其任务接口并获得结果。
如果希望深入学习,可以参考我们的文章:
4个问题 + 1个Demo:彻底搞懂谷歌的新玩意Agent2Agent(A2A)
深入体验 A2A SDK:一步步教你构建“服务化”的 Agent 系统
AG-UI(Agent-User Interaction Protocol,智能体-UI协议)
【起源】
在 AI 系统中,最后与人直接互动的一环是用户界面(UI)。无论是聊天机器人面板、智能助手的应用界面,还是嵌入办公软件的AI功能,都需要一个前端界面来展示AI输出、获取用户输入。然而,以往每个AI代理接入界面往往采用各自不同的方法:有的通过简单的HTTP接口刷新页面,有的用 WebSocket 推送消息,有的需要轮询更新。导致开发者必须针对每个Agent单独编写交互逻辑,用户体验也很不一致。
CopilotKit 团队在 2025 年5月正式开源发布了 AG-UI 协议:为 AI 智能体(Agent)与用户界面(UI)之间的实时、双向、结构化通信制定一个开放标准 。AG-UI聚焦在前后端实时交互的问题上,确保无论后端智能体如何实现,前端UI都能用统一方式与之对话。可以理解成前端和后端AI智能体之间的“翻译官”:把智能体的话转换成界面懂的格式,同时把用户操作转换成智能体理解的事件 。有了它,不同AI代理都能说统一的“语言”和界面交流,开发者不再需要为每种代理各写一套UI接口。
【架构】
与传统的请求-响应模式不同,AG-UI 将前后端的交互抽象为一系列事件流:前端应用和后端智能体通过发送/接收事件来沟通彼此的状态和意图 。
AG-UI的关键特点有:
-
事件驱动的实时交互:AG-UI 定义了标准化的事件模型,支持前后端之间保持持续的事件流通信 。代理的一举一动(发送消息、调用工具、状态更新等)都会以事件形式推送给前端;用户的操作(输入消息、点击按钮等)也作为事件发送给后端。协议规范了十余种事件类型(例如文本消息事件、工具调用开始事件、状态更新事件等) ,涵盖了常见的交互场景。前端通过订阅事件流可以实时获取AI的进展,不用频繁轮询;后端通过监听事件可以即时响应用户输入。
-
双向协作:AG-UI 支持真正的双向协同。智能体能够连续输出内容给用户,也能根据用户的反馈调整自己的行为(Humain-in-the-Loop);而前端也可以根据智能体的状态实时渲染UI(比如显示处理进度、工具调用的结果等),或把UI上的动作实时反馈给智能体。这使得 AI 更像一个随时互动的助手而非被动回答的机器。
此外,AG-UI没有严格限定低层传输机制,开发者可以根据需要选择SSE/WebSocket等多种方式,只要保证事件按规定格式和顺序达到即可。
【开发】
对于开发者来说,最直接的方式是使用官方提供的 SDK 进行集成。目前官方支持两种语言的 SDK,Python与TS/JS SDK。不过这里最推荐的是借助于官方的CopilotKit框架,可以认为它是一个AG-UI协议的实现参考框架。具体请参考:
一步步实战 CopilotKit(AG-UI协议):快速集成前端UI与后端Agent的神器【上】
总结
总体而言,MCP、A2A 和 AG-UI 这三个协议分别解决了大模型应用开发中不同层面的集成问题:
-
MCP 提供模型对接外部数据与工具的统一接口,被誉为 “AI应用的USB-C端口”。它解决的是 “一个智能体如何接入外部资源” 的问题,让开发者不再为每种数据源写繁琐的适配代码 。
-
A2A 则建立了智能体之间协作的共同语言,可视作 “AI智能体的网络协议”。它重点解决 “多个智能体如何互相对话协同” 的问题,为跨平台、多Agent的复杂系统奠定了标准基础 。
-
AG-UI 专注于智能体与用户界面的实时交互,被喻为 “前端与AI的通用翻译官”。它回答的是 “智能体如何与用户高效沟通”,让AI的强大能力以一致且人性化的方式呈现在用户面前。
显然,这三者并非彼此替代的竞争关系,而是各有侧重、环环相扣,构成了大模型应用集成的完整生态 。开发者可以将它们组合使用:借助 MCP,让AI具备广泛的外部知识和工具操作能力;借助 A2A,让多个AI分工合作完成更复杂的任务;借助 AG-UI,将AI深度融入用户界面,实现流畅的人机交互 。通过标准化这些关键环节,AI 应用开发正变得类似搭积木:不同模块有清晰的接口契约,组合起来就能快速构建出功能强大的系统。
END
最后,我们真诚的向您推荐本公众号的新作:
📘《MCP原理揭秘与开发指南——构建可扩展的AI智能体》
本书基于 2025-03-26 最新 MCP 协议规范 与 1.9.0 + 版本的 SDK 编写,全面覆盖从核心设计理念、协议机制解析到MCP 开发实践与完整源码案例,帮助你从根本上理解 MCP,并掌握 SDK 的高阶开发能力。
请注意——这不是一本简单的 MCP Server使用的“工具说明书”,而是一本为MCP开发者编写的、以MCP SDK解析与实战为核心的技术指南。不仅教你用“工具”,更教你如何“打造工具”。
详情点击下方链接
识别以下名片
加入公众号交流群(说明来意)