前言:
自从 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 条通道

AG-UI Events
直接连接
Frontend
React/Vue/Svelte
Secure Proxy
Agent B
LangGraph
Agent C
CrewAI Crew
Agent A
Mastra
  • 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)

  1. 装包

    npm i @ag-ui/sdk @ag-ui/crewai-adapter next
    
  2. 新建 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 };
    
  3. 前端 React Hook

    const { messages, send } = useAGUI({
      endpoint: '/api/ag-ui',
      onToolCall: (tool) => myChartLib.render(tool.args.sql)
    });
    
  4. 运行

    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 个坑

  1. 事件顺序≠时序
    text-delta 可能晚于 agent-end,前端需做 messageId 对齐。
  2. 长连接保活
    用 SSE 时,Nginx 默认 60 s 断链,记得加 proxy_read_timeout 1h;
  3. 人类输入超时
    网关默认 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
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐