為什麼代理需要資料雲端脈絡
Google 近期把 Data Agent Kit 從夏季預覽推向一般可用(GA)。這套工具免費、開源,而且設計上能安裝進 Google 並不擁有的 coding agent 裡。根據 InfoQ 由 Steef-Jan Wiggers 撰寫的報導,它本質上是一組 MCP(Model Context Protocol,模型情境協定)工具,把代理連上超過十五項 Google Data Cloud 服務,另外附上 Google 自行撰寫的 skills,教導代理實務做法,例如最佳化 BigQuery SQL,或設計 Bigtable row key。它能跑在 Antigravity、Claude Code、Codex、Cursor 以及相容 VS Code 的編輯器中,並且在 Cloud Shell 與 Cloud Workstations 預先安裝。
Google 產品經理 Arun Nair 與開發者倡導者 Jeff Nelson 在發布文中點出一個預設代理普遍存在的缺口:代理能寫出不錯的 SQL,卻不知道有哪些表存在、它們如何分區、團隊信任哪些表,或昨晚的工作為什麼失敗。這次 GA 也新增了 BigQuery Graph、Bigtable 以及 Managed Service for Apache Spark 的支援。
技能與 MCP 伺服器兩層結構
Data Agent Kit 位於 coding agent 與 Google Data Cloud 服務之間,由兩個元件組成:一是攜帶最佳實務指引的 skills,二是暴露即時 schema 與工具的 MCP servers。外掛倉庫內有三十七項 skills,採 Apache 2.0 授權,每一項的 frontmatter 都標明 Google 為發布者。它也有正式版本控管,1.0.0 於九月二十九日切出,1.1.0 於十月十三日發布,讓團隊可以釘住特定版本。
其中一項 skills 叫 accidental-data-loss-prevention,目的在阻止代理破壞東西。它的描述以「STOP AND VERIFY」開頭,告訴代理在任何不可逆動作前必須取得使用者明確同意,並列出 DROP TABLE、TRUNCATE、缺少 WHERE 子句或使用 1=1 的 DELETE、對生產 bucket 的儲存刪除、gcloud projects delete,以及 KMS 金鑰銷毀。程序是暫停、說明影響、等待肯定同意。這裡的關鍵在於,這道護欄是建議。代理被要求遵守,但建議終究只是建議。
IAM 才是強制層
第二種控制不是建議。Nelson 在 LinkedIn 貼文中被問到,能否把唯讀調查與會修改基礎設施的工具隔離,他回答這件事是在 IAM 處理,而不是逐代理設定:可以把代理當成唯讀服務帳戶,透過模擬(impersonation)執行,或者使用 IAM deny policy,封鎖任何 tool.isReadOnly 為 false 的 MCP tool。
文件給出的條件是 api.getAttribute('mcp.googleapis.com/tool.isReadOnly', false) == false。它會拒絕 mcp.googleapis.com/tools.call 權限,並可套用在組織、資料夾或專案層級。伴隨的屬性還包括 resource.service 與 tool.name。
這套做法有三個限制。第一,被阻擋的工具仍然會出現在 tools/list,代理看得見自己不能用的能力,直到呼叫時才發現。第二,這些控制只涵蓋 Google Cloud 的 MCP servers,其他範圍不在內。第三,resource.service 與 tool.name 只在 gcloud 提供,主控台沒有。
授權不等於可重試的安全執行
AI 解決方案架構師 Amel Habira 讀完文件後表示受到鼓舞,他注意到短效憑證、唯讀屬性,以及代理執行 notebook 儲存格前的警告。他寫道,若再結合 Iceberg 端的分支與 time travel,就能想像在存取層與資料層同時做到圍堵。viaSocket 的 AI 工程師 Ankit Dongre 則把邊界畫得更遠:他認為 MCP 存取是簡單的部分,真正的生產邊界是權限範圍加上可重複安全執行,也就是當代理在逾時後重試寫入會發生什麼,或 schema 在執行中途改變會怎樣。IAM 與 dry run 涵蓋了授權與預檢,但他補充,它們不會告訴代理逾時的寫入是否已經提交。他主張第一級結果應該攜帶 idempotency key,再加上提交狀態與可回滾性。Data Agent Kit 目前的工具結果並沒有這些。
微軟把這個決定放在別的地方。其 Agent 365 與 Azure API Management 的整合處於公開預覽,將治理意圖放在 Microsoft 365 管理介面,並在閘道強制執行;其中逐工具封鎖需要預覽層級,而應用程式金鑰是閘道範圍,會觸及每個模型與工具。Google 則用客戶已經熟悉的 IAM 語言逐工具授權,並傳播使用者身分,讓資料列與資料行層級的安全性仍然適用。
導入節奏上,自架工作負載自動化廠商 Conductral 創辦人 Timon Knapp 指出,把代理接上 Airflow 這類即時環境很強大,但從多年執行生產批次作業的經驗出發,他會先從唯讀存取與建議開始,任何改變排程或重跑工作的動作都交由人工確認。乾淨的稽核軌跡能讓之後給代理更多權限變得容易許多。Data Agent Kit 除了代理實際使用的 Google Cloud 服務費用外,本身不收費,skills 也放在 GitHub 上可 fork。
影響與限制
整體來看,GA 讓 Data Agent Kit 從預覽走向可被團隊釘版本、可安裝進多種代理的工具組。它把「告訴代理怎麼做」與「不讓代理做某些事」拆成兩層:skills 是引導與建議,IAM 才是強制。這種分工讓既有的雲端權限模型得以延伸,但也留下三個實際缺口:被阻擋工具的可見性、涵蓋範圍僅限 Google Cloud MCP servers,以及 gcloud 與主控台之間的屬性落差。更根本的是,授權與預檢並不等於執行結果的可追蹤性,當寫入在逾時後重試,代理仍需要冪等鍵與提交狀態才能安全運作。這也是目前各家代理治理架構仍在補的洞。
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。