Agent 生态系统中的 A2UI¶
Agentic UI 领域发展迅速,涌现出了许多优秀的工具来解决技术栈不同部分的问题。A2UI 并不是这些框架的替代品——它是一个专门的协议,用于解决互操作、跨平台、生成式或基于模板的 UI 响应这一特定问题。
概览¶
A2UI 的方法是将 JSON 作为消息发送给客户端,客户端随后使用渲染器将其转换为原生 UI 组件。LLM 可以即时生成组件布局,或者您可以使用模板。
这使得它像数据一样安全,像代码一样富有表现力。
本页的其余部分将帮助您了解 A2UI 与其他选项的关系。
探索 Agentic UI 生态系统¶
1. 构建“宿主”应用程序 UI¶
如果您正在构建一个全栈应用程序(用户交互的“宿主”UI),除了构建实际的 UI 外,您可能还会利用框架 (AG UI / CopilotKit, Vercel AI SDK, 已经在底层使用 A2UI 的 Flutter GenUI SDK) 来处理“管道”:状态同步、聊天记录和输入处理。
A2UI 适用的位置: A2UI 是互补的。如果您使用 AG UI 连接您的宿主应用程序,它可以将 A2UI 作为数据格式,用于渲染来自宿主 Agent 以及第三方或远程 Agent 的响应。这为您提供了两全其美的方案:一个丰富的、有状态的宿主应用程序,可以安全地渲染来自它无法控制的外部 Agent 的内容。
- A2UI 与 A2A: 您可以直接通过 A2A 发送到客户端前端。
- A2UI 与 AG UI: 您可以直接通过 AG UI 发送到客户端前端。
- A2UI 与 REST、SSE、WebSockets 和其他传输协议是可行的,但目前尚不可用。
2. UI 作为“资源” (MCP Apps)¶
Model Context Protocol (MCP) 最近推出了 MCP Apps,这是一个新标准,整合了 MCP-UI 和 OpenAI 的出色工作,使服务器能够提供交互式界面。这种方法将 UI 视为一种资源(通过 ui:// URI 访问),工具可以返回该资源,通常在沙盒 iframe 中渲染预构建的 HTML 内容,以确保隔离和安全。
A2UI 有何不同: A2UI 采用“原生优先”的方法,这与 MCP Apps 的资源获取模型截然不同。A2UI Agent 不会检索要在沙盒中显示的不透明有效负载,而是发送原生组件的蓝图。这允许 UI 完美继承宿主应用程序的样式和可访问性功能。在多 Agent 系统中,编排器 Agent 可以轻松理解来自子 Agent 的轻量级 A2UI 消息内容,从而实现 Agent 之间更流畅的协作。
3. 特定于平台的生态系统 (OpenAI ChatKit)¶
像 ChatKit 这样的工具为专门在 OpenAI 生态系统中部署 Agent 提供了高度集成、优化的体验。
A2UI 有何不同: A2UI 专为在 Web、Flutter 和原生移动平台上构建自己的 Agentic Surface 的开发者设计,或者是为企业网格(如 A2A)设计的,在这些网格中,Agent 需要跨越信任边界进行通信。A2UI 让客户端对样式有更多的控制权(以牺牲 Agent 的控制权为代价),以便与宿主客户端应用程序保持更高的视觉一致性。