摘要

1) 一句话总结 A2UI 是一个由 Google 创建的开源协议,使 AI 智能体能够通过声明式组件安全地生成跨平台的原生交互式用户界面,而无需执行任意代码。

2) 关键点

  • 项目背景:由 Google 创建,采用 Apache 2.0 许可证,CopilotKit 和开源社区参与贡献,目前在 GitHub 上开源。
  • 核心机制:AI 智能体输出扁平流式 JSON 结构的声明式组件描述(包含结构与数据),而非纯文本或可执行代码。
  • 设计即安全:智能体只能调用客户端预先批准的组件库,从根本上杜绝了 UI 注入攻击及任意代码执行的风险。
  • 框架无关:一次响应即可在多端适用,支持使用 Angular、Flutter、React 或原生移动端技术进行渲染。
  • 渐进式渲染:支持流式传输 UI 更新,允许 LLM 逐步构建界面,用户可实时看到渲染过程而无需等待完整响应。
  • 闭环工作流:用户发送消息 智能体生成并流式传输 A2UI 消息 客户端原生渲染 用户交互操作传回智能体 智能体响应并更新 UI。
  • 应用场景与演示:官方提供了基于 Gemini 的餐厅查找器、景观设计师表单生成、交互式图表与地图等演示,以及 CopilotKit 提供的 A2UI Widget Builder。

3) 风险/不足

  • 处于早期阶段:项目目前处于 v0.8 早期公开预览版,规范和实现仍在不断演进中,项目内容未来可能会发生变动。
  • 生态仍需完善:目前仍在积极征集开源社区的贡献(例如客户端渲染器方面的实现)。

正文

A2UI 使 AI 智能体能够生成丰富、交互式的用户界面,这些界面可以在 Web、移动端和桌面端进行原生渲染——而无需执行任意代码。

状态:早期公开预览版 (Early Stage Public Preview)

A2UI 目前处于 v0.8(公开预览版)。其规范和实现已具备基本功能,但仍在不断演进中。我们开源此项目是为了促进协作、收集反馈并征集贡献(例如客户端渲染器方面的贡献)。请注意项目的 API 与规范可能发生破坏性变更。

概览

A2UI 目前版本为 v0.8,采用 Apache 2.0 许可证,由 Google 创建,CopilotKit 和开源社区也做出了贡献,目前正在 GitHub 上积极开发中。

A2UI 解决的问题是:AI 智能体如何跨越信任边界安全地发送丰富的 UI?

A2UI 不使用纯文本响应或存在风险的代码执行,而是让智能体发送声明式组件描述,客户端则使用自身的原生组件进行渲染。这就像是让智能体使用一种通用的 UI 语言进行交流。

在本仓库中,您可以找到 A2UI 规范,以及客户端渲染器(例如:Angular、Flutter 等)和用于在智能体与客户端之间传递 A2UI 消息的传输机制(例如:A2A 等)的实现。

  • 设计即安全

采用声明式数据格式,而非可执行代码。智能体只能使用您组件库中预先批准的组件——杜绝 UI 注入攻击。

  • 对 LLM 友好

专为易于生成而设计的扁平流式 JSON 结构。LLM 可以逐步构建 UI,而无需一次性生成完美的 JSON。

  • 框架无关

智能体的一次响应即可处处适用。使用您自定义样式的组件,在 Angular、Flutter、React 或原生移动端上渲染相同的 UI。

  • 渐进式渲染

在生成时以流式传输 UI 更新。用户可以实时看到界面的构建过程,而无需等待完整的响应。

5 分钟快速入门

运行餐厅查找器演示,体验由 Gemini 驱动的智能体在 A2UI 中的实际效果。

开始使用

了解界面层 (Surfaces)、组件、数据绑定以及邻接表模型。

学习概念

将 A2UI 渲染器集成到您的应用程序中,或构建可生成 UI 的智能体。

开始构建

深入了解完整的技术规范和消息类型。

阅读规范

工作原理

  1. 用户发送消息给 AI 智能体
  2. 智能体生成 A2UI 消息,描述 UI(结构 + 数据)
  3. 消息以流式传输到客户端应用程序
  4. 客户端使用原生组件(Angular、Flutter、React 等)进行渲染
  5. 用户与 UI 交互,将操作发送回智能体
  6. 智能体返回更新后的 A2UI 消息作为响应

Image 3: End-to-End Data Flow

A2UI 实际演示

景观设计师演示

观看智能体如何为景观设计师应用程序生成所有界面。用户上传一张照片;智能体使用 Gemini 理解该照片,并针对景观设计需求生成一个自定义表单。

自定义组件:交互式图表与地图

观看智能体如何选择使用图表组件来回答数值摘要问题。然后,智能体选择 Google Maps 组件来回答位置问题。这两者都是由客户端提供的自定义组件。

A2UI Composer

CopilotKit 也提供了一个公开的 A2UI Widget Builder 供大家体验。

Image 4: A2UI Composer

关联主题