[控场AI]
产品Agent to UI / A2UI 库

A2UI

Google Jetpack Compose 团队推出的开源库,定义一套声明式 JSON 格式与协议,让 AI Agent 在运行时生成可交互的原生 UI,由客户端用 Compose 组件渲染,规避代码注入风险

时间轴 (近 90 天)

10月30日

Google Jetpack Compose 团队推出了 A2UI(Agent to UI)库,让 Agent 能够以声明式 JSON 描述界面,由客户端用原生 Compose 组件渲染。

待验证50%
10月30日

A2UI 是一个开放的 JSON 格式,用声明式方式描述 UI,Agent 只返回 UI 的 JSON 表示,不返回任何需要客户端执行的代码。

待验证50%
10月30日

A2UI 的概念模型包括 Catalog(组件与函数的集合,作为契约)和 Surface(Agent 控制的一块 UI 区域,通过协议消息更新)。

待验证50%
10月30日

A2UI 规范定义了 basic catalog(基础目录),Jetpack Compose 渲染器用 Material 3 组件实现了它;大部分组件开箱即用,但 image、video、audio player 三个媒体组件需要开发者接入自己的库(例如 Coil)。

待验证50%
10月30日

A2UI 的集成路径分为三层:Chat Session 接收 Agent 流式响应并提取原始 A2UI JSON 消息;Message Processor 用 Parser 把 JSON 转成语义表示,对照 Catalog 校验后映射为 Surface 模型;最后由 A2UI Surface composable 渲染成原生 Compose UI。

待验证50%
10月30日

在 A2UI 中,Agent 发来的每条组件消息在到达 UI 前都会对照 Catalog schema 校验;不符合契约的内容(如未知组件名、类型不匹配的属性)会在进入 UI 树之前被拦截,并向 Agent 发送错误信息以触发自纠正循环。

待验证50%
10月30日

A2UI 渲染出的界面使用真实 Material 组件,具备原生性能,能响应深色模式,自动继承外层 MaterialTheme 定制的颜色、形状与字体,并且 TalkBack、字体缩放、键盘导航等无障碍能力开箱即用。

待验证50%
10月30日

A2UI 通过渐进式渲染缓解延迟:根组件一到就开始显示,容器组件对尚未到达的子组件展示加载占位符,子组件到达后用 Material 3 动效方案动画入场。

待验证50%
10月30日

A2UI 的每个 Surface 的数据模型建立在 Compose snapshot state 之上,绑定路径的属性是 derived state,任一来源更新都会触发绑定组件自动重组。

待验证50%
10月30日

在 A2UI 中,用户操作通过 processor 暴露的 outbound events flow 回传;点击操作会生成 A2UI action 消息发回 Agent,context 包含 Agent 事先声明的、在点击时刻根据数据模型解析出的属性值。

待验证50%

还有 4 条时间轴事件

全部知识事实 (15)

待验证

文章介绍的六大AI智能体协议为MCP、A2A、UCP、AP2、A2UI和AGUI

95%
待验证

A2UI 是一个开放的 JSON 格式,用声明式方式描述 UI,Agent 只返回 UI 的 JSON 表示,不返回任何需要客户端执行的代码。

50%
待验证

A2UI 的概念模型包括 Catalog(组件与函数的集合,作为契约)和 Surface(Agent 控制的一块 UI 区域,通过协议消息更新)。

50%
待验证

A2UI 规范定义了 basic catalog(基础目录),Jetpack Compose 渲染器用 Material 3 组件实现了它;大部分组件开箱即用,但 image、video、audio player 三个媒体组件需要开发者接入自己的库(例如 Coil)。

50%
待验证

A2UI 的集成路径分为三层:Chat Session 接收 Agent 流式响应并提取原始 A2UI JSON 消息;Message Processor 用 Parser 把 JSON 转成语义表示,对照 Catalog 校验后映射为 Surface 模型;最后由 A2UI Surface composable 渲染成原生 Compose UI。

50%
待验证

在 A2UI 中,Agent 发来的每条组件消息在到达 UI 前都会对照 Catalog schema 校验;不符合契约的内容(如未知组件名、类型不匹配的属性)会在进入 UI 树之前被拦截,并向 Agent 发送错误信息以触发自纠正循环。

50%
待验证

A2UI 渲染出的界面使用真实 Material 组件,具备原生性能,能响应深色模式,自动继承外层 MaterialTheme 定制的颜色、形状与字体,并且 TalkBack、字体缩放、键盘导航等无障碍能力开箱即用。

50%
待验证

A2UI 通过渐进式渲染缓解延迟:根组件一到就开始显示,容器组件对尚未到达的子组件展示加载占位符,子组件到达后用 Material 3 动效方案动画入场。

50%
待验证

A2UI 的每个 Surface 的数据模型建立在 Compose snapshot state 之上,绑定路径的属性是 derived state,任一来源更新都会触发绑定组件自动重组。

50%
待验证

在 A2UI 中,用户操作通过 processor 暴露的 outbound events flow 回传;点击操作会生成 A2UI action 消息发回 Agent,context 包含 Agent 事先声明的、在点击时刻根据数据模型解析出的属性值。

50%
待验证

Agent 在 Catalog 中声明的函数(如打开 URL、校验输入)不会由 Agent 自己执行,而是以 action 消息的形式回传客户端,由客户端决定如何处理,副作用执行权留在应用侧。

50%
待验证

在 A2UI 中自定义组件时,替换基础目录的按钮只需实现对应接口的 composable 函数;新增组件类型则需要实现 A2UI Component 接口,其 name 和 description 会被序列化进发送给后端的 Catalog schema,作为 Agent 判断是否使用该组件的依据,必须写得足够描述性。

50%
待验证

在 A2UI 中,properties 定义组件处理的数据,区分静态属性(值内联在属性中)与动态属性(引用数据模型路径,通过 bind API 读取订阅、bind updater 写回)。

50%
待验证

A2UI 选择 JSON 声明式描述,意味着 Agent 只需输出目标状态而非操作序列,客户端可以自行决定如何渲染、如何动画、如何复用组件,这也是它能由原生 Compose 组件承载的前提。

50%
待验证

Google Jetpack Compose 团队推出了 A2UI(Agent to UI)库,让 Agent 能够以声明式 JSON 描述界面,由客户端用原生 Compose 组件渲染。

50%

来源文章