技术解构 2026-10-04 24 分钟阅读 进阶

AG-UI 1.0:Agent–User 交互协议架构解构

当 MCP 管住工具、A2A 管住智能体协同,AG-UI 用事件流补上智能体与前端之间「最后三厘米」

摘要

2026 年 10 月初,业界快讯报道 Agent–User Interaction Protocol(AG-UI)冻结 1.0 稳定规范。AG-UI 是由 CopilotKit 发起、与 LangChain 和 CrewAI 达成初期合作的开放事件流协议,官方文档将其与 MCP、A2A 并列为当前三大开放智能体协议:MCP 解决智能体连工具与数据,A2A 解决智能体之间协同,AG-UI 解决智能体与用户界面之间长期缺失标准化的「最后三厘米」。本文基于官方文档与多源报道,拆解其事件驱动架构、十二个能力积木块、生态集成版图,并给出批判性成熟度评估。

协议全景:三层拼图的最后一块

过去两年,智能体协议栈的标准化沿着两条线推进:Anthropic 发起的 MCP(Model Context Protocol)标准化了智能体连接外部工具、工作流与数据源的方式;Google 发起的 A2A(Agent to Agent)定义了分布式智能体系统之间的协调与任务共享。但智能体与「人」之间的连接层——长运行任务如何流式呈现到前端、用户如何中途打断或纠偏、前端动作如何回传给智能体——长期依赖各家自建的临时方案。

AG-UI(Agent–User Interaction Protocol)官方文档明确将三者并列,形成一张三层分工表:

层次 协议 发起方 解决的连接问题
智能体 ↔ 工具与数据 MCP Anthropic 安全连接外部系统、工具、工作流与数据源
智能体 ↔ 智能体 A2A Google 分布式智能体系统之间的协调与任务共享
智能体 ↔ 用户界面 AG-UI CopilotKit 智能体后端与面向用户的前端应用之间的双向实时连接

需要澄清一个命名混淆:AG-UI 与 A2UI 是两个不同的东西。官方文档专门做了区分——A2UI 是一份生成式 UI 规范,允许智能体交付 UI 组件;AG-UI 则是智能体与用户之间的交互协议,负责把智能体前端连接到任意智能体后端。两者被描述为「配合良好」而非相互替代。

🧩 为什么传统 REST/GraphQL 不够用

官方文档列举了四点面向用户的智能体对连接层的特殊要求:智能体长运行且流式输出中间工作,常跨多轮会话;行为非确定性,甚至非确定性地控制应用 UI;同时混合结构化与非结构化 IO(文本、语音、工具调用、状态更新);需要用户可交互的组合,例如递归调用子智能体。这些特性打破了「请求—响应—渲染」的传统前后端模型,是 AG-UI 存在的直接理由。

架构核心:事件流而非渲染目标

AG-UI 的核心抽象是事件流。官方文档强调:协议描述的是事件流而非渲染目标,因此一个终端、一个移动应用或一个聊天平台都可以作为客户端。这一设计带来了三个直接后果:

这个「协议与托管分离」的表述值得关注:CopilotKit 既是协议发起方,也在协议之上运营商业化服务。文档通过显式划界来回应潜在的中立性质疑,但发起方的商业身份仍是评估该协议治理结构时不可忽略的因素。

十二个积木块:能力边界一览

官方文档以「积木块(Building blocks)」形式列出了协议当前与规划中的能力集,可以视为 AG-UI 的功能全景图:

能力块 职责 解决的问题
流式对话 实时 token 与事件流 多轮会话的取消与恢复
多模态 类型化附件与实时媒体 文件、图像、音频、转录、来源标注
生成式 UI(静态) 模型输出渲染为稳定类型化组件 应用侧可控的 UI 生成
生成式 UI(声明式) 小型声明式语言 智能体提议 UI 树与约束,应用校验后挂载
共享状态 智能体与应用间的类型化存储 事件溯源式增量与冲突解决
思考步骤 从轨迹与工具事件可视化中间推理 不暴露原始思维链的前提下展示过程
前端工具调用 智能体到前端动作的类型化交接 前端执行的工具有返回通道
后端工具渲染 后端工具输出在应用与聊天中可视化 副作用作为一等事件发出
中断(人在回路) 暂停、批准、编辑、重试、升级 流程中途干预而不丢失状态
子智能体与组合 嵌套委托、作用域状态、追踪与取消 复杂多智能体编排的前端呈现
智能体转向 实时用户输入重定向执行 动态引导智能体行为与结果
工具输出流式与自定义事件 流式工具结果与日志;开放数据交换 长运行效果的实时渲染与协议未覆盖场景
🔧 两个最工程化的积木块

中断(人在回路)与子智能体组合是这份清单里工程含量最高的两块。前者要求「暂停、批准、编辑、重试或升级」全程不丢状态——这需要事件溯源式的状态管理配合;后者要求嵌套委托时作用域状态、追踪与取消一并传导。业界快讯在报道 1.0 冻结时也特意点名这两个新增能力。对正在做多智能体产品的团队而言,这两块直接决定了「审批流」和「任务树」这类高频企业场景能否低成本落地。

生态版图:一方集成与社区 SDK

AG-UI 的集成页面给出了相当细的生态状态清单,这也是评估一个开放协议成色的直接依据:

类别 已支持(SUPPORTED) 进行中(IN PROGRESS)
智能体框架(一方合作) LangChain、CrewAI —
智能体框架(一方) Microsoft Agent Framework、Google ADK(含 JS)、Google Antigravity、AWS Strands Agents、AWS Bedrock AgentCore、Mastra、Pydantic AI、Agno、LlamaIndex、AG2 AWS Bedrock Agents、OpenAI Agent SDK、Cloudflare Agents
协议互通 A2A Middleware(合作) —
客户端 CopilotKit、终端 + 智能体、Slack/Teams(Channels SDK)、React Native —
社区 SDK Kotlin、Golang、Dart、Java、Rust、Ruby、C++、.NET Nim、Flowise、Langflow

两个观察:其一,Microsoft Agent Framework、Google ADK、AWS Strands 三大厂商框架同时出现在一方集成名单里,与 A2A Middleware 存在合作关系——AG-UI 在主流转型期拿到了跨厂商的入场券;其二,OpenAI Agent SDK 与 Cloudflare Agents 仍标为进行中,头部协议阵营(MCP、A2A、AG-UI)与各厂商框架的接入进度并不均衡。

与 MCP、A2A 的协同而非竞争

AG-UI 在协议栈中的定位决定了它与另外两个协议是互补关系:一个典型的生产级智能体应用可以同时使用三者——MCP 连数据库与内部系统,A2A 把子任务委派给其他团队的智能体,AG-UI 把整个过程流式呈现给业务用户并接住审批与纠偏。官方文档对 A2A Middleware 的支持条目也印证了这种组合式部署的预期。

从工程视角看,三层协议各管一段之后,暴露出来的是边界一致性问题:同一个「工具调用」在 MCP 层与 AG-UI 层如何对应?A2A 任务状态变化如何在 AG-UI 事件流中呈现?目前三份协议各自独立演进,跨协议的映射规范尚不完整。这也是本站此前对 MCP 无状态化与 A2A 1.0 的解构中反复出现的主题——协议栈在快速补齐,但「栈间胶水」仍是开发者自行承担的部分。

批判性视角:1.0 信息源与成熟度短板

对开发者的落地建议

  1. 按层选协议:连接工具用 MCP,跨团队智能体协作用 A2A,前端呈现与人在回路用 AG-UI,不必三选一;
  2. 优先检查一方集成:若团队已在用 LangChain、CrewAI 或 Microsoft Agent Framework,AG-UI 的一方支持意味着改造成本集中在事件流适配而非框架迁移;
  3. 把「中断不丢状态」当验收标准:评估任何智能体前端方案时,先测「用户中途批准/编辑/取消后,智能体是否还能从正确状态继续」,这是 AG-UI 类协议的核心价值所在;
  4. 留意版本口径:1.0 冻结信息目前以快讯为主,生产环境引入前建议核对官方仓库的规范版本与 SDK 变更日志。

核心发现

参考来源

  1. AG-UI 官方文档 — The Agent–User Interaction (AG-UI) Protocol Overview(docs.ag-ui.com,2026.10 直读)
  2. quidproquo — AI Daily 2026-10-02:AG-UI 1.0 冻结稳定规范、三语言 SDK 同源生成(2026.10.02)
  3. AG-UI Protocol — GitHub 仓库(github.com/ag-ui-protocol/ag-ui)
  4. 龙虾智能体研究院 — R-TECH-15《MCP 无状态化规范深度解构》、R-TECH-18《A2A 协议 1.0 架构解构》(协议栈对照)