
google-agents-cli-scaffold
热门当用户想要“创建 Agent 项目”、“启动新的 ADK 项目”、“帮我构建一个新 Agent”、“为项目添加 CI/CD”、“添加部署配置”、“增强现有项目”或“升级项目”时,应当使用此 Skill。 本 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)。
当用户想要“创建 Agent 项目”、“启动新的 ADK 项目”、“帮我构建一个新 Agent”、“为项目添加 CI/CD”、“添加部署配置”、“增强现有项目”或“升级项目”时,应当使用此 Skill。 本 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,请先参考 安装 uv。
使用 agents-cli 命令行工具新建 ADK Agent 项目,或为现有项目补充部署、CI/CD 及基础设施脚手架。
前置要求:明确需求(新项目强制执行)
在生成新项目脚手架之前,必须先加载 /google-agents-cli-workflow 并完成阶段 0(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 Runner | --cicd-runner <github_actions|google_cloud_build> |
| 会话持久化存储 | --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 |
Python SDK 的包名 vertexai 保持不变。
步骤 2:创建或增强项目
创建新项目
agents-cli scaffold create <project-name> \
--agent <template> \
--deployment-target <target> \
--region <region> \
--prototype
约束条件与注意事项:
- 项目名称长度不得超过 26 个字符,且仅能包含小写字母、数字和连字符(
-)。 - 切勿在运行
create命令之前手动创建项目目录(mkdir)——CLI 会自动创建目录。如果提前mkdir,会导致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 |
create 与 enhance 命令的完整参数参考文档 |
增强现有项目
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 flag 显式传入,否则会抛出 UsageError。无需确认标志,直接显式传入全部必需参数即可。
常见工作流
在运行以下命令前,务必先询问用户。 列出所有可选配置(如 CI/CD Runner、部署目标等),获得用户确认后再执行。
# 为已有原型添加部署配置(严格编程式模式)
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 间协作(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 选项,跳过 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(指令、工具集、模型)、app/tools.py(自定义工具函数)、.env(项目 ID、Region 位置、API Key)。
需保留勿动的文件: agents-cli-manifest.yaml(CLI 依赖此文件)、deployment/ 目录下的部署配置、Makefile、app/__init__.py(其中的 App(name=...) 必须与目录名保持一致,默认即为 app)。
RAG 项目(agentic_rag)——需优先创建数据存储:
在运行 agents-cli playground 或测试 RAG Agent 之前,必须先创建数据存储基础设施并导入数据:
agents-cli infra datastore # 创建数据存储基础设施
agents-cli data-ingestion # 将数据导入数据存储
请使用 infra datastore——不要使用 infra single-project。虽然二者都能创建数据存储,但 infra datastore 会跳过无关的 Terraform 流程,速度更快。如果不执行此步骤,Agent 将无法检索到数据。
Vector Search 区域设置:
vector_search_location默认值为us-central1,与主region(如us-east1)相互独立。它同时决定 Vector Search Collection 和 BQ 导入数据集的区域,二者同地域放置以避免跨区域数据传输。可在每次调用时添加--vector-search-location <region>进行覆盖。
验证 Agent 是否正常工作: 使用 agents-cli run "测试提示词" 进行快速冒烟测试,接着通过 agents-cli eval generate 和 agents-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无法处理的非标准项目结构- 挑选提取特定的基础设施文件
- 在正式引入前预览并了解 CLI 会生成哪些配置文件
核心硬性规则
- 严禁跳过需求澄清:在运行
scaffold create前,必须先加载/google-agents-cli-workflow阶段 0 并明确用户意图。 - 严禁擅自修改模型:除非用户明确要求,否则切勿修改已有代码中的 model 设置。
- 严禁提前创建目录:不要在
create之前手动mkdir——CLI 会自行创建目录;提前创建会导致 CLI 误识别为 enhance 模式而非 create 模式。 - 未经确认严禁创建/推送到 Git 远程仓库:必须先向用户确认仓库名称、公开/私有属性以及是否确实需要创建仓库。
- 选择 CI/CD Runner 时必须先询问:明确列出 GitHub Actions 与 Cloud Build 供用户选择,切勿默默使用默认项。
- Agent Runtime 会清空 session_type:若部署目标为
agent_runtime,请从代码中移除任何session_type配置。 - 优先使用
--prototype开启快速迭代:先跑通原型,后续再通过enhance补充部署配置。 - 项目命名限制:名称长度不得超过 26 个字符,且仅支持小写字母、数字和连字符。
- 严禁从头手写 A2A 代码:A2A 的 Python API 接口(导入路径、
AgentCardschema、to_a2a()签名等)较为复杂且随版本演进。构建 A2A 项目时务必使用--agent adk_a2a脚手架。
示例
将脚手架作为参考范例:
用户需求:“我的项目结构是非标准的,需要一个 Dockerfile。”
操作步骤:
- 创建临时项目:
agents-cli scaffold create /tmp/ref --agent adk --deployment-target cloud_run - 从
/tmp/ref复制相关文件(如 Dockerfile 等) - 删除临时项目
最终结果:成功将基础设施文件按需适配移入实际项目中。
A2A 项目:
用户需求:“帮我构建一个支持 A2A 协议并部署到 Cloud Run 的 Python Agent。”
操作步骤:
- 遵循标准流程(明确需求 -> 选择架构 -> 创建脚手架)
- 运行命令:
agents-cli scaffold create my-a2a-agent --agent adk_a2a --deployment-target cloud_run --prototype
最终结果:获得规范的 A2A 模块导入与 Dockerfile,无需手写任何底层 A2A 逻辑。
常见问题排查
找不到 agents-cli 命令
请参阅 /google-agents-cli-workflow 中的 Setup(环境配置) 章节。
相关 Skill
/google-agents-cli-workflow— 开发工作流、编码规范及构建-评估-部署的全生命周期管理/google-agents-cli-adk-code— 用于编写 Agent 代码的 ADK Python API 快速参考/google-agents-cli-deploy— 部署目标平台、CI/CD 流水线及生产环境工作流/google-agents-cli-eval— 评估方法论、数据集 Schema 以及“评估-修复”闭环迭代





