Agent 生态系统中的 A2UI
Agent UI 领域正在迅速发展,出现了许多优秀的工具来解决技术栈中不同部分的问题。A2UI 不是这些框架的替代品——它是一个专门的协议,用于解决互操作性、跨平台、生成式或基于模板的 UI 响应的具体问题。
概览
A2UI 的方法是将 JSON 作为消息发送给客户端,客户端随后使用渲染器将其转换为原生 UI 组件。LLM 可以动态生成组件布局,或者您也可以使用模板。
这使得它像数据一样安全,像代码一样富有表现力。
导航 Agent UI 生态系统
1. 构建“宿主”应用 UI
如果您正在构建全栈应用程序(用户交互的“宿主”UI),提供聊天界面并管理状态,您可能会使用以下框架:
- AG UI / CopilotKit: 已全面支持包括 A2UI、Open-JSON-UI 和 MCP Apps 在内的生成式 UI 规范。
- Vercel AI SDK
- GenUI SDK for Flutter
- 15+ 社区开源实现: 包括为 Next.js、React Native 和 Google Apps Script 开发的各类渲染器。
A2UI 的位置: A2UI 是互补的。如果您使用 AG UI 连接您的宿主应用程序,它可以将 A2UI 用作数据格式,用于渲染来自宿主 Agent 以及第三方或远程 Agent 的响应。
2. UI 作为“资源” (MCP Apps)
模型上下文协议 (MCP) 最近推出了 MCP Apps。这种方法将 UI 视为一种资源(通过 ui:// URI 访问),工具可以返回该资源,通常会在沙盒 iframe 中渲染预构建的 HTML 内容。
A2UI 有何不同: A2UI 采用**“原生优先”**的方法。A2UI Agent 发送原生组件的蓝图,而不是检索不透明的负载(iframe 中的 HTML)。这使得 UI 能够完美地继承宿主应用的样式和无障碍功能。
3. 平台特定生态系统 (OpenAI ChatKit)
像 OpenAI ChatKit 这样的工具为专门在 OpenAI 生态系统中部署 Agent 提供了高度集成、优化的体验。
A2UI 的位置: A2UI 专为在 Web、Flutter 和原生移动端上构建自己 Agent 界面的开发者设计,或者是为需要在信任边界之间进行通信的企业网格(如 A2A)设计。A2UI 赋予客户端更多的样式控制权。
4. 工具与组件生态 (Tools & Ecosystem)
除了核心协议之外,A2UI 周边涌现了实用的构建工具和组件变体:
- A2UI Composer: 由 CopilotKit 提供支持的公共可视化部件构建器 (Widget Builder)。它允许开发者以低代码的方式实验和搭建基于 A2UI 的界面流。
- 自定义分析 Catalog:团队可以把受限的图表或地图组件映射到经过审查的宿主实现;它们属于产品扩展,并非基础 Catalog 保证提供的组件。