如何利用 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 則約束了 Agent 在前端能創造的內容

在兩種情況下,模型都有推理的空間,但僅限於應用程式定義好的界線之內。

回到我們上面討論的退款例子,一般標準的退款可能只需要一張簡單的核准卡片。

但如果是有爭議的案件,涉及例外狀況、附件或部分退款,就可能需要更豐富的體驗。

這就是 MCP App 派上用場的地方,它能為複雜的互動提供一個封閉式的工作空間:

Charly Wargnier - inline image

→ ADK 控制所有可能發生的事

→ A2UI 讓結果可見且可操作

→ MCP App 處理複雜的工作空間

想了解更多嗎?

這裡整理了探索 ADK 2.0、A2UI 與 Google Cloud 更完整的 Agent 平台所需的一切資源:

很榮幸能與 @googlecloud 合作這個專案!🤝

如果你想掌握 LLM、AI Agent 和工作流程的最新趨勢,歡迎追蹤我 @datachaz,每天獲取新洞察。

一鍵儲存

使用 YouMind AI 深度閱讀爆款文章

保存原文、追問細節、總結觀點,並在一個 AI 工作空間裡把爆款文章沉澱成可複用筆記。

了解 YouMind
寫給創作者

把你的 Markdown 變成乾淨的 𝕏 文章

圖片上傳、表格、程式碼區塊,往 𝕏 上手動重排太痛苦。YouMind 把整篇 Markdown 一鍵轉成乾淨、可直接發佈的 𝕏 文章草稿。

試試 Markdown 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章