AG-UI:让前端与 AI Agent 说同一种语言的“黑科技”
AG-UI:让前端与 AI Agent 说同一种语言的“黑科技”
前言:
自从 ChatGPT 带火了“对话即入口”之后,越来越多的团队开始把 LLM 塞进自家产品。但真要在生产环境落地,才发现“让大模型在前端跑起来”远比写几行fetch
复杂——状态同步、流式输出、人在回路、权限隔离,每一步都是坑。
最近社区悄悄流行起来的 AG-UI(Agent User Interaction Protocol),号称是“前端与 AI Agent 的通用翻译器”。它的真实体验如何?今天带你拆个透!
一、AG-UI 是什么?一句话先讲清
AG-UI 是一套 开源、轻量、事件驱动 的通信协议,专门解决“前端 ↔ AI Agent”实时协作难题。
形象点说:以前你要让 React/Vue 跟 LangGraph、CrewAI、Mastra 等框架聊上天,得自己编解码、做长连接、管状态;现在 AG-UI 把活全包了,就像 WebSocket + Redux + ACL 的混合体,但门槛极低。
二、为什么不用 SSE/WebSocket 裸写?
需求 | 裸写 SSE/WebSocket | AG-UI 做法 |
---|---|---|
流式输出 | 自己切 text/event-stream |
内置 16 种事件类型,一行配置 |
人在回路 | 手写确认弹窗 → ACK → 继续 | 事件里带 human-input-required 标记 |
共享状态 | 额外写状态同步层 | 协议层自带可订阅的 State Stream |
多 Agent 路由 | 自建网关 + 鉴权 | 官方 Secure Proxy,零代码 |
生态复用 | 0 | 已对接 LangGraph、CrewAI、Mastra、AG2 |
一句话:AG-UI 把通用套路沉淀成协议,省下 70 % 胶水代码。
三、架构鸟瞰:4 个角色、3 条通道
- Frontend:任意前端,只要会发 JSON 就能聊。
- Secure Proxy:可选的网关,统一鉴权、限流、日志。
- Agents:支持直连,也支持被 Proxy 托管,零改造即可上线。
四、事件总线:16 种“语言片段”够用吗?
AG-UI 把一次完整的人机协作拆成 16 个原子事件,例如:
agent-start
/agent-end
:生命周期text-delta
:流式文字片段(SSE 友好)tool-call
/tool-result
:MCP 式工具调用human-input-required
:弹出确认框,前端回传human-response
state-patch
:增量同步状态,支持 JSON-Patch 语法
实测:写个“智能 BI 报表助手”,从用户提问 → SQL 生成 → 图表渲染 → 人工确认 → 邮件推送,全程 0 后台接口,只靠事件串起来。
五、5 分钟跑通 Demo(Next.js + CrewAI)
-
装包
npm i @ag-ui/sdk @ag-ui/crewai-adapter next
-
新建
app/api/ag-ui/route.ts
import { AGUIHandler } from '@ag-ui/sdk'; import { CrewAIAdapter } from '@ag-ui/crewai-adapter'; const handler = new AGUIHandler({ adapter: new CrewAIAdapter({ crewName: 'research-crew' }), }); export { handler as GET, handler as POST };
-
前端 React Hook
const { messages, send } = useAGUI({ endpoint: '/api/ag-ui', onToolCall: (tool) => myChartLib.render(tool.args.sql) });
-
运行
npm run dev
打开
http://localhost:3000
,即可边聊边出图!
六、与 A2A、MCP 傻傻分不清?一张图看懂
协议 | 关注点 | 类比 |
---|---|---|
AG-UI | 前端 ↔ 人类实时交互 | 浏览器的 HTTP |
A2A | Agent ↔ Agent | 微服务的 gRPC |
MCP | Agent ↔ 工具/上下文 | 本地 API Gateway |
官方定位:互补不打架。同一个 Agent 可以
- 用 MCP 查数据库,
- 用 A2A 让“数据清洗 Agent”打工,
- 用 AG-UI 把结果实时推给前端用户。
七、避坑指南:上线前必须踩的 3 个坑
- 事件顺序≠时序
text-delta
可能晚于agent-end
,前端需做messageId
对齐。 - 长连接保活
用 SSE 时,Nginx 默认 60 s 断链,记得加proxy_read_timeout 1h;
- 人类输入超时
网关默认 30 s 无响应即失败,可在 Agent 里await humanInput({ timeout: 300 });
八、Roadmap & 社区动向
- v0.9(本月):Secure Proxy 支持 JWT + RBAC
- v1.0(Q4):官方可视化调试面板(类似 Postman)
- 周边:LangSmith 已预告集成 AG-UI Trace,一键看“Agent 瀑布流”
GitHub 目前 5.8 k⭐,Issue 响应不到 12 h,中文讨论区已开,欢迎冲!
九、总结
AG-UI 把“如何让 AI 在前端好好说话”抽象成了协议级方案:
- 开发快:5 分钟接好 CrewAI,2 小时上线 Demo
- 体验好:原生流式、人在回路、状态同步一次到位
- 不挑栈:React、Vue、Svelte、Flutter 全都有 SDK
如果你正头疼怎么把 LLM 能力塞进产品,又不想陷入 SSE/WS 泥沼,AG-UI 值得一试。
参考资料:
- AG-UI 官方文档:https://docs.ag-ui.com/introduction
更多推荐
所有评论(0)