← 返回新闻专题
技术分享

什么是 AG-UI(Agent-User Interaction Protocol)?智能体与前端的「事件总线」一篇讲清

AG-UI 是 CopilotKit 发起的开放事件协议,2026 年 9 月发布 1.0 稳定版:用标准化事件流连接 Agent 后端与前端应用,已集成 LangGraph、CrewAI、Google ADK 等 15+ 主流框架。本文讲清它的事件模型、传输方式、人机协同场景与落地路径。

2026 年,AI Agent 已经能查数据库、调接口、发邮件,但很多团队卡在同一个地方:怎么让用户实时看到 Agent 在做什么、做到哪一步、需要什么确认。自己写一套 SSE(Server-Sent Events)推送当然能跑,但每个 Agent 框架、每个前端页面都要重复对接一次,消息含义全靠约定。AG-UI(Agent-User Interaction Protocol)要解决的正是这「最后一公里」——为 Agent 和用户界面之间定义一套标准化的事件语言。

图 1 · 一条标准化事件流,连接 Agent 与前端 AG-UI 概念图:Agent 运行时通过标准化事件流连接前端应用,并支持用户操作回传
生命周期、文本流、工具调用、状态同步……前端不再猜事件含义,而是按协议渲染每个事件。

一、为什么自造 SSE 不够:管道有了,语义没有

很多团队会问:SSE 不就是推送吗,为什么要再引入一个协议?关键区别在于,SSE 解决的是「数据怎么传」,AG-UI 解决的是「传过来的数据是什么意思」。这两者的关系,类似 TCP 与 HTTP:TCP 保证可靠传输,HTTP 才规定 GET、POST、状态码与消息语义。

如果每个团队都自定义事件格式,会带来三个现实问题:

AG-UI 的定位就是把这层语义标准化:Agent 运行时发生的一切——开始、思考、调工具、改状态、结束——都以类型化事件的形式流向前端。

二、AG-UI 是什么:Agent 协议栈的第三根支柱

AG-UI 由 CopilotKit 团队于 2025 年 5 月发起,是一个开放、轻量、事件驱动的协议,定义了 Agent 后端与面向用户的应用之间的双向连接方式。行业通常把它与 MCP、A2A 并列,称为 Agent 协议栈的「第三根支柱」:

1.02026 年 9 月 30 日发布稳定版,每个事件都有 JSON Schema 定义
15+官方集成的 Agent 框架:LangGraph、CrewAI、ADK、Strands 等
3 种主流传输方式:SSE、WebSocket 与二进制 protobuf

1.0 是一个重要节点:规范冻结、向后兼容,事件模型从早期版本的 16 种事件扩展为 31 种事件、8 个类别,并新增了子 Agent、推理与活动事件、元数据、多模态工具结果、人机中断(human-in-the-loop)、token 用量上报等能力。对企业的意义在于,AG-UI 从「CopilotKit 的配套协议」变成了可以放心纳入架构图的稳定标准。

三、事件模型:8 类 31 种事件覆盖完整生命周期

AG-UI 把 Agent 运行过程拆成类型化事件,前端按事件类型决定渲染方式。1.0 共定义 31 种事件、8 个类别,主要类别如下:

事件类别代表事件前端如何使用
运行与步骤RUN_STARTED / RUN_FINISHED / RUN_ERROR / STEP_STARTED / STEP_FINISHED控制加载态、进度指示与错误提示
文本消息TEXT_MESSAGE_START / CONTENT / END逐字流式渲染回复,支持多段消息
工具调用TOOL_CALL_START / ARGS / END / RESULT展示「正在查询订单」等过程卡片与工具结果
推理过程REASONING_START / REASONING_MESSAGE_CONTENT / REASONING_END独立展示思维链,不混入回答正文
状态同步STATE_SNAPSHOT / STATE_DELTA / MESSAGES_SNAPSHOT快照 + JSON Patch 增量,双向同步界面状态
活动日志ACTIVITY_SNAPSHOT / ACTIVITY_DELTA展示文件访问、API 尝试等运行活动
子 Agent子 Agent 生命周期事件(1.0 新增)可视化多智能体的委派与执行状态
自定义与原始CUSTOM / RAW承载业务自定义事件,或透传框架原始数据

一次典型运行的事件流大致如下(简化示意,字段以官方 JSON Schema 为准):

data: {"type":"RUN_STARTED","threadId":"t-1","runId":"r-1"}
data: {"type":"TOOL_CALL_START","toolCallId":"c-1","toolCallName":"query_orders"}
data: {"type":"TOOL_CALL_ARGS","toolCallId":"c-1","delta":"{\"range\":\"30d\"}"}
data: {"type":"STATE_DELTA","delta":[{"op":"replace","path":"/filter","value":"异常"}]}
data: {"type":"TEXT_MESSAGE_START","messageId":"m-1"}
data: {"type":"TEXT_MESSAGE_CONTENT","messageId":"m-1","delta":"已找到 12 条异常订单"}
data: {"type":"RUN_FINISHED","threadId":"t-1","runId":"r-1"}

注意其中的顺序与语义:前端不需要理解业务,只要按事件类型渲染——工具卡片、状态更新、流式文本各归其位。这就是「事件总线」的价值:协议负责语义,应用负责体验。

四、双向交互:不只是推送,更是协作

AG-UI 不是单向通知,它定义了完整的双向协作能力:

前端工具(Frontend Tools)

Agent 可以调用前端注册的函数,例如「打开订单 #4821」「跳转到结算页」,让智能体真正驱动应用内操作,而不只是输出文字。

人机中断(HITL)

遇到退款、下单、删除等敏感操作时,Agent 可暂停运行并请求确认;前端弹出审批界面,用户同意后恢复执行。1.0 将中断/恢复纳入稳定规范。

共享状态

Agent 可以读写前端状态:读取当前页面、选中项,也可以写入状态触发界面更新。快照用于恢复,增量用于高频同步,断线后也能快速对齐。

1.0 新能力

子 Agent 的运行状态、随事件下发的元数据、多模态工具结果(图片、文件)以及 token 用量上报,让复杂多智能体系统的可观测性更强。

五、传输与架构:协议不挑管道

AG-UI 是传输无关的:主流实现基于 SSE,也支持 WebSocket,以及面向高性能场景的二进制 protobuf 传输。架构上通常分为三层:

这意味着企业不需要推翻现有基础设施:AG-UI 是消息契约,不是新的网关。原有的鉴权、限流、日志体系仍然适用,只是消息体从「自定义 JSON」变成了标准事件。

六、生态:15+ 框架,前端开箱即用

AG-UI 的生态是它最现实的竞争力。后端侧,官方集成覆盖 LangGraph(Python/TypeScript)、CrewAI、Mastra、Agno、Google ADK、AWS Strands、PydanticAI、LlamaIndex、Claude Agent SDK 等 15+ 主流框架;前端侧,CopilotKit 提供 React、Angular、Vue、React Native 客户端,并可延伸到 Slack、Teams、WhatsApp、Telegram、Discord 等渠道。官方还维护了 AG-UI Dojo,用 30 个在线示例演示不同框架下的 Agent 交互能力。

对企业的直接好处是:Agent 框架可以换,前端交互协议不用换。今天用 LangGraph 原型验证,明天切换到自研运行时,前端的事件处理与交互组件都能复用。

七、AG-UI 在协议版图中的位置

把四个协议放进同一张图,分工一目了然:

协议连接的双方核心职责
MCPAgent ↔ 工具 / 数据让 Agent 能调用外部能力、读取上下文
A2AAgent ↔ Agent任务发现、委托与协作
AG-UIAgent ↔ 用户应用事件流、状态同步、人机协同
A2UIAgent → 界面用声明式 JSON 描述要渲染的 UI

行业里有一个好记的比喻:AG-UI 是管道,A2UI 是载荷。A2UI 官方把 AG-UI 列为标准传输绑定之一;Oracle 在集成方案中也把 AG-UI 描述为「自定义前端可选的事件传输层」。也就是说,两者不是二选一,而是天然可以组合:AG-UI 负责把消息送到前端,A2UI 负责告诉前端渲染什么。详细对比可以阅读《A2UI 和 AG-UI 有什么区别》。

八、落地建议:什么时候该用 AG-UI

如果你们的 Agent 应用符合以下任意两条,就值得引入 AG-UI:需要流式输出与步骤进度;需要把工具调用过程可视化;需要 Agent 与页面状态双向同步;需要人工审批中断;需要支持多个 Agent 框架或多种前端。反之,如果只是一个单轮问答接口,自建 SSE 也够用,不必为协议而协议。

从零落地可以按这条路径走:

  1. 先对齐事件语义:把现有自定义事件映射到 AG-UI 生命周期、文本、工具、状态四类事件,理清顺序与幂等性;
  2. 保留 CUSTOM 通道:业务特有事件先走 CUSTOM,不要急着扩展协议,保持与标准的兼容;
  3. 状态用「快照 + 增量」:初次连接发快照,后续只发 JSON Patch 增量,既省带宽也便于断线恢复;
  4. 把 HITL 设计进流程:敏感动作默认中断确认,明确「Agent 提议、用户授权」的权限边界;
  5. 锁定 1.0 并建立回归用例:用官方 Schema 校验事件,升级前跑一遍事件序列回归,避免协议演进带来的隐性破坏。

常见问题

Q1:AG-UI 和 A2UI 是竞争关系吗?

不是。AG-UI 是管道,负责 Agent 与前端之间的事件流与语义;A2UI 是载荷,负责描述界面长什么样。两者互补:可以由 AG-UI 传输 A2UI 消息,前端渲染器再把界面画出来。一个管「怎么传」,一个管「传什么」。

Q2:使用 AG-UI 必须搭配 CopilotKit 吗?

不必。AG-UI 是开放协议,规范、JSON Schema 与多语言 SDK 均公开,任何前端技术栈都可以实现客户端。CopilotKit 提供的是开箱即用的 React/Angular/Vue/React Native 客户端与组件,负责事件应用、状态管理和消息历史,适合快速落地。

Q3:AG-UI 1.0 与早期版本兼容吗?

兼容。AG-UI 1.0 于 2026 年 9 月 30 日发布,官方明确向后兼容,并提供迁移指南。1.0 在原有事件模型上新增了子 Agent、元数据、多模态工具结果、人机中断与 token 用量上报等能力,已有 Agent 与前端可以按原方式继续运行。

AG-UI 解决的是 Agent 产品的「体验基础设施」:让用户看得见、控得住、接得上。它与 A2UI 组合,前者传输、后者描述,构成了 Agent 驱动界面的完整链路。想理解 Agent 本身如何规划与执行,可以继续阅读《什么是 AI Agent(智能体)》和《什么是 Agent Skills》。鲸点无疑的 FDE 团队正在帮助客户把这些协议落到真实业务系统中——了解我们的 AI 落地服务。

让 Agent 的过程「看得见、控得住」

从事件流设计到人机审批流程,鲸点无疑帮你把 AG-UI 接入现有 Agent 与前端架构,构建可观测、可干预的智能体应用。

了解 AI 落地服务 →