iT邦幫忙

2026 iThome 鐵人賽

DAY 27
0

被問過一個問題:「既然要在 GCP 上跑 agent,為什麼不用 Vertex AI Agent Runtime,而要用 Cloud Run?」

先講一個容易混淆的事:Agent Runtime 的前身是 Agent Engine,已經改名。查資料時兩個名字都會遇到。

這篇的內容全部是文件層認知,我沒有實跑過遷移。 下面每一條都請當成「查到的限制」而不是「測到的結果」。之所以還是寫出來,是因為這幾條會讓照著 Cloud Run 直覺去做的人直接撞牆。

三個硬性限制

沒有 gcloud 子命令。

Agent Runtime 沒有 gcloud CLI 介面。部署只能用 agents-cli deploy,查詢要走 Python 的 vertexai.Client SDK。

這點會打到所有既有的自動化。你的 CI 腳本、你的部署 alias、你熟悉的 gcloud run services describe,全部要重寫。

Dockerfile 是硬需求。

它是容器部署但不提供 --source 自動偵測。映像由 Agent Engine 依專案的 Dockerfile 建置,沒有 Dockerfile 就失敗。

Cloud Run 那種「指著原始碼目錄就會自己想辦法」的體驗在這裡沒有。專案沒有 Dockerfile 的話要先跑:

agents-cli scaffold enhance . --deployment-target agent_runtime

不能匿名存取。

沒有 --allow-unauthenticated 的對應物。agent 之間互打要帶 IAM token。

這對 A2A 情境影響直接:你的 orchestrator 抓 agent card、送 message/send,每一發都要處理認證。

另外兩件事

部署要 5 到 10 分鐘。 一律加 --no-wait 再用 agents-cli deploy --status 輪詢,否則 Cloud Shell 斷線就白等。

沒有 revision rollback。 Cloud Run 那種「切回上一版」的操作不存在,只能改碼重新部署。這在出事的時候是很大的差別。

要不要真的搬

我的判斷是:如果目的是學 A2A 協定,留在 Cloud Run 更省事。

Agent Runtime 提供的是託管的 session 管理、內建的可觀測性、與 Vertex AI 生態的整合。這些在系統成熟之後有價值,但在你還在搞懂協定怎麼運作的階段,它們只是額外的變數。

反過來說,如果你已經跑起來了、開始煩惱 session 存哪、trace 怎麼看,那時候再評估遷移比較合理。

一個估工檢查表

被問「能不能搬到 Agent Platform」時,先確認三件事再估時間:

  1. 專案有沒有 Dockerfile
  2. 對方知不知道它不能匿名存取
  3. 部署要輪詢,不能同步等

這三條都是「不知道就會白花半天」的類型。


上一篇
Day 26:Cloud Run(下)服務帳號與刪除指令
下一篇
Day 28:Gemini Enterprise(上)註冊流程與一個省下一小時的診斷順序
系列文
ADK × A2A × Cloud Run 打造可部署、可互通的 Agent 系統 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言