Snowflake 公開預覽了「CoCo automations」,能夠依排程執行 AI 代理。只要登錄一段提示詞,即使關閉終端機或瀏覽器,代理仍會在 Snowflake 託管的沙箱中定期執行。透過 CLI 與 Snowsight 建立的自動化工作屬於同一種物件,此功能在 AWS、Azure 與 Google Cloud 的所有商用區域皆可使用。

要登錄的只有一段提示詞

automations 的概念相當單純:用自然語言寫下想執行的內容,再指定執行頻率即可。每一次執行都會留下一條 Cortex 執行緒,事後可以打開查看代理交換了哪些訊息、呼叫了哪些工具,以及最後回覆了什麼。

Snowflake 舉出的用途包括產生每日績效摘要、檢查指標異常、監控倉儲用量與成本、檢查資料新鮮度、執行定期的資料品質或程式碼儲存庫維護流程,以及從已連接的 MCP 伺服器產生定期摘要。換句話說,就是過去得靠人每天早上盯著儀表板才會發現的那類工作。

在 Snowsight 中可以從範本開始或從零建立,填入標題與指示、選擇模型,再設定頻率、星期、時間與時區。也可以直接在對話中請 CoCo 處理,例如請它在平日早上 9 點確認前一天的管線故障並簡短彙整。使用 CLI 時的寫法如下。

cortex automation create \
  --name pipeline_health \
  --prompt "Check pipeline failures from the last hour and summarize the likely causes." \
  --schedule "every 60 minutes"

排程既支援「every 4 hours」這類間隔寫法,也支援「daily at 9am」「every Tuesday at 1:15pm」等形式。若一次列出多個每週時間點,內部有可能建立多個工作。

執行發生在 Snowflake 準備的沙箱中

建立的自動化工作會以 AGENT TASK 的形式儲存在個人資料庫底下。排程觸發時,Snowflake 會以建立者的身分執行已儲存的提示詞,在託管沙箱中備妥工作目錄並啟動 CoCo。不需要倉儲,工作狀態、耗時、查詢 ID 與錯誤都會記錄在執行紀錄中。

若是從 CLI 建立,使用者的工作區暫存區會掛載為工作目錄,寫入其中的檔案會保留到後續的執行。也可以指定其他暫存區,或是取消掛載,讓工作目錄每次用完即丟。

權限跟著建立者走

在維運層面最需要留意的正是這一點。automations 採用呼叫者權限模式,執行時生效的是建立者的預設角色與預設次要角色,建立當下 CoCo 工作階段所使用的角色並不會被記錄。因此可能出現互動測試時一切正常,排程執行卻因權限不足而失敗、或是回傳不完整結果的落差。

此外,使用 automations 所需的 EXECUTE AGENT TASK 權限,預設就授予 PUBLIC 角色。管理者若不調整,帳戶內的所有使用者都能建立排程執行。想縮小範圍,必須先從 PUBLIC 收回該權限,再授予需要的角色。

REVOKE EXECUTE AGENT TASK ON ACCOUNT FROM ROLE PUBLIC;
GRANT EXECUTE AGENT TASK ON ACCOUNT TO ROLE automation_user;

由於是無人值守執行,互動時會出現的工具執行確認提示將被停用。該次執行可使用的工具無需等待核准即會運作,Snowflake 也明確指出,除非提示詞、角色權限、連接的工具與目標物件是刻意如此設定,否則不應將破壞性或無法復原的操作排進排程。若使用者的預設次要角色包含其被授予的所有角色,執行所能觸及的範圍會相當廣,這點同樣值得記在心上。

掛鉤失敗也會被記錄成成功

每次執行的前後都能插入 bash 指令作為掛鉤。它不會消耗代理的對話輪次,每次都執行相同處理,適合用在複製儲存庫、事後清理這類固定作業。

不過其行為有些眉角。掛鉤異常結束並不會讓執行本身被判定為失敗。前置掛鉤失敗時沙箱會維持在無法使用的狀態,代理仍會啟動並回覆「無法完成工作」,但工作紀錄上記載的是成功。如果由後置掛鉤以 git push 發布結果,就可能發生成果遺失卻顯示成功的情況。掛載的暫存區不支援對既有檔案追加內容,Git 會在寫入參考日誌時卡住,因此需要提交的處理建議複製到掛載目錄之外。只看工作狀態並不足夠,必須打開執行緒的紀錄確認。

預覽階段的限制

目前可指定的最短執行間隔為每小時 1 次。CLI 的解析器雖然接受更短的寫法,但預覽階段並不支援。執行緒與執行紀錄的保留期為 2 個月,觸發方式僅支援以時間為準的排程,不支援事件觸發。也無法中途接入執行中的工作階段繼續對話,只能透過紀錄與執行緒進行唯讀檢視。政府、FedRAMP、DoD、VPS 與中國部署環境並不提供此功能。費用方面,預覽期間除了每次執行的權杖消耗之外,還會產生一般的工作計費。

總結

CoCo automations 把原本得靠對話使用的代理,轉為在指定時刻自行運作的機制。全程在資料平台內部完成、每次執行都以執行緒形式留存,從維運角度看是相當好掌握的設計。另一方面,權限綁定建立者的預設角色、EXECUTE AGENT TASK 預設授予 PUBLIC、掛鉤失敗仍記錄為成功,這幾項都值得在正式上線之前逐一確認。越是無人值守運作的東西,越值得先手動跑過一次並讀完紀錄。