google-agents-cli-scaffold

google-agents-cli-scaffold

熱門

當使用者想要「建立 Agent 專案」、「啟動新的 ADK 專案」、「幫我建立新 Agent」、「為專案新增 CI/CD」、「新增部署」、「增強專案」或「升級專案」時應使用此 Skill。屬於 Google ADK (Agent Development Kit) Skill 套件的一部份。涵蓋 `agents-cli scaffold create`、`scaffold enhance` 與 `scaffold upgrade` 指令、範本選項、部署目標以及原型優先 (prototype-first) 工作流程。請勿用於編寫 Agent 程式碼(請改用 google-agents-cli-adk-code)或部署操作(請改用 google-agents-cli-deploy)。

3081星標
487分支
更新於 2026/6/22
SKILL.md
唯讀
名稱
google-agents-cli-scaffold
描述

當使用者想要「建立 Agent 專案」、「啟動新的 ADK 專案」、「幫我建立新 Agent」、「為專案新增 CI/CD」、「新增部署」、「增強專案」或「升級專案」時應使用此 Skill。屬於 Google ADK (Agent Development Kit) Skill 套件的一部份。涵蓋 `agents-cli scaffold create`、`scaffold enhance` 與 `scaffold upgrade` 指令、範本選項、部署目標以及原型優先 (prototype-first) 工作流程。請勿用於編寫 Agent 程式碼(請改用 google-agents-cli-adk-code)或部署操作(請改用 google-agents-cli-deploy)。

ADK 專案腳手架指南

前置需求: agents-cli (uv tool install google-agents-cli) — 若需要請先 安裝 uv

使用 agents-cli CLI 工具建立新的 ADK Agent 專案,或為現有專案擴充部署設定、CI/CD 與基礎架構腳手架。


前置步驟:明確需求(新建專案必做)

在產生新專案骨架前,請先載入 /google-agents-cli-workflow 並完成 Phase 0 — 在執行任何 scaffold create 指令前,先與使用者確認需求。詢問 Agent 應該具備什麼功能、需要哪些工具/API,以及需要的是原型還是完整部署。


步驟 1:選擇架構

將使用者的選擇對應至 CLI 旗標:

需求對應 CLI 旗標
搭配向量搜尋的 RAG --agent agentic_rag --datastore agent_platform_vector_search
搭配文件搜尋的 RAG --agent agentic_rag --datastore agent_platform_search
A2A 協定 --agent adk_a2a
原型(不含部署) --prototype
部署目標 --deployment-target <agent_runtime|cloud_run|gke>
CI/CD 執行器 --cicd-runner <github_actions|google_cloud_build>
Session 儲存機制 --session-type <in_memory|cloud_sql|agent_platform_sessions>

產品名稱對應

原名 "Vertex AI" 的平台現已改名為 Gemini Enterprise Agent Platform(簡稱 Agent Platform)。使用者可能會使用舊稱或不同名稱指稱產品,請對應至正確的 CLI 參數值:

使用者可能會說 CLI 參數值
Agent Engine, Vertex AI Agent Engine, Agent Runtime --deployment-target agent_runtime
Vertex AI Search, Agent Search --datastore agent_platform_search
Vertex AI Vector Search, Vector Search --datastore agent_platform_vector_search
Agent Engine sessions, Agent Platform Sessions --session-type agent_platform_sessions

vertexai Python SDK 套件名稱保持不變。


步骤 2:建立或擴充專案

建立新專案

agents-cli scaffold create <project-name> \
  --agent <template> \
  --deployment-target <target> \
  --region <region> \
  --prototype

限制事項:

  • 專案名稱必須在 26 個字元以內,僅能包含小寫英文字母、數字與連字號 (-)。
  • 請勿在執行 create 前手動 mkdir 建立專案目錄 — CLI 會自動建立。如果先建立了目錄,create 可能會失敗或出現預期之外的行為。
  • 根據目前執行的 IDE 自動偵測指引檔名,並傳入對應的 --agent-guidance-filename 參數(Gemini CLI 使用 GEMINI.md、Claude Code 使用 CLAUDE.md、OpenAI Codex 或其他工具使用 AGENTS.md)。
  • 在擴充現有專案時,請檢查 Agent 程式碼放置位置。若非存放在 app/ 目錄中,請傳入 --agent-directory <dir>(例如 --agent-directory agent)。如果設錯目錄,增強程序會找不到或放錯檔案。

參考文件

檔案 內容描述
references/flags.md createenhance 指令的完整旗標參考文件

擴充現有專案

agents-cli scaffold enhance . --deployment-target <target>
agents-cli scaffold enhance . --cicd-runner <runner>

請在專案目錄內執行(或傳入專案路徑代替 .)。

升級專案

將現有專案升級至較新的 agents-cli 版本,智慧套用更新的同時保留你的客製化修改:

agents-cli scaffold upgrade                # 升級目前目錄的專案
agents-cli scaffold upgrade <project-path> # 升級指定路徑的專案
agents-cli scaffold upgrade --dry-run      # 預覽變更而不實際套用
agents-cli scaffold upgrade --auto-approve  # 自動套用無衝突的變更

執行模式

CLI 預設使用嚴格程式化模式 (strict programmatic mode) — 所有必需的參數都必須透過 CLI 旗標指定,否則會拋出 UsageError。無需傳入確認旗標,所有必要參數請明確指定。

常見工作流程

執行這些指令前務必先詢問使用者。 列出所有選項(例如 CI/CD 執行器、部署目標等)並經使用者確認後再執行。

# 為現有的原型新增部署設定(嚴格程式化模式)
agents-cli scaffold enhance . --deployment-target agent_runtime

# 新增 CI/CD 管線(先詢問:GitHub Actions 或 Cloud Build?)
agents-cli scaffold enhance . --cicd-runner github_actions

範本選項

範本名稱 部署目標 說明
adk Agent Runtime, Cloud Run, GKE 標準 ADK Agent(預設)
adk_a2a Agent Runtime, Cloud Run, GKE Agent 對 Agent 協調架構(A2A 協定)
agentic_rag Agent Runtime, Cloud Run, GKE 包含資料載入管線的 RAG 範本

部署選項

部署目標 說明
agent_runtime 由 Google 全託管 (Vertex AI Agent Runtime)。自動處理 Session 狀態。
cloud_run 基於容器的部署。掌控度更高,需要提供 Dockerfile。
gke 在 GKE Autopilot 上進行容器部署。擁有完整的 Kubernetes 控制權。
none 不產生部署腳手架,僅產生程式碼。

「原型優先 (Prototype First)」模式(推薦)

建議先加上 --prototype 旗標以跳過 CI/CD 與 Terraform。初期專注於讓 Agent 正常運作,後續再透過 scaffold enhance 追加部署設定:

# 步驟 1:建立原型專案
agents-cli scaffold create my-agent --agent adk --prototype

# 步驟 2:疊代開發與調整 Agent 程式碼...

# 步驟 3:準備就緒後新增部署設定
agents-cli scaffold enhance . --deployment-target agent_runtime

Agent Runtime 與 session_type

當使用 agent_runtime 作為部署目標時,Agent Runtime 會在內部自動管理 Session。若你的程式碼中有設定 session_type,請將其清除 — 因為 Agent Runtime 會覆蓋該設定。


步驟 3:載入開發工作流程

腳手架建置完成後,請立即載入 /google-agents-cli-workflow — 其中包含實作 Agent 時必須遵循的開發流程、程式碼規範與操作規則。

需客製化的核心檔案: app/agent.py(System Instruction、Tools、Model)、app/tools.py(自訂工具函式)、.env(Project ID、Location、API Key)。
需保留的檔案: agents-cli-manifest.yaml(CLI 讀取用)、deployment/ 下的部署設定檔、Makefileapp/__init__.py(其中的 App(name=...) 名稱必須與目錄名一致 — 預設為 app)。

RAG 專案 (agentic_rag) — 必須先建置 Datastore:
在執行 agents-cli playground 或測試 RAG Agent 之前,必須先建置 Datastore 並載入資料:

agents-cli infra datastore   # 建立 Datastore 基礎架構
agents-cli data-ingestion    # 將資料載入至 Datastore

請使用 infra datastore而非 infra single-project。兩者皆可建置 Datastore,但 infra datastore 速度更快,因為它會跳過無關的 Terraform。若未執行此步驟,Agent 將無法搜尋到資料。

Vector Search 位置設定: vector_search_location 預設為 us-central1,與 region (us-east1) 獨立開來。它同時決定了 Vector Search Collection 位置與 BQ Ingestion Dataset 的位置,放在同一區塊以避免跨區域資料傳輸。若需修改可在每次執行時以 agents-cli data-ingestion --vector-search-location <region> 覆蓋。

驗證 Agent 是否正常運作: 先使用 agents-cli run "test prompt" 進行快速冒煙測試 (smoke test),接著使用 agents-cli eval generateagents-cli eval grade 進行系統化的評測驗證。請勿撰寫直接斷言 LLM 回覆內容的 pytest 單元測試 — 這類測試應屬於 eval 範疇。


將腳手架作為參考範例

當你只需要特定檔案(如 Terraform、CI/CD 工作流、Dockerfile),但不想直接在目前專案套用腳手架時,可以在 /tmp/ 建立臨時參考專案:

agents-cli scaffold create /tmp/ref-project \
  --agent adk \
  --deployment-target cloud_run

檢視產生的檔案,節錄所需部分並複製到實際專案中。完成後刪除臨時專案即可。

此做法適用於以下情境:

  • enhance 無法處理的非標準專案結構
  • 只需要挑選特定基礎架構檔案 (Cherry-picking)
  • 在正式採用前想先了解 CLI 會產生哪些內容

關鍵規則

  • 絕不可以跳過需求確認 — 執行 scaffold create 前必須先載入 /google-agents-cli-workflow Phase 0 與使用者確認意圖
  • 絕對不可修改既有程式碼中的模型,除非使用者明確要求
  • 絕不可在 create 前執行 mkdir — 目錄應由 CLI 建立;預先建立目錄會導致 CLI 判斷為 enhance 模式而非 create 模式
  • 未經詢問絕不可建立 Git 儲存庫或 Push 到遠端 — 務必先確認儲存庫名稱、公開/私有屬性,以及使用者是否真的需要建立
  • 選擇 CI/CD 執行器前務必先詢問 — 主動提供 GitHub Actions 與 Cloud Build 選項供選擇,切勿預設靜默決定
  • Agent Runtime 會覆蓋 session_type — 若部署至 agent_runtime,請從程式碼中移除所有 session_type 設定
  • 優先使用 --prototype 開始以進行快速疊代 — 後續再透過 enhance 新增部署設定
  • 專案名稱長度必須 ≤ 26 個字元,全小寫,僅限字母、數字與連字號 (-)
  • 絕不可從頭手寫 A2A 程式碼 — A2A 的 Python API 介面(匯入路徑、AgentCard schema、to_a2a() 簽署)相當複雜且會隨版本更迭。請一律使用 --agent adk_a2a 建立 A2A 專案腳手架。

範例

將腳手架作為參考範例:
使用者表示:「我的非標準專案需要一份 Dockerfile」
操作步驟:

  1. 建立臨時專案:agents-cli scaffold create /tmp/ref --agent adk --deployment-target cloud_run
  2. 從 /tmp/ref 複製相關檔案(如 Dockerfile 等)
  3. 刪除臨時專案
    結果:順利將基礎架構檔案改編並套用至實際專案中

A2A 專案:
使用者表示:「幫我建立一個暴露 A2A 介面並部署到 Cloud Run 的 Python Agent」
操作步驟:

  1. 遵循標準流程(了解需求、選擇架構、建立腳手架)
  2. agents-cli scaffold create my-a2a-agent --agent adk_a2a --deployment-target cloud_run --prototype
    結果:獲得合法的 A2A 匯入與 Dockerfile — 全程無須手寫 A2A 程式碼。

疑難排解

找不到 agents-cli 指令

請參閱 /google-agents-cli-workflowSetup 章節。


相關 Skills

  • /google-agents-cli-workflow — 開發工作流程、程式碼規範與建置-評測-部署生命週期
  • /google-agents-cli-adk-code — 用於撰寫 Agent 程式碼的 ADK Python API 快速參考手冊
  • /google-agents-cli-deploy — 部署目標、CI/CD 管線與生產環境工作流程
  • /google-agents-cli-eval — 評測方法論、資料集 Schema 與評測修復 (eval-fix) 迴圈