Google A2UI:Agentic AI 在 DevOps 与 SRE 领域的未来(告别仅文本的 ChatOps)

发布: (2025年12月28日 GMT+8 03:54)
10 min read
原文: Dev.to

Source: Dev.to

Google A2UI:面向 DevOps 与 SRE 的代理式 AI 未来(告别仅文本 ChatOps)

Deneesh Narayanasamy

“仅文本” ChatOps 的时代即将结束。Google 全新的开源协议 A2UI 让 AI 代理能够渲染原生、交互式界面。以下是平台工程师和 SRE 需要了解的要点。

🚀 TL;DR(给忙碌的工程师)

  • 它是什么?
    A2UI(Agent‑to‑User Interface) – Google 推出的开源标准,允许 AI 代理以 JSON 形式生成 UI 组件,而不是原始文本或 HTML。

  • 为什么在意?
    它消除了 ChatOps 中的“文字墙”问题。代理现在可以直接在聊天应用或内部门户中呈现交互式表单、图表和按钮。

  • 关键技术:
    声明式 JSON 负载,像数据一样安全,又 像代码一样富有表现力,无需执行任意 JavaScript。

  • 使用场景:
    非常适合 SRE 事件响应MLOps 标注自助式基础设施

The Problem: The “Wall of Text” Bottleneck

我们都有过这样的经历。凌晨 3 点,你正在处理 P1 级别的故障,并向 Ops 机器人查询:

@ops-bot status service-payments

机器人回复了 50 行未格式化的 JSON 日志。要解决问题,你必须:

  1. 记住确切的 CLI 语法。
  2. 手动输入它。
  3. 希望你没有把区域标志打错。

这就是 AI 驱动运维中的 “最后一公里” 问题。优秀的大语言模型可以诊断复杂的 Kubernetes 问题,但它们被迫通过笨拙的文本渠道进行交流。摩擦增加了认知负荷,拖慢了平均修复时间(MTTR)。

进入 A2UI:“像数据一样安全,像代码一样富有表现力”

Google 推出了 A2UI 来弥合这一鸿沟。不同于以往依赖沉重 iframe 或危险的原始 HTML 注入的做法,A2UI 使用 标准化的 JSON 架构

工作原理

  1. Agent(代理) 分析请求并发送 JSON “蓝图”。
  2. Client(客户端)(您的网页门户、移动应用或聊天界面)接收该 JSON。
  3. Renderer(渲染器) 将该 JSON 转换为 原生组件(React、Flutter、Angular 等),并匹配您品牌的样式系统。

为什么此架构在 DevOps 中胜出

  • 安全第一 – 代理不能执行代码。它只能请求存在于客户端允许列表中的组件(例如 CardButtonGraph)。
  • 原生体验 – UI 看起来并且行为上像你的内部开发者平台,而不是一个脱节的第三方嵌入。
  • 双向同步 – 点击“Restart Pod”会立即在 UI 中更新状态,无需页面刷新。

平台团队的一些使用案例

如果您正在构建内部开发者平台(IDP),以下是您今天可以使用 A2UI 的方式。

1. 交互式事故指挥官(SRE)

与其链接到 Grafana 仪表盘,代理会在对话中生成仪表盘。

触发条件A2UI 响应
“警报:结账过程延迟高。”一个交互式 Card,包含:
• 📉 可视化: 错误率实时小图表(最近 15 分钟)。
• 📝 上下文: 最近三次部署的摘要。
• 🔴 操作: “回滚”按钮,触发特定的 GitHub 工作流。

2. 人在回路中的 MLOps

MLOps 团队常常在模型置信度低的“边缘案例”上遇到困难。为标注人员构建定制网页应用成本高昂。

场景A2UI 解决方案
一个欺诈模型以 45 % 置信度 标记了一笔交易。代理向运维频道推送一个 “审查卡片”
内容: 交易元数据 + 用户历史。
输入: [确认欺诈][误报] 按钮。
结果: 点击后为数据打标签,并立即触发微调任务。

3. 自助式基础设施供应

不要再让开发者为简单资源编写 Terraform。

请求A2UI 响应
“我需要一个用于预发布环境的 Redis 实例。”出现一个动态表单:
下拉框: 选择环境(开发 / 预发布)。
滑块: 选择 TTL / 保留时间。
校验: 代理在用户点击 提交 之前验证配额。

代码:负载的结构

对于开发者来说,这就是实际的线协议。它非常易读:

{
  "component": "Card",
  "title": "⚠️ Production Alert: High CPU",
  "children": [
    {
      "component": "Text",
      "content": "Service 'payment-gateway' is at 98% utilization."
    },
    {
      "component": "Row",
      "children": [
        {
          "component": "Button",
          "label": "Scale Up (5 Nodes)",
          "action": "scale_up_action",
          "style": "primary"
        },
        {
          "component": "Button",
          "label": "Snooze Alert",
          "action": "snooze_action",
          "style": "secondary"
        }
      ]
    }
  ]
}

该 JSON 与平台无关。你的 React 前端可以将其渲染为 Material‑UI 卡片;你的 iOS 应用可以将其渲染为原生 SwiftUI 视图。

A2UI 与 MCP 与 标准 ChatOps

对于将其与 Anthropic 的 MCP (Model Context Protocol) 或传统 webhook 进行比较的用户,以下是一个快速概览:

Feature(特性)Standard ChatOps(标准 ChatOps)MCP (Model Context Protocol)(模型上下文协议)A2UI
Payload type(负载类型)纯文本 / markdown结构化的模型中心数据声明式 JSON UI 架构
Security model(安全模型)无内置沙箱需要自定义沙箱代理不能执行代码;只能请求白名单组件
Native UI rendering(原生 UI 渲染)无(仅文本)取决于客户端实现客户端渲染器创建原生组件
Bi‑directional interaction(双向交互)有限(通过回调的按钮)可实现,但未标准化通过动作实现即时状态同步
Extensibility(可扩展性)低(文本命令)中等(模型驱动)高 – 可通过架构添加新组件类型
Use‑case focus(使用场景重点)简单运维指令通用模型‑客户端通信DevOps / SRE 交互式工作流

该表格概括了核心差异;随着规范的成熟,细节可能会有所演变。

要点

A2UI 为平台工程师提供了一种 安全、原生且交互式 的方式,让 AI 代理不仅仅是输出文本。通过将 UI 层移入声明式 JSON 合约,你可以兼得两者的优势:LLM 的智能和原生应用的可用性。

在你的下一个内部工具中试一试——值班工程师会感谢你的。

扩展协议 – Google A2UI

类别选项 1选项 2选项 3
输出文本 / 静态图像资源 / 文本 / 提示本地 UI 组件
交互性低(命令行)中(工具使用)高(有状态 UI)
安全性高(无代码执行)
实现难度简单中等中等
最适用简单查询连接数据源人在环路工作流

加粗的条目突出显示每个类别中最先进或推荐的选择。

入门

Google 已开源规范和渲染器。克隆仓库并运行 Restaurant Finder 示例,以查看渲染效果(它可以完美转换为 DevOps 的 Service Finder)。

git clone https://github.com/google/A2UI.git

导航到客户端示例

cd A2UI/samples/client/lit/shell

安装并运行

npm install && npm run dev

最后思考:向生成式 UI 的转变

我们正从 通用 UI(展示所有内容的仪表盘)转向 生成式 UI——为您正在解决的具体问题即时创建的界面。

对于 DevOps 和 SRE 来说,A2UI 是让这一未来成为可能的工具包。它在 ChatOps 中保留了 “Chat”,同时终于消除了 “Ops” 的烦恼。

🔗 资源

您是否尝试在 Ops 工作流中实现生成式 UI?
在下方评论中分享您的经验吧!

Back to Blog

相关文章

阅读更多 »

SRE 周刊 第502期

在 sreweekly.com 上查看《消除 Cold Starts 2:shard and conquer》——Cloudflare 通过 sharding 和一致性降低了 Workers 请求的冷启动率。