Skip to content

A2UI 在智能体生态系统中的位置

智能体 UI 的空间正在快速发展,出现了许多优秀的工具来解决堆栈的不同部分。A2UI 不是这些框架的替代品——它是一个专门的协议,解决可互操作、跨平台、生成式或基于模板的 UI 响应的特定问题。

概览

A2UI 的方法是将 JSON 作为消息发送到客户端,然后客户端使用渲染器将其转换为原生 UI 组件。LLM 可以即时生成组件布局,或者你可以使用模板。

💡

这使它像数据一样安全,像代码一样富有表现力。

本页的其余部分将帮助你理解 A2UI 与其他选项的关系。

1. 构建"宿主"应用 UI

如果你正在构建全栈应用(用户交互的"宿主" UI),除了构建实际的 UI 之外,你还可以利用框架 (AG UI / CopilotKit、Vercel AI SDK、Flutter 的 GenUI SDK,它已经在底层使用 A2UI) 来处理"管道":状态同步、聊天历史和输入处理。

A2UI 的位置: A2UI 是互补的。如果你使用 AG UI 连接宿主应用,它可以使用 A2UI 作为数据格式来渲染来自宿主智能体以及第三方或远程智能体的响应。这为你提供了两全其美的方案:一个丰富的、有状态的宿主应用,可以安全地渲染来自它不控制的外部智能体的内容。

  • A2UI 与 A2A: 你可以通过 A2A 直接发送到客户端前端。
  • A2UI 与 AG UI: 你可以通过 AG UI 直接发送到客户端前端。
  • A2UI 与 REST、SSE、WebSockets 和其他传输层是可行的,但尚未可用。

2. UI 作为"资源"(MCP Apps)

模型上下文协议(MCP) 最近引入了 MCP Apps,这是一个新标准,整合了 MCP-UI 和 OpenAI 的出色工作,使服务器能够提供交互式界面。这种方法将 UI 视为资源(通过 ui:// URI 访问),工具可以返回,通常在沙盒 iframe 中渲染预构建的 HTML 内容以确保隔离和安全。

A2UI 的不同之处: A2UI 采用"原生优先"的方法,与 MCP Apps 的资源获取模型不同。A2UI 智能体不是检索不透明的有效负载以在沙盒中显示,而是发送原生组件的蓝图。这使 UI 能够完美地继承宿主应用的样式和无障碍功能。在多智能体系统中,编排器智能体可以轻松理解来自子智能体的轻量级 A2UI 消息内容,从而实现智能体之间更流畅的协作。

3. 平台特定生态系统(OpenAI ChatKit)

ChatKit 这样的工具为在 OpenAI 生态系统中专门部署智能体提供了高度集成、优化的体验。

A2UI 的不同之处: A2UI 专为构建自己的跨 Web、Flutter 和原生移动端的智能体界面的开发者设计,或用于企业网格(如 A2A),其中智能体需要跨信任边界通信。A2UI 以牺牲智能体为代价给予客户端更多的样式控制,以便与宿主客户端应用实现更好的视觉一致性。