[控场AI]
· 5 分钟阅读· 2,975 字

AI SDK 7 与 AG-UI 1.0:Agent 应用的流式与生成式 UI 新范式

AI SDK 7 与 AG-UI 1.0:Agent 应用的流式与生成式 UI 新范式

AI SDK 7 与 AG-UI 1.0 推动 Agent 流式从 token 传输走向状态同步与受控生成式 UI。

文章梳理了 Agent 应用从对话框走向可交互工作台的技术路径。AI SDK 7 的 UI message streams 将流式粒度从 token 提升到消息部件,使文本、工具调用、推理片段可独立下发,前端渲染逻辑得以解耦。可恢复流通过持久化流状态支持断线重连与后台运行,成为长任务 Agent 的生产级基础设施。AG-UI 1.0 以统一事件协议抽象 Agent 生命周期,降低 Mastra 与 LangGraph 等框架间的锁定风险。文章指出生成式 UI 的务实路径是模型输出结构化 UI 意图、前端受控渲染,而非端到端生成界面代码,并给出了从部件流到可恢复流再到协议接入的渐进式落地建议。

Agent 应用正在从“对话框”走向“可交互的工作台”,而支撑这一转变的关键,是流式传输与生成式 UI 的工程化落地。AI SDK 7 的 UI message streams、可恢复流(resumable streams)、AG-UI 1.0 事件协议,以及 Mastra 与 LangGraph 的集成,共同勾勒出这条技术路径的轮廓。

AI SDK 7 与 AG-UI 1.0 流式 UI 概览

从 Token 流到 UI 部件流

早期的 Agent 流式输出,本质是把 LLM 的 token 逐个推给前端。这种做法解决了“等待焦虑”,却暴露了新问题:工具调用、中间状态、结构化结果无法被前端理解。AI SDK 7 的 UI message streams 把流式粒度从 token 提升到“消息部件”——文本、工具调用、推理片段、数据引用都可以作为独立部件流式下发。

这带来的直接变化是前端渲染逻辑的解耦。开发者不再需要解析整段文本再猜测意图,而是根据部件类型直接挂载对应组件。当 Agent 触发一次搜索工具,前端可以立刻渲染出“正在检索”的卡片,而不是先显示一段描述性文字。流式传输由此从“打字机效果”升级为“状态同步机制”。

Token 流指大语言模型在推理时逐词元(token)生成文本的过程。服务端通过 Server-Sent Events(SSE)或 WebSocket 将每个 token 实时推送到客户端,前端拼接后渲染出“逐字出现”的打字机效果。这种模式的优势是首字延迟低,能显著缓解用户等待焦虑;局限在于传输单元是纯文本,无法表达工具调用参数、结构化数据、推理步骤等语义信息。前端只能被动消费文本,再通过正则或约定标记去猜测意图,难以构建稳定的组件化渲染。

可恢复流:长任务的基础设施

Agent 任务往往持续数十秒甚至更久,网络中断、页面刷新、移动端切后台都会打断流式连接。AI SDK 7 引入的 resumable streams 针对的正是这一痛点:流的状态被持久化,客户端重连后可以从断点继续接收,而不是从头开始。

这一能力对生产级 Agent 应用意义重大。它意味着流式不再是“一次性消费”的脆弱通道,而是具备会话语义的可靠传输。对于需要调用多个工具、执行多步推理的复杂 Agent,可恢复流让“后台运行、稍后查看”成为可行的产品形态。

可恢复流(resumable streams) 的核心机制通常包含三部分:服务端为每个流分配持久化标识并缓存已发送的事件序列;客户端记录最后收到的事件 ID;重连时携带该 ID 请求续传,服务端从断点回放未送达事件。这与 HTTP 断点续传的思路相似,但针对的是事件流而非文件字节。实现上需要流状态存储(如 Redis 或数据库)、事件序列号、以及幂等重放逻辑。对 Agent 应用而言,这意味着用户关闭页面后任务仍可在后台继续,重新打开时无缝接续。

AG-UI 1.0:事件协议的统一尝试

如果 AI SDK 7 解决的是单框架内的流式体验,AG-UI 1.0 则试图在协议层统一 Agent 与 UI 之间的通信。它将 Agent 生命周期中的关键动作抽象为事件:运行开始、文本增量、工具调用、状态更新、运行结束等。前端消费的是事件流,而非某个框架的私有格式。

据原始素材描述,AG-UI 1.0 的事件模型覆盖了流式 token、工具调用与 UI 部件三类核心数据。这种分层的价值在于可替换性:后端可以从 Mastra 切换到 LangGraph,只要事件协议一致,前端渲染层无需重写。对于在多 Agent 框架之间做技术选型的团队,这降低了锁定风险。

AG-UI(Agent-User Interaction Protocol) 是一个面向 Agent 与前端之间通信的开放事件协议,由 CopilotKit 团队发起并推动标准化。它定义了运行生命周期事件(如 RUN_STARTED、RUN_FINISHED)、文本消息增量、工具调用开始/参数流/结束、状态快照与增量更新等事件类型,通常以 SSE 承载。与 MCP 侧重 Agent 与工具/数据的连接不同,AG-UI 聚焦 Agent 与用户界面的交互层,二者互补。其目标是让前端 SDK 与后端框架解耦,使同一套 UI 渲染逻辑可以对接不同 Agent 运行时。

Mastra 与 LangGraph 的接入路径

Mastra 和 LangGraph 代表了两种不同的 Agent 编排哲学:前者偏向 TypeScript 生态的一体化工作流,后者以图结构表达复杂状态机。原始素材将两者并列为流式与生成式 UI 的接入对象,说明事件协议层的抽象正在成为共识。

实际接入时,关键差异在于状态管理。LangGraph 的图状态天然适合映射为事件流中的状态更新事件;Mastra 的工作流步骤则更贴近工具调用事件。开发者在选型时,需要评估自身 Agent 的复杂度:线性任务用一体化框架更轻,多分支、需回滚的流程则更适合图结构。

LangGraph 是 LangChain 团队推出的 Agent 编排框架,以有向图表达节点与边,节点为计算步骤、边为控制流,支持条件分支、循环、检查点(checkpoint)与人工介入。其状态是显式的、可持久化的图状态,因此天然适合映射为事件流中的状态更新事件。Mastra 是 TypeScript 优先的 Agent 框架,提供工作流、工具、记忆与 RAG 等一体化能力,步骤式工作流更贴近工具调用事件的粒度。两者分别代表图状态机与线性工作流两种编排范式,选择取决于任务拓扑复杂度与团队技术栈。

生成式 UI 的边界与取舍

生成式 UI 常被描述为“让模型决定界面”,但从上述技术栈看,更准确的表述是“让模型输出结构化的 UI 意图,由前端受控渲染”。AI SDK 7 的部件流和 AG-UI 的事件模型都保留了前端的组件映射权,模型并不直接生成任意界面代码。

这种受控模式是务实的。完全自由的生成式 UI 在一致性、可访问性和安全性上都难以保障;而部件级流式加事件协议,既保留了动态性,又让渲染边界可控。对于构建 Agent 应用的团队,这意味着可以把精力放在部件库和事件处理上,而不是追逐端到端的 UI 生成。

实践建议

从工程落地角度,可以先从 AI SDK 7 的 UI message streams 入手,把现有 token 流改造成部件流,验证前端组件映射的可行性。随后引入可恢复流,解决长任务的连接稳定性。当需要跨框架协作或前后端团队分离时,再评估 AG-UI 1.0 事件协议的接入成本。Mastra 与 LangGraph 的选择应基于 Agent 流程的拓扑复杂度,而非单纯的生态偏好。

流式与生成式 UI 的演进方向已经清晰:从传输 token 到同步状态,从单框架私有格式到协议层抽象。Agent 应用的体验竞争,正在从模型能力转向工程基建。

#AI SDK 7#AG-UI 1.0#生成式 UI#流式传输#Agent 应用#Mastra#LangGraph
分享:

相关推荐