AG-UI 是一种开放协议,用于标准化前端应用与 AI 代理之间的连接方式。你可以将它理解为 AI 驱动系统的"通用翻译器"------无论代理使用什么"语言",AG-UI 都能确保流畅的通信。
🤖 为什么使用 AG-UI?
AG-UI 帮助开发者构建需要实时交互 、状态实时流传输 和人机协同工作流的下一代 AI 应用。
AG-UI 提供以下核心能力:
- 通过 CopilotKit 等框架,提供一种简单直接的方式将 AI 代理与前端集成 🪁
- 为人与代理之间的通信提供高效的线协议(wire protocol)基础组件 ⚡️
- 针对聊天、状态流更新、人机协作、共享状态等场景,提供最佳实践
🔗 已有集成
AG-UI 已经与多个流行的 AI 代理框架完成集成,无论你使用哪种工具,都可以轻松采用 AG-UI 协议:
- LangGraph:利用 LangGraph 强大的编排能力,构建具有共享状态和人机协同流程的代理原生应用。
- CrewAI Flows:使用定义清晰的阶段和流程控制,创建顺序的多代理工作流。
- CrewAI Crews:设计具有专业角色和代理间通信机制的协作式代理团队。
- Mastra:使用 TypeScript 构建类型安全的代理实现,提升开发者体验。
- AG2:使用开源的 AgentOS 构建可扩展、生产就绪的代理部署。
这些集成使得你可以轻松地通过 AG-UI 协议,将你偏好的代理框架与前端应用连接起来。
🏗️ 架构概览
AG-UI 的核心是一个轻量级、事件驱动的协议,用于连接 AI 代理与前端应用:
- 前端:通过 AG-UI 进行通信的应用程序(如聊天界面或任何 AI 赋能的应用)
- AI 代理 A:无需经过代理即可直接连接的 AI 代理
- 安全代理:安全地将前端请求路由到多个 AI 代理的中间代理服务
- AI 代理 B 和 C:由代理服务管理的 AI 代理
🛠️ 技术概览
AG-UI 设计轻量且最小化约束,使其易于集成到各种代理实现中。其灵活性体现在以下两个方面:
1. 事件驱动通信
代理在执行过程中需要能够发出 16 种标准事件类型中的任意一种,从而创建客户端可处理的更新流。
2. 双向交互
代理接受用户输入,实现人与 AI 无缝协作的工作流。
此外,AG-UI 内置中间件层,通过以下方式最大化兼容性:
灵活的事件结构
事件格式无需完全匹配 AG-UI 的规范,只需具备兼容性。这使得现有代理框架可以以最小的改动适配其本地事件格式。
传输方式无关
AG-UI 不限定事件的传输方式,支持包括 Server-Sent Events (SSE)、Webhooks、WebSockets 等多种机制。这种灵活性让开发者可以自由选择最适合自身架构的传输方式。
这种实用主义的设计,使得 AG-UI 易于采用,无需对现有代理实现或前端应用进行重大修改。
📊 与其他协议的对比
AG-UI 明确专注于代理与用户之间的交互层,不与 A2A(代理间协议)和 MCP(模型上下文协议)等协议竞争。
例如,同一个代理可以通过 A2A 与其他代理通信,通过 AG-UI 与用户通信,同时调用 MCP 服务器提供的工具。
这些协议在代理生态系统中各司其职:
协议 | 职责 |
---|---|
AG-UI | 处理人机交互和 UI 状态流更新 |
A2A | 支持代理间的通信与协作 |
MCP | 标准化不同模型之间的工具调用与上下文处理 |