如何利用 Google ADK 2.0 和 A2UI 将脆弱的 Agent 转变为可靠的系统

@DataChaz
英语1天前 · 2026年7月30日
239K
69
29
9
66

TL;DR

本文探讨了 Google 的 ADK 2.0 和 A2UI 框架如何通过将不可预测的推理与结构化的软件执行分离,从而解决常见的 AI Agent 故障问题。

想象一下。

你给一个 Agent 五个工具和一条指令。

你的退款流程也许能完美运行。

接着,确认邮件发送失败了。

Agent 从头重新跑了一遍整个流程,把已经成功的操作又执行了一次。

结果呢?双重退款。

原型跑得很完美,生产系统却翻了车。

问题不在提示词。

问题在于,让模型去运行一个它一开始就不该运行的流程!

LLM 却经常被迫承担路由、调度和错误管理的工作。

而这些任务,标准软件早就能够以完全可预测的方式处理了。

然而,我们却要求 AI 同时干两件互相冲突的活:

  • 理解世界:解读不可预测的非结构化数据
  • 执行流程:编排一套死板的、预先定义好的事件序列

前者是 AI 的用武之地,后者属于传统代码的职责范畴。

当下一步已知时,模型就不应该靠猜。

想象一个自主 Agent,手里拿着五个工具和一大段指令:

→ 获取购买记录

→ 查看退款政策

→ 符合条件就退款

→ 发送邮件

→ 然后关闭工单

要完成这一切,Agent 必须记住整个顺序,逐一检查每个工具的结果,并推断出下一步该做什么。

如果退款已经发出,而确认邮件发送失败,模型就会尝试从上下文窗口里重建工作流,而不是从安全的执行状态继续。

结果就是我们前面提到的双重退款。

ADK 2.0 如何让混乱恢复秩序

Google 的 ADK 2.0 用一种全新的思路解决了这个问题。

它把可预测的操作重新变回具体的工作流步骤,只在真正需要解读的地方才引入 AI:

Charly Wargnier - inline image

[退款工作流示意图 - 来源:"Why we built ADK 2.0"]

在上面的例子中,获取购买记录、执行退款和关闭工单都是普通的软件操作。

而分析投诉内容、起草个性化确认消息,则交给 AI 处理。

最终成果是一个漂亮的混合体:固定执行 + 聚焦推理。

但你可能会想:这不就退回死板的自动化了吗?

我们是不是把 Agent 本该取代的工作流又硬编码回去了?

嗯,不完全是。

工作流界定的是那些已知的边界。

Agent 仍然负责需要解读、语言或判断力的部分。

目标不是移除灵活性,而是不再强迫模型在每次运行时都重新摸索同一条执行路径。

通过消除那些不必要的模型决策,这种架构彻底改变了成本结构。

同样的退款工作流。同样的模型。

但有了 ADK 2.0,Token 用量从 5,152 降到 2,265,延迟从 7.2 秒降到 5.7 秒 🔥

Charly Wargnier - inline image

[来源:"Why we built ADK 2.0"]

这种结构就像一道天然的过滤器,能把 Token 用量砍掉一半。

Agent 不再需要接收全部历史记录,只看到自己需要的部分(例如,政策 Agent 只看到投诉内容)。

好处立竿见影:

  • 更少的提示词噪声,更高的隐私性
  • 严格受限的执行过程
  • 兜底机制:模型可能会做出错误的判断,但它永远无法自创路径

前端同样需要边界:A2UI 如何让你的 UI 始终可控

太好了。退款工作流现在完全可控了。

ADK 2.0 定义了路径,也阻止了 Agent 自行创造流程顺序。

用户仍然需要一种安全的方式来查看并操作 Agent 生成的内容。

换句话说,前端同样需要边界!

想象一下,现在每一笔获批的退款都需要主管的签字确认。

Agent 不应该只是生成一段文字说:

"这笔退款已批准。"

它需要展示一张结构化卡片,其中包含:

  • 金额
  • 交易信息
  • 政策依据
  • 清晰的"批准/拒绝"按钮

这正是 Google 的 A2UI 派上用场的地方!

借助 A2UI,Agent 返回的是声明式 JSON 数据包,而不是可执行的前端代码。

宿主应用会校验这一数据包,并且只渲染其组件目录中支持的组件。

Agent 决定展示什么信息,应用控制这些信息的渲染方式。

👇 以下是一些 A2UI 渲染卡片的示例,展示了 A2UI 能实现的丰富多样的 UI 组合:

Charly Wargnier - inline image

Google 的 A2UI-over-MCP Recipe Studio 演示展示了这套架构的实际运行效果:

Charly Wargnier - inline image

来源:Google Developers Blog。

👆 可以看到,静态选择表单通过 MCP Resource 交付,而动态生成的食谱卡片则通过 MCP Tool 返回。

A2UI 在宿主应用中原生渲染这两者。

注意到这种对称性了吗?

  • ADK 2.0 在后端约束 Agent 能做什么
  • A2UI 在前端约束它能创造什么

在这两种情况下,模型都有推理的空间,但只能在应用定义的边界之内。

回到我们上面讨论的退款示例:标准退款可能只需要一张简单的审批卡片。

但涉及例外情况、附件或部分退款的争议案例,则可能需要更丰富的交互体验。

这时,MCP App 就可以登场,为复杂交互提供一个封闭式的工作空间:

Charly Wargnier - inline image

→ ADK 控制能发生什么

→ A2UI 让结果可见、可操作

→ MCP Apps 处理复杂的工作空间

想了解更多?

以下是你探索 ADK 2.0、A2UI 以及 Google Cloud 更广泛的 Agent 平台所需的全部资源:

很荣幸能与 @googlecloud 在这个项目上合作!🤝

如果你想及时了解 LLM、AI Agent 和工作流的最新动态,欢迎关注我 @datachaz,获取每日最新洞察。

一键保存

使用 YouMind AI 深度阅读爆款文章

保存原文、追问细节、总结观点,并在一个 AI 工作空间里把爆款文章沉淀成可复用笔记。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章