ByteNoteByteNote
Google Agents CLI:从搭建到部署一条命令
字

字节笔记本

2026年10月6日 · 约 25 分钟读完

Google Agents CLI:从搭建到部署一条命令

API中转
¥120

参考:google/agents-cli(GitHub,Apache 2.0 开源) | Agents CLI 官方公告(Google Developers Blog) | Google Cloud Next '26

Karpathy 几个月前提出了一个概念叫 agentic engineering。他说未来工程师的核心工作不再是写代码,而是设计 spec、写 eval、做安全审查:让 Agent 写代码,人做 oversight。

概念很好,但问题很现实:工具跟不上。 你让 Agent 写 agent,但搭建、测试、评估、部署的流程全靠手动,没有一个工具串起来。

Google 在 Cloud Next '26 上发布了 Agents CLI:一个命令行工具,一条命令把 7 个 Skill 注入你的 Coding Agent(Claude Code、Gemini CLI、Cursor 都行),从脚手架搭建到部署上线,全流程覆盖。

这篇文章把 Agents CLI 拆开讲清楚,同时把 Karpathy 的 agentic engineering 方法论和这个工具怎么对应起来,给你一个完整的认知地图。

Agentic Engineering 是什么:Karpathy 的核心论点

先说清楚这个概念,否则 Agents CLI 的价值你看不出来。

Vibe Coding vs Agentic Engineering

Vibe Coding(随性编码):你对 AI 说"帮我写一个 TODO App",AI 写出来,你觉得差不多就用。没有 spec,没有测试,没有 eval,没有安全审查。

Agentic Engineering:你在 AI 动手之前,先设计 spec(规格说明),定义 eval(评估标准),设定安全边界,然后让 AI 在你画的框里写代码。AI 写完,你跑 eval,审查 diff,确认安全,然后合并。

Karpathy 的核心论点:vibe coding 能做 demo,agentic engineering 才能做产品。

Agentic Engineering 的五个核心技能

技能做什么为什么重要
Spec Design在 Agent 动手前写清楚"要做什么、不做什么、边界在哪"没有 spec,Agent 的输出不可预测
Diff Review人工审查 Agent 生成的每一行代码变更Agent 会犯错,需要人把关
Eval Loops用结构化的评估集反复测试 Agent 的输出质量eval 是唯一的自动化质量保证
Security Oversight检查 Agent 是否引入安全漏洞、数据泄露、权限滥用Agent 有访问权限,但没有安全意识
Taste / Judgment在 spec 层面做架构决策和技术选型Agent 不做决策,人做决策

关键转变:工程师的角色从"写代码的人"变成"设计 spec + 做 oversight 的人"。代码是 Agent 写的,但系统的质量由工程师的 spec 和 eval 决定。

Google Agents CLI 是什么:一句话和三句话

一句话:一个 CLI 工具,把你的 Coding Agent 变成 ADK(Agent Development Kit)专家,一条命令完成从搭建到部署的全流程。

三句话:

  1. Skills-based 架构:7 个内置 Skill 注入 Coding Agent 的上下文,教它 ADK 的模式和最佳实践
  2. 全生命周期覆盖:Scaffold → Build → Test → Eval → Deploy,每一步都有对应的 Skill 指导
  3. 多 Agent 兼容:支持 Claude Code、Gemini CLI、Cursor、Windsurf 等主流 Coding Agent,不绑定 Google 的模型

7 个 Skill 分别干什么

一条安装命令注入 7 个 Skill:

bash
npx agents-cli skills install

Agents CLI 架构:一条命令把 7 个 Skill 注入 Coding Agent,覆盖 ADK 项目从搭建到部署

Skill干什么对应 Agentic Engineering 哪个环节
scaffold搭建 ADK Agent 的项目结构项目初始化
build编写 Agent 的 tools、instructions、model 配置Spec Design(把 spec 翻译成代码)
test本地运行和调试 AgentDiff Review 的前置条件
eval运行结构化评估、写 eval 数据集、分析失败Eval Loops(核心)
spec设计 Agent 的行为规格Spec Design(核心)
security安全审查 Agent 的权限、数据流、工具调用Security Oversight(核心)
deploy部署到 Agent Runtime / Cloud Run / GKE部署上线

注意对应关系:Karpathy 说的五个核心技能,Agents CLI 的 7 个 Skill 覆盖了其中三个(spec、eval、security),另外两个(diff review、taste)仍然是人工职责。

完整上手流程:从零到部署一个 Agent

前置条件

  • 一个 Google Cloud 项目(有 billing account)
  • Node.js 18+
  • 一个 Coding Agent(Claude Code / Gemini CLI / Cursor 任选其一)

Step 1:安装 Agents CLI

bash
npm install -g @google/agents-cli

Step 2:初始化项目

bash
mkdir my-agent && cd my-agent
npx agents-cli init

# 交互式选择:
# - Agent name: expense-tracker
# - Model: gemini-2.5-flash(便宜快速)或 gemini-2.5-pro(能力强)
# - Tools: RAG(知识库检索)/ Custom Tools(自定义工具)/ Google Search / Code Execution / grounding

这个命令会生成一个标准的 ADK 项目结构:

text
my-agent/
├── agent.py              # Agent 入口:定义 tools、instructions、model
├── requirements.txt       # Python 依赖
├── eval/
│   ├── eval_dataset.jsonl # Eval 测试集
│   └── eval_config.yaml   # Eval 配置
├── deploy/
│   ├── deployment.yaml    # 部署配置
│   └── secrets.yaml       # 密钥配置
└── .agents/
    └── skills/            # 7 个 injected skills

Step 3:安装 Skills 到你的 Coding Agent

bash
# 在项目根目录执行
npx agents-cli skills install

# Skills 会安装到:
# - .agents/skills/(通用)
# - .claude/skills/(Claude Code)
# - .cursor/skills/(Cursor)
# 同时通过 symlink 链接到你使用的所有 Agent

现在打开 Claude Code / Cursor,Agent 已经知道怎么搭 ADK Agent 了。

Step 4:让 Coding Agent 搭建你的 Agent

text
# 在 Claude Code / Cursor 里:
"用 /scaffold skill 搭建一个 expense-tracker agent,
它能记录费用、分类、查询月度报表,
数据存在 Cloud Firestore 里。"

Coding Agent 会读取 scaffold skill 的指引,生成 agent.py:

python
from google.adk import Agent, Tool

def log_expense(amount: float, category: str, description: str) -> dict:
    """Log a new expense to Cloud Firestore."""
    # ... Firestore 写入逻辑
    return {"status": "logged", "amount": amount, "category": category}

def get_monthly_report(month: str, year: int) -> dict:
    """Query expenses for a given month and generate a report."""
    # ... Firestore 查询逻辑
    return {"month": month, "year": year, "total": total, "by_category": breakdown}

agent = Agent(
    name="expense-tracker",
    model="gemini-2.5-flash",
    instructions="""You are an expense tracking assistant.
    Help users log expenses, categorize them, and generate monthly reports.
    Always confirm the amount and category before logging.""",
    tools=[log_expense, get_monthly_report],
)

Step 5:本地测试

bash
# 用 eval skill 的指引运行本地测试
npx agents-cli test

# 或用 ADK 的内置 dev server
adk dev --port 8080
# 打开 http://localhost:8080 交互式测试你的 Agent

Step 6:写 Eval 数据集

text
# 在 Claude Code / Cursor 里:
"用 /eval skill 为 expense-tracker 写一个 eval 数据集,
覆盖以下场景:
1. 正常记录费用
2. 金额为负数(应该拒绝)
3. 类别不在预定义列表中(应该建议替代)
4. 查询不存在月份的报表(应该返回空而不是报错)
5. 同一天记录超过 50 条费用(应该警告)
"

Coding Agent 会生成 eval/eval_dataset.jsonl:

jsonl
{"input": "记录午餐 35 元,类别餐饮", "expected_behavior": "should call log_expense with amount=35, category=food", "pass_criteria": "expense logged successfully"}
{"input": "记录 -100 元退款", "expected_behavior": "should reject negative amount", "pass_criteria": "error message about invalid amount"}
{"input": "记录打车费 50 元,类别交通", "expected_behavior": "should call log_expense with amount=50, category=transport", "pass_criteria": "expense logged successfully"}
{"input": "查询 2026 年 13 月的报表", "expected_behavior": "should reject invalid month", "pass_criteria": "error message about invalid month"}
{"input": "记录办公耗材 200 元", "expected_behavior": "should suggest category 'office_supplies' and ask for confirmation", "pass_criteria": "category suggestion presented"}

运行 eval:

bash
npx agents-cli eval run

# 输出:
# Test case 1/5: [PASS]
# Test case 2/5: [PASS]
# Test case 3/5: [FAIL] Agent logged the expense without confirming category
# Test case 4/5: [PASS]
# Test case 5/5: [PASS]
#
# Summary: 4/5 passed (80%)
# Failures: see eval/results/failure_analysis.md

Step 7:安全审查

text
# 在 Claude Code / Cursor 里:
"用 /security skill 审查 expense-tracker 的安全风险。"

Coding Agent 会检查:

  • Agent 是否有过度权限(比如能删除 Firestore collection)
  • 工具调用的输入验证是否充分
  • 是否有数据泄露风险(比如返回其他用户的数据)
  • 密钥是否硬编码(应该用 secrets.yaml)

Step 8:部署

bash
# 部署到 Agent Runtime(Google 的全托管运行时)
npx agents-cli publish gemini-enterprise

# 或部署到 Cloud Run
npx agents-cli publish cloud-run

# 或部署到 GKE
npx agents-cli publish gke

部署完成后你会得到一个 Agent Runtime ID,可以直接通过 API 调用你的 Agent。

Agents CLI 的部署目标对比

部署目标适合场景需要管理服务器冷启动
Agent Runtime生产环境,全托管否无
Cloud Run需要自定义容器否有(按需扩缩)
GKE大规模、需要完全控制是无(常驻)

大多数情况选 Agent Runtime 就够了:全托管,不需要管服务器,自带 scale to zero。

成本估算

Agent Runtime 定价

  • 免费层:每月一定量的请求免费
  • 付费层:按请求量 + token 用量计费

具体取决于你用的模型:

模型输入价格输出价格适合场景
Gemini 2.5 Flash$0.15/百万 token$0.60/百万 token高流量、低延迟
Gemini 2.5 Pro$1.25/百万 token$10.00/百万 token复杂推理、高质量

月费估算

场景月请求量模型月费
内部工具1 万次Flash~$5
小型 SaaS10 万次Flash~$50
中型产品100 万次Flash/Pro 混合~$300-800
大规模1000 万次Flash~$2000

Agents CLI 和 Karpathy 方法论的映射

把整个过程画成一个循环:

Agentic Engineering 循环:六个环节中 CLI 自动化四个,Spec 设计与人机审查仍由人把关

Agents CLI 自动化的部分:scaffold、build、test、eval、deploy 仍然是人工的部分:spec design、diff review、security oversight、taste/judgment

实话实说:Agents CLI 的限制

  1. Google Cloud 绑定:部署目标只有 Agent Runtime / Cloud Run / GKE。如果你想部署到 AWS Lambda 或自己的服务器,得自己写部署流程。

  2. Agent Runtime 是 Google 专有的:你的 Agent 运行在 Google 的基础设施上,数据和模型都走 Google。如果你的公司有云厂商策略限制,这可能是个问题。

  3. Eval 生态还在早期:eval 的数据集格式、评估指标、失败分析方法都还在快速迭代。现在用的格式半年后可能变了。

  4. 不覆盖 Agent 的运行时监控:部署上去之后,Agent 的响应质量、错误率、用户满意度,这些需要你自己搭监控。

  5. Skill 的质量取决于 ADK 本身:7 个 Skill 教的是 Google ADK 的模式。如果你不用 ADK(比如你用 LangGraph 或 CrewAI),这些 Skill 帮不了你。

谁应该用这个工具

适合你如果:

  • 你在用 Google Cloud(或愿意迁移)
  • 你想用 Claude Code / Cursor / Gemini CLI 让 AI 帮你搭 AI Agent
  • 你认同 Karpathy 的 agentic engineering 理念(spec → eval → review 循环)
  • 你的 Agent 需要接入真实数据源(Firestore、BigQuery、Google Search 等)

不适合你如果:

  • 你不用 Google Cloud(AWS 用户没有对应的部署目标)
  • 你的 Agent 只是本地工具,不需要部署
  • 你用的是 LangGraph / CrewAI / AutoGen 等非 ADK 框架
  • 你还在 vibe coding 阶段,不需要 eval 和结构化流程

快速开始:3 分钟跑通

bash
# 1. 安装
npm install -g @google/agents-cli

# 2. 创建项目
npx agents-cli init my-first-agent

# 3. 进入项目,安装 skills
cd my-first-agent
npx agents-cli skills install

# 4. 打开你的 Coding Agent(Claude Code / Cursor)
#    说:"用 /scaffold skill 搭建一个简单的 weather agent"

# 5. 本地测试
npx agents-cli test

# 6. 部署(需要先配好 Google Cloud 项目)
npx agents-cli publish gemini-enterprise

参考资源

相关文章

分享: