用途:A2UI 是 Google 开源的 Agent-to-User Interface 协议,让 AI 智能体通过声明式 JSON 生成丰富交互界面,而非可执行代码,解决多智能体系统中跨信任边界安全传输 UI 的问题。智能体用预批准组件的扁平列表描述 UI 意图,客户端在 Web、移动、桌面原生渲染,格式针对 LLM 生成优化,支持流式与增量更新,且与框架无关。
主要能力:采用邻接表模型(扁平组件列表加 ID 引用,便于增量生成与渐进渲染);以 surfaceId 标识 UI 容器,组件与数据模型按 surface 作用域隔离;通过 JSON Pointer(RFC 6901)实现数据绑定,输入组件双向绑定;用 JSON Schema 定义 catalog,限定智能体可用的组件、函数与主题。支持 v0.8(稳定,surfaceUpdate/dataModelUpdate/beginRendering,嵌套语法)与 v0.9(草案,createSurface/updateComponents/updateDataModel,扁平语法,需 catalogId)两个版本。
使用方式:智能体侧可 pip install google-adk 并用 adk create my_agent;客户端按框架安装,如 npm install @a2ui/web-lib lit @lit-labs/signals、npm install @a2ui/react @a2ui/web-lib、npm install @a2ui/angular @a2ui/web-lib、flutter pub add flutter_genui。完整演示可 git clone https://github.com/google/a2ui.git 后进入 samples/client/lit 执行 npm install 与 npm run demo:all,并设置 GEMINI_API_KEY。消息以 JSONL 逐行传输,v0.9 中 createSurface 即触发渲染,v0.8 必须发送 beginRendering 才会渲染。
适用场景:构建生成 A2UI JSON 的智能体、搭建 Lit/React/Angular/Flutter 客户端渲染器、处理 surfaceUpdate 等消息类型、定制组件 catalog、实现数据绑定、与 A2A 协议或 AG UI 传输集成、处理按钮点击与表单提交等客户端到服务端动作、开发自定义组件。
限制:v0.8 与 v0.9 语法互不兼容,混用会静默失败;surface 创建后 catalog 锁定不可更改;JSON Pointer 路径须先在数据模型中存在;子组件只能以 ID 引用,不能内联对象。不适用于与智能体生成界面无关的通用 UI 框架问题,以及不涉及 UI 渲染的 A2A 协议问题。具体收费与价格信息暂未提供。