使用 Antigravity CLI 进行规范驱动型开发 - 通过技能和 MCP 实现结构化智能体工作流

1. 简介

快速通过 Vibe-coding 打造 MVP,但通过不断向墙上扔出更多提示来添加功能,会导致项目失败。您需要一种方法来将结构和现实世界背景信息引入 AI 辅助开发。这时,Antigravity CLI 就能发挥作用了,它是一款在终端中运行的 AI 编码智能体。它本身可以理解您的代码库、运行命令和修改文件。它的真正强大之处在于您为其添加的插件:

  • 技能为智能体提供方法和领域知识 - 方法技能可强制执行结构化开发工作流,而领域技能可提供准确的 API 知识,使智能体不会产生幻觉。
  • MCP 服务器为智能体提供与外部系统的实时连接,使其能够检查实际架构、运行查询,并根据实际数据验证其工作,而不是依赖过时的训练知识。

技能决定了代理的思考方式;MCP 决定了代理可以查看和互动的内容。它们共同将通用编码智能体转变为遵循基于真实数据的结构化工作流的智能体。此 Codelab 将引导您了解如何将这些工具组合使用,从安装插件到发布功能。

构建内容

本 Codelab 中的模式(安装方法和领域知识技能、连接 MCP 服务器以实现实时数据访问权限,以及运行规范驱动的开发周期)适用于您使用 Antigravity CLI 构建的任何功能,无论使用何种语言、框架或 Google Cloud 产品。为了具体说明这些模式,您将完成一个具体示例:向电子商务分析信息中心添加 BigQuery 集成。

此初始应用是一个 FastAPI Web 应用,可从静态 CSV 文件中读取销售数据并呈现图表(收入趋势、热销商品、订单状态细分、类别效果)。最后,该应用会从 BigQuery(Google Cloud 的无服务器数据仓库,可让您对大型数据集运行 SQL 查询,而无需管理基础架构)查询实时数据。具体而言,您可以连接到 thelook_ecommerce 数据集,从而解锁包含完整订单、商品和客户信息的目录,这是 500 行的 CSV 文件无法提供的。您完全通过 Antigravity CLI 构建此功能,并由技能和 MCP 提供指导。

5acdeb09cd9d5960.png

我们将与 Antigravity CLI 搭配使用的代理配置如下所示

5e3dd8629e65e6ce.png

学习内容

  • 如何在 Cloud Shell 中使用 Antigravity CLI - 启动、浏览 TUI 和运行斜杠命令
  • 什么是代理技能,以及渐进式披露模式(元数据 → 指令 → 资源)如何保持高效的上下文
  • 三类技能:方法(超能力)、效率(穴居人)和领域知识(Google/技能)
  • 什么是 MCP,以及如何为 Antigravity CLI 配置远程 MCP 服务器 (BigQuery MCP)
  • 如何运行规范驱动的开发周期:指定 → 规划 → 实现
  • (可选)Antigravity CLI 中的子代理如何运作以及如何管理它们
  • 如何将 google-cloud-bigquery Python 客户端库集成到 FastAPI 应用中
  • (可选)如何使用 Antigravity CLI 将应用部署到 Cloud Run(使用网域技能)

前提条件

  • Google Cloud 账号
  • 基本熟悉 Python、REST API 和终端命令

2. 设置环境

此步骤会克隆初始代码库、配置您的 Google Cloud 项目并启用所需的 API。

打开 Cloud Shell

在浏览器中打开 Cloud Shell。Cloud Shell 提供了一个预配置的环境,其中包含本 Codelab 所需的所有工具。在系统提示时点击授权,以

然后,依次点击“查看” ->“终端”,打开终端。您的界面应与下图类似

86307fac5da2f077.png

这将是我们的主要界面,顶部是 IDE,底部是终端

设置工作目录

克隆包含此 Codelab 起始代码的配套代码库:

git clone https://github.com/alphinside/sdd-agy-bigquery-dashboard.git
cloudshell workspace sdd-agy-bigquery-dashboard && cd sdd-agy-bigquery-dashboard

此代码库包含一个完整的、可正常运行的电子商务信息中心应用,该应用可从静态 CSV 文件中读取数据。在此 Codelab 中,您将使用 Antigravity CLI 添加 BigQuery 集成作为一项新功能。

800c260f0be6933c.png

关键文件和目录:

  • src/main.py - 具有用于提供信息中心数据的 API 端点的 FastAPI 应用
  • src/data_service.py - 使用 Pandas 从 CSV 文件读取的数据层
  • src/templates/dashboard.html - 包含 Chart.js 可视化图表的 Jinja2 模板
  • data/ - 包含少量电子商务数据的静态 CSV 文件(orders.csvproducts.csvorder_items.csv

该应用是一个简单的只读信息中心:main.py 定义 API 端点,data_service.py 读取 CSV 文件并返回结构化数据,dashboard.html 将该数据呈现为图表。您构建的 BigQuery 集成会将 data_service.py 替换为查询实时数据的模块,而不是读取静态文件。

配置终端

创建 Google Cloud 项目(可选)

如需创建新项目,您可以在 Cloud 控制台界面中点击左上角的项目选择器,然后点击 New Project

e2411959f960166b.png

或者,如果您想要更快捷的方法,请在终端中运行以下命令

PROJECT_ID="sdd-agy-cli-$(openssl rand -hex 5)"
gcloud projects create "$PROJECT_ID"
echo $PROJECT_ID

这会创建一个具有随机项目 ID 的 Google Cloud 项目。该命令会输出生成的项目 ID,请在后续配置中将其用作 YOUR_PROJECT_ID

激活终端

现在,我们需要使用所选 Google Cloud 项目配置终端。运行以下命令以列出可用的项目,并找到要选择的项目 ID

gcloud projects list

系统会显示如下列表,请记住或复制您将使用的项目 ID

PROJECT_ID: alvin-exploratory-2
NAME: alvin-exploratory-2
PROJECT_NUMBER: 109790610330

现在,运行以下命令以创建用于激活终端的脚本(或者您也可以自行创建此文件)

cloudshell edit configure_terminal.sh

然后将以下代码复制到脚本中

#!/bin/bash

gcloud config set project YOUR_PROJECT_ID
export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value project)
echo $GOOGLE_CLOUD_PROJECT

YOUR_PROJECT_ID 替换为项目 ID。上一个命令还会将项目 ID 导出为环境变量,以便在整个 Codelab 中使用。之后,保存文件并执行该文件

bash configure_terminal.sh

通过检查 Cloud Shell 终端提示中工作目录旁边的黄色文字,验证项目是否已正确设置。其中应显示您的项目 ID。

8205fa68a1d749d7.png

启用必需的 API

接下来,我们将与 BigQuery 进行交互,这与我们的使用情形相关。启用此 Codelab 所需的 Google Cloud API:

gcloud services enable bigquery.googleapis.com

此 API 将使我们能够访问 BigQuery。现在,让我们为本 Codelab 场景准备初始数据集

3. 设置 BigQuery 数据集

假设您的公司已在 BigQuery 中存储了电子商务数据,包括订单、商品和订单项。您开发了一个应用来显示订单数据信息中心,但目前该应用仅读取此数据的一小部分 CSV 提取内容,以便您最初专注于前端。现在,您希望升级该应用,使其能够直接查询 BigQuery 以获取完整的数据集。

为了模拟这种情况,您将使用 TheLook 电子商务,这是一个由 Google 维护的公共数据集,其中包含真实的合成电子商务数据(超过 125,000 个订单、超过 29,000 件商品)。您将相关表格复制到自己项目的 BigQuery 实例中,以便它们充当“您公司的数据”。

在 Cloud Shell 中,我们已经有 bq CLI,可以利用它直接与 BigQuery 互动,因此可以直接准备数据。

在项目中创建数据集:

bq mk --dataset $GOOGLE_CLOUD_PROJECT:thelook_ecommerce

将公共数据集中的三个表复制到新数据集中:

bq cp bigquery-public-data:thelook_ecommerce.orders $GOOGLE_CLOUD_PROJECT:thelook_ecommerce.orders
bq cp bigquery-public-data:thelook_ecommerce.order_items $GOOGLE_CLOUD_PROJECT:thelook_ecommerce.order_items
bq cp bigquery-public-data:thelook_ecommerce.products $GOOGLE_CLOUD_PROJECT:thelook_ecommerce.products

验证表是否位于您的数据集中:

bq ls $GOOGLE_CLOUD_PROJECT:thelook_ecommerce

您应该会看到列出的三个表:ordersorder_itemsproducts

   tableId     Type    Labels   Time Partitioning   Clustered Fields  
 ------------- ------- -------- ------------------- ------------------ 
  order_items   TABLE                                                  
  orders        TABLE                                                  
  products      TABLE

运行快速测试查询,确认数据是否可访问:

bq query --nouse_legacy_sql \
  "SELECT COUNT(*) as total_orders FROM \`$GOOGLE_CLOUD_PROJECT.thelook_ecommerce.orders\`"
+--------------+
| total_orders |
+--------------+
|       125957 |
+--------------+

您应该会看到订单数量超过 10 万。

4. 运行初始 Web 应用

在升级应用之前,我们先运行当前状态的应用,看看由 CSV 提供支持的信息中心是什么样的。

uv 是用 Rust 编写的快速 Python 软件包和项目管理器(文档)。此 Codelab 使用它来提高速度和简化操作。如果您在本教程中使用 Cloud Shell,则该工具已预安装在实例中。如果您想为本地安装此

安装项目依赖项,这也会为您准备虚拟环境:

uv sync

之后,如果您熟悉 Python,则可以不执行 python 命令,而是使用 uv 二进制文件执行每个命令。启动 FastAPI 开发服务器:

uv run uvicorn src.main:app --host 0.0.0.0 --port 8080

使用 Cloud Shell 的网页预览功能在浏览器中打开信息中心。点击网页预览按钮(Cloud Shell 工具栏中的眼睛图标),然后选择在端口 8080 上预览

53758c68d6505e7a.png

信息中心会显示四个图表面板:

  • 收入趋势 - 一张折线图,显示 CSV 数据中日期范围内的每日收入
  • “收入最高的产品”:一个水平条形图,按总销售额对产品进行排名
  • 订单状态细分 - 一个环形图,显示“已完成”“已发货”“处理中”“已取消”和“已退货”订单的分布情况
  • 类别效果 - 显示按产品类别划分的收入的水平条形图

请注意标题中的数据源:CSV 徽章。摘要卡会显示根据 500 个订单和约 750 个订单项计算的总数,这些数据只是 TheLook 完整数据集的一小部分。日期范围仅限 2023 年 10 月至 12 月。

这是我们的基准应用,现在我们将借助 Antigravity CLI 将其升级为与 BigQuery 集成。

5. 设置 Antigravity CLI

此步骤将介绍 Antigravity CLI,逐步讲解终端用户界面,并安装三类插件来提升我们的开发工作流程。在此过程中,您将了解什么是智能体技能和 MCP,以及它们如何扩展 AI 编码智能体的功能。

什么是 Antigravity CLI?

Antigravity CLI 是 Google 的 AI 编码代理 Antigravity 的终端变体。这是一个用 Go 构建的轻量级终端用户界面 (TUI),可连接到为 Antigravity 2.0 桌面应用提供支持的同一智能体 Harness。它可以在终端中读取代码库、运行命令、修改文件,并通过 MCP 连接到外部工具。

如果您在本教程中使用 Cloud Shell,则 Antigravity CLI 已预安装在其中。您可以通过运行以下命令进行检查

agy --help

系统将显示以下命令选项详细信息

Usage of agy:
  --add-dir                       Add a directory to the workspace (repeatable) (default [])
  -c                              Short alias for --continue
  --continue                      Continue the most recent conversation
  --conversation                  Resume a previous conversation by ID
  --dangerously-skip-permissions  Auto-approve all tool permission requests without prompting
  -i                              Short alias for --prompt-interactive
  --log-file                      Override CLI log file path
  --model                         Model for the current CLI session
  --new-project                   Create a new project for this session
  -p                              Short alias for --print
  --print                         Run a single prompt non-interactively and print the response
  --print-timeout                 Timeout for print mode wait (default 5m0s)
  --project                       Project ID for the current CLI session
  --prompt                        Alias for --print
  --prompt-interactive            Run an initial prompt interactively and continue the session
  --sandbox                       Run in a sandbox with terminal restrictions enabled

Available subcommands:
  changelog       Show changelog and release notes
  help            Show help for subcommands
  install         Configure environment paths and shell settings
  models          List available models
  plugin          Manage plugins (install, uninstall, list, enable, disable)
  plugins         Alias for plugin
  update          Update CLI

启动 Antigravity CLI

现在,如果您是首次使用 Antigravity CLI,则需要进行设置。在新终端标签页中,启动该工具

agy

如果您是首次运行该命令,系统会要求您选择身份验证方法

5606b640b9bed9c3.png

在本教程中,我们使用 Google OAuth。系统会要求您打开一个网址,并提示您选择用于登录的 Google 账号。

e42183f1ccc5771a.png

点击“身份验证”后,选择 Google 账号,然后点击 Sign In

572b1d06151b55fa.png

系统会显示一个要复制的字符串,点击 Copy to Clipboard 即可复制

590d375c71f62a0e.png

然后将其粘贴到 Antigravity CLI 提示符中,如下所示

a807ff24fbf278b4.png

之后,系统会要求您选择一些色彩主题,并同意使用条款

3a7cd90438c94f5c.png

系统还会要求您信任当前工作区目录,只需接受即可继续操作。这将是我们与终端中的 Antigravity CLI 互动的主要入口点

9e1e03543e8063c.png

现在,我们退出 Antigravity CLI,然后继续学习下一部分

6. 自定义 - 代理技能

Antigravity CLI 开箱即可读取代码库、运行 shell 命令和修改文件,但它内置的规范驱动开发工作流有限,对特定 API 的了解也仅限于其训练数据中的内容。对于将 BigQuery 集成到现有应用等任务,存在以下两个差距:

  1. 流程缺口 - 如果没有结构,Antigravity CLI 可能会直接跳到编写代码的阶段。对于小问题,这没问题。对于涉及多个文件和端点的功能,您最终会得到不一致的实现、缺失的边缘情况,并且没有关于所做决定或原因的文档。
  2. 知识差距 - 模型训练数据可能包含过时的 BigQuery 客户端库模式、已弃用的 API 调用或不正确的表架构。它无法检查当前实际数据集的样貌。

技能可弥合流程差距。superpowers 等开发方法技能会强制执行“指定-规划-实现”周期,也就是说,在您批准规范之前,代理不会编写代码。bigquery-basics 等网域技能会提供当前由 Google 维护的 API 文档,以便代理使用正确的客户端库模式。

MCP 服务器可在运行时弥合知识差距。BigQuery MCP 为代理提供与实际数据集的实时连接,使其能够列出表、检查列类型并运行示例查询。代理会根据实际架构数据(而非猜测)来运行。

让我们更深入地了解这两个

智能体技能

Agent Skills 是一种轻量级开放格式,可用于利用专业知识和工作流来扩展 AI 智能体功能。每个技能都是一个可移植的受版本控制的目录,其中包含一个 SKILL.md 文件。该文件是一份机器可读的合约,用于定义代理如何处理特定任务。

技能目录如下所示:

skills/<skill-name>/
├── SKILL.md          # Required: YAML frontmatter + workflow instructions
├── scripts/          # Optional: helper scripts
├── references/       # Optional: reference implementations
├── assets/           # Optional: templates or assets
└── ...                # Any additional files or directories

从本质上讲,技能是一个包含 SKILL.md 文件的文件夹。此文件包含元数据(至少包括名称和说明)以及指示代理如何执行特定任务的指令。技能还可以捆绑脚本、参考资料、模板和其他资源。

以下是您稍后在此 Codelab 中使用的 bigquery-basics 技能的 SKILL.md

---
name: bigquery-basics
metadata:
  category: BigDataAndAnalytics
description: >-
  Manages datasets, tables, and jobs in BigQuery. Use when you need to interact
  with BigQuery, run SQL queries, manage BigQuery resources (datasets, tables,
  views), or perform basic data ingestion and analysis.
---

# BigQuery Basics

[Detailed instructions about BigQuery APIs, SQL patterns,
 client library usage, data ingestion patterns, etc.]

YAML 前处理(名称 + 说明 + 元数据)是 Antigravity CLI 在启动时加载的内容,属于轻量级元数据。--- 下方的 Markdown 正文是完整的指令集,仅当 Antigravity 检测到与 BigQuery 相关的任务时才会加载。

逐步公开相关内容

技能使用三层渐进式披露模式,可防止上下文窗口饱和:

  1. 第 1 层(发现):启动时,Antigravity 仅读取每个已安装技能的 YAML 元数据。它知道该技能存在,仅此而已。
  2. 第 2 层(激活):当您的任务与技能的说明相符时,AGY 会将完整的 SKILL.md 读入其活跃上下文。现在,它知道该怎么做了。
  3. 第 3 层(执行):Antigravity 会根据需要访问技能的脚本、示例或资源。现在,它知道如何执行此操作

系统仅在适当的时间加载相关知识。例如,当您处理 BigQuery 查询时,Cloud Run 部署技能不会消耗上下文。

三类技能

客服技能有很多种。在此 Codelab 中,我们将使用三项技能,每项技能代表不同的技能类别:

类别

技能

用途

领域知识

google/skills

智能体对特定技术的了解程度

方法

obra/superpowers

如何开发 - 强制执行规范驱动型开发、规划、测试

提升效率

JuliusBrussee/caveman

如何高效使用令牌

google/skills 提供由 Google 维护的 Google 产品第一方代理技能。例如,它可为代理提供有关 BigQuery API、Cloud Run 部署模式和其他服务的准确且最新的知识。如果没有领域技能,代理会依赖可能过时或不完整的训练数据;领域技能则会使用最新文档来取代猜测。

obra/superpowers 是一个有主见的规范驱动型开发 (SDD) 工作流实现。如果没有 SDD 框架,当您描述某项功能时,代理会直接开始编写代码,这对于小规模修复来说是可行的,但对于任何更大的项目来说,都会产生不一致且难以维护的结果。SDD 强制执行结构化周期:明确要求 → 编写规范 → 生成计划 → 根据规范进行实现。每个阶段都会生成可供审核的制品。在您批准规范之前,代理不会开始编写代码。还有其他 SDD 框架,例如 spec-kitagent-skills 等,它们对指定-规划-实现周期的看法各不相同。此 Codelab 使用超能力作为具体示例;无论您选择哪个框架,基本原则(在编码之前指定和规划)都适用。

JuliusBrussee/caveman 可将代理输出压缩多达 75%。它会去除填充词、客套话和冗长的解释,同时保留所有技术实质内容。每次回答的令牌数越少,意味着每次会话的对话效率越高,回答速度也越快。您可以使用 /caveman 激活该功能,也可以指示智能体高效对话。对于安全警告和不可逆的操作,系统会自动停用此功能。

安装智能体技能

官方 Google Skills 安装

首先,我们来安装将要互动的必要 Google 技能。在本教程中,我们将主要使用 BigQueryCloud Run 技术堆栈。因此,我们来安装这些技能。我们将使用 npx skills 命令来安装此

npx skills add google/skills

这会打开一个交互式终端界面,其中包含许多技能。使用箭头键空格键选择此 Codelab 所需的技能

8b6b0deb5fe07dfd.png

找到 bigquery-basicscloud-run-basics,然后点击空格以选中它们。相应框应变暗,如下所示

4fa62a7341444be5.png

然后,在选择代理时,只需点击 Enter 即可跳过选择,因为 Antigravity CLI 默认已包含在内

c16e7ed1be8ad91b.png

然后,我们选择 Project 安装范围,这会将技能安装到工作目录中的 .agents 目录下

6c84cee31651dffc.png

最后,点击 Enter,然后输入 Yes 完成安装。如果您配置了多项技能,还可以选择回答 Yes 以安装 find-skills 技能

4709e3a1ad34a27d.png

将第三方技能安装为插件

接下来,我们将安装 obra/superpowersJuliusBrussee/caveman 技能。这些技能支持作为 Antigravity CLI 插件安装,因此我们可以使用以下命令安装它们

agy plugin install https://github.com/obra/superpowers
agy plugin install https://github.com/JuliusBrussee/caveman

然后,我们可以使用以下命令验证安装

agy plugin list

系统将显示以下输出

{
  "imports": [
    {
      "name": "superpowers",
      "source": "gemini-cli",
      "importedAt": "2026-07-06T01:50:36Z",
      "components": [
        "skills",
        "hooks"
      ]
    },
    {
      "name": "caveman",
      "source": "gemini-cli",
      "importedAt": "2026-07-06T01:50:37Z",
      "components": [
        "skills",
        "agents",
        "commands"
      ]
    }
  ]
}

这些技能设置已最终确定。接下来,我们来看下一个

7. 自定义 - MCP 工具

e7b9be2e1c98b4db.png

MCP(Model Context Protocol)是一种开放协议,可规范 AI 智能体发现和与外部工具互动的方式。它定义了客户端-服务器模型:智能体托管 MCP 客户端,工具由 MCP 服务器公开。任何兼容 MCP 的客户端都可以使用任何兼容 MCP 的服务器,智能体无需为每个工具编写自定义集成代码。

MCP 采用客户端-服务器架构:

  • 宿主 - AI 模型所在的应用程序(在本例中为 Antigravity CLI)
  • 客户端 - 宿主内处理 MCP 通信的组件(内置于 Antigravity CLI 中)
  • 服务器 - 一种向 AI 公开功能的轻量级程序(在本例中,我们将使用 Google Cloud Managed BigQuery MCP 服务器)

当 Antigravity CLI 在本 Codelab 的后续步骤中运行 SDD 工作流时,需要准确了解 BigQuery 数据集架构(表名称、列类型、关系)。借助 BigQuery MCP,Antigravity CLI 可以直接检查实时架构。这样生成的规范和代码会引用真实的表和列,而不是虚构的表和列。

BigQuery 受管 MCP 配置

Google 在 Google Cloud 基础架构上托管一个受管理的 BigQuery MCP 服务器,无需进行本地设置(您可以查看此文档中支持的其他 Google Cloud 产品)。通过在项目目录中创建 MCP 配置文件,将 Antigravity CLI 配置为连接到该服务器:

mkdir -p .agents
cat > .agents/mcp_config.json << EOF
{
  "mcpServers": {
    "bigquery": {
      "serverUrl": "https://bigquery.googleapis.com/mcp",
      "transport": "http",
      "authProviderType": "google_credentials"
    }
  }
}
EOF

此配置会告知 AGY:

  • BigQuery MCP 服务器 (serverUrl) 的位置
  • 使用 Google 凭据进行身份验证 (authProviderType)

配置位于工作区级别 (.agents/mcp_config.json)

我们可以从 Antigravity CLI 内部验证配置,让我们先运行它

agy

然后,运行斜杠命令 /mcp 验证配置

/mcp

系统会显示类似以下内容

a7ef228bfcbb5280.png

然后,按 Esc 键退出斜杠命令互动

暂时退出 Antigravity CLI(按两次 Ctrl+D

8. 使用规范驱动开发进行功能开发

安装技能/插件并连接 BigQuery MCP 后,您现在可以使用规范驱动的开发工作流来正式指定 BigQuery 集成功能。在此步骤中,“先指定,再编码”会变得具体。

确保您已进入 Antigravity CLI,并且在此演示中,我们将允许使用此标志执行所有工具

agy --dangerously-skip-permissions

启用洞穴人模式

在开始 SDD 周期之前,请激活“洞穴人模式”,以在整个多步骤工作流程中保持令牌使用效率:

/caveman:caveman

Antigravity CLI 的回答变得简洁明了,去掉了填充词和客套话,但保留了所有技术内容。每次对话使用的令牌数量越少,在相同配额下,对话的效率就越高。

8e6965ae2207147e.png

启动 SDD 规范

使用功能请求提示 Antigravity CLI:

I want to add a BigQuery integration feature to this e-commerce dashboard app. Currently it reads
from CSV files in the data/ directory. I want to replace the CSV reads with live queries
against the thelook_ecommerce dataset in my BigQuery project using the
google-cloud-bigquery Python client library.

The dashboard should show the same panels (revenue trend, top products, order status,
category performance) but with the full dataset instead of the 500-row CSV subset.

Follow spec-driven-development for development workflow, ensure spec and plan docs created following the superpowers standard in current working directory; also use Bigquery MCP to figure out the data schema.

当检测到功能级请求时,超能力技能会自动激活。AGY 进入 SDD 周期,而不是直接跳转到代码。

Antigravity CLI 将启动相应流程,以了解当前项目并收集所需背景信息。您会看到它执行 ListDirRead 等命令,如下所示

3102949f929df967.png

它还会利用我们之前设置的 BigQuery MCP 连接来查找数据集的架构

7fbc061a07058d24.png

这样可确保 Antigravity CLI 在开始开发之前具有正确的上下文

要求澄清

Antigravity CLI 可能会询问有关功能范围的重点问题。常见问题包括:

  • 应如何配置项目 ID?
  • 收入趋势图应如何汇总和显示?
  • 应如何进行集成?直接 SQL 与本地 Pandas

您可以根据代理的建议回答这些问题

91fb44a131f927e9.png4d5e5ffbc81644a5.png

查看规范

在澄清之后,它会生成正式的规范文档。如果按照说明正确操作,它将遵循 obra/superpowers 技能惯例,在 docs/superpowers/specs 目录下创建规范文档,如下所示

86e0a2f86a956497.png

规范文档将类似于以下内容

# BigQuery Integration Design Specification

## Overview

This document specifies ...

## Architecture

The application currently reads ...

## Data Schema & Sources

All tables reside in the BigQuery ...

...

查看完此内容后,我们需要确认规范,以便进入规划阶段

74cde3e9b4c95b88.png

proceed with the specs

规划阶段和子代理执行

您批准规范后,Antigravity CLI 会将其分解为实现方案,并写入目录 docs/superpowers/plans

727b92a4eca89106.png

计划文档将列出多项内容,如下例所示:

  • 要修改的文件
  • 要创建/更新的文件
  • 依赖项变更
  • 任务细分

它还会建议使用 subagent driven development,该工具受 Antigravity CLI 支持 - Antiravity CLI 可以将任务委托给专门的子代理,而不是由单个代理按顺序完成所有任务。在实现过程中,您可能会看到如下子代理:

  • 任务实施者 - 负责为方案中的特定任务编写代码
  • 任务审核员 - 根据规范审核已实现的代码
  • 最终代码审核员 - 在完成之前对所有更改进行全面审核

751df4f6d964e42b.png

如果您收到类似这样的提示,请回答“是”

Use subagent driven development

我们稍后将看到,子代理会以轮流方式拾取任务

fb4a986dbceaec96.pngb2e74e769f9ff4bf.png620d12e9056f621b.png

过一段时间后,开发将全部完成(可能是在生成 Final Code Reviewer 代理后)。接下来,我们可以检查结果

更新后的应用人工审核

所有任务完成后,我们可以检查更新后的应用。按 Ctrl+D 两次退出 Antigravity CLI,然后运行以下命令

bash configure_terminal.sh && uv run uvicorn src.main:app --host 0.0.0.0 --port 8080

如果开发成功,您现在应该会看到 Total Orders 显示 > 12 万个订单,并且已与 BigQuery 集成

20398466e2d8a70f.png

恭喜!现在,您已在 Antigravity CLI 的全面帮助下成功将 BigQuery 与 Web 应用集成

9. (可选)使用 Antigravity CLI 部署到 Cloud Run

该信息中心通过 Cloud Shell 网页预览功能在本地运行。此可选步骤会将其部署到 Cloud Run,作为可公开访问的 Web 服务,从而展示 Antigravity CLI 的领域技能如何从开发扩展到运维。

cloud-run-basics 技能(来自您之前安装的 google/skills 插件)可让 Antigravity CLI 了解 Cloud Run 部署模式、Dockerfile 要求、端口绑定和 gcloud run deploy 标志。基于源代码的部署 (gcloud run deploy --source .) 可通过一个命令完成构建和部署,Cloud Build 会自动处理容器化。

启用 Cloud Run API

启用部署所需的 API:

gcloud services enable \
  run.googleapis.com \
  cloudbuild.googleapis.com \
  cloudresourcemanager.googleapis.com

然后,输入 Antigravity CLI

agy --dangerously-skip-permissions

提示 Antigravity CLI 进行部署

我们来指示它部署我们的应用

Deploy this application to Cloud Run, name the service "bigquery-dashboard" and make it publicly accessible

它会读取 cloud-run-basics 技能,了解部署当前项目 Web 应用的要求

a5ef955de2d71c91.png

完成后,它会验证部署是否成功,并为您提供之前执行的部署流程的摘要,如下例所示。您可以使用提供的网址访问应用

b58fb8f5f2023264.png

现在,借助 Antigravity CLI,您已完全部署并可访问实时应用

10. 总结

您将电子商务信息中心从静态 CSV 文件升级为实时 BigQuery 数据,而无需手动编写应用代码。Antigravity CLI 通过规范驱动的严谨开发工作流来处理实现,该工作流以可重用的技能为指导,并通过 MCP 与您的数据建立实时连接。

您学到的内容

  • 如何在 Cloud Shell 中使用 Antigravity CLI 进行 AI 辅助开发
  • 什么是智能体技能,以及渐进式披露如何保持上下文窗口的高效性
  • 三类技能:方法(超能力)、效率(穴居人)、领域知识(Google/技能)
  • 什么是 MCP,以及如何配置 BigQuery MCP 以实现实时数据访问权限
  • 如何运行规范驱动的开发周期(指定 → 规划 → 实现),而不是氛围编程
  • Antigravity CLI 如何生成分代理,从而使开发更加专注高效

清理

为避免系统因本 Codelab 中创建的资源向您的 Google Cloud 账号收取费用,您可以删除各个资源或删除整个项目。

最简单的清理方法是删除项目。这会移除与项目关联的所有资源。

gcloud projects delete $GOOGLE_CLOUD_PROJECT

方法 2:删除单个资源

如果您想保留项目,但只移除在本 Codelab 中创建的资源,请执行以下操作:

bq rm -r -f $GOOGLE_CLOUD_PROJECT:thelook_ecommerce
gcloud run services delete bigquery-dashboard --region us-central1 --quiet