Разработка на основе спецификаций с использованием Antigravity CLI — Структурированные рабочие процессы агентов с использованием навыков и MCP

1. Введение

Создание MVP методом Vibe Code — это быстро, но добавление новых функций путем навязывания дополнительных запросов приводит к сбоям в проектах. Вам нужен способ привнести структуру и реальный контекст в разработку с помощью ИИ. Вот тут-то и пригодится Antigravity CLI — агент ИИ для программирования, работающий в вашем терминале. Он сам по себе может понимать вашу кодовую базу, выполнять команды и редактировать файлы. Его настоящая мощь заключается в том, что вы в него подключаете:

  • Навыки предоставляют агенту методологические и предметные знания — навык методологии обеспечивает структурированные рабочие процессы разработки, а навык предметной области предоставляет точные знания API, чтобы агент не фантазировал.
  • Серверы MCP обеспечивают агенту прямое подключение к внешним системам, позволяя ему проверять реальные схемы, выполнять запросы и проверять свою работу на основе фактических данных, вместо того чтобы полагаться на устаревшие знания, полученные в ходе обучения.

Навыки формируют образ мышления агента; MCP определяет, что агент может видеть и с чем может взаимодействовать. Вместе они превращают универсального агента для программирования в агента, следующего структурированному рабочему процессу, основанному на реальных данных. Этот практический урок покажет вам, как работает эта комбинация, от установки плагинов до выпуска новой функции.

Что вы построите

Представленные в этом практическом занятии шаблоны — освоение методологии и предметных знаний, подключение серверов MCP для доступа к данным в реальном времени и использование цикла разработки, основанного на спецификациях, — применимы к любой функции, которую вы создадите с помощью Antigravity CLI, независимо от языка программирования, фреймворка или продуктов Google Cloud. Чтобы сделать эти шаблоны более наглядными, вы проработаете конкретный пример: добавление интеграции BigQuery в панель аналитики электронной коммерции.

Стартовое приложение представляет собой веб-приложение FastAPI, которое считывает данные о продажах из статических CSV-файлов и отображает диаграммы (тенденции выручки, самые популярные товары, разбивка по статусам заказов, показатели категорий). В конечном итоге приложение запрашивает данные в режиме реального времени из BigQuery — бессерверного хранилища данных Google Cloud, которое позволяет выполнять SQL-запросы к большим наборам данных без управления инфраструктурой. В частности, вы подключаетесь к набору данных thelook_ecommerce , получая доступ к полному каталогу заказов, товаров и клиентов, который не может предоставить CSV-файл на 500 строк. Вы создаете эту функцию полностью с помощью Antigravity CLI, руководствуясь навыками и MCP.

5acdeb09cd9d5960.png

Конфигурация агента, которую мы будем использовать с Antigravity CLI, будет выглядеть следующим образом.

5e3dd8629e65e6ce.png

Что вы узнаете

  • Как использовать Antigravity CLI в Cloud Shell — запуск, навигация по интерфейсу пользователя и выполнение команд с косой чертой.
  • Что представляют собой навыки агента и как последовательная схема раскрытия информации (метаданные → инструкции → ресурсы) обеспечивает эффективность контекстной обработки.
  • Три категории навыков: методология (сверхспособности), эффективность (первобытные навыки) и знание предметной области (Google/Skills).
  • Что такое MCP и как настроить удалённый сервер MCP (BigQuery MCP) для Antigravity CLI.
  • Как запустить цикл разработки, основанный на спецификациях: спецификация → планирование → реализация
  • (Необязательно) Как работают субагенты в Antigravity CLI и как ими управлять
  • Как интегрировать клиентскую библиотеку google-cloud-bigquery для Python в приложение FastAPI
  • (Необязательно) Как развернуть приложение в Cloud Run с помощью Antigravity CLI с использованием навыка предметной области.

Предварительные требования

  • Учетная запись Google Cloud
  • Базовые знания Python, REST API и командной строки терминала.

2. Настройте свою среду.

На этом шаге клонируется стартовый репозиторий, настраивается ваш проект Google Cloud и включаются необходимые API.

Открытая облачная оболочка

Откройте Cloud Shell в браузере. Cloud Shell предоставляет предварительно настроенную среду со всеми необходимыми инструментами для выполнения этого практического задания. При появлении запроса нажмите «Авторизовать».

Затем нажмите « Вид » -> « Терминал », чтобы открыть терминал. Ваш интерфейс должен выглядеть примерно так.

86307fac5da2f077.png

Это будет наш основной интерфейс: IDE сверху, терминал снизу.

Настройте рабочую директорию.

Клонируйте репозиторий-спутник, содержащий исходный код для этого практического занятия:

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

В этом репозитории находится полностью работоспособное приложение для панели управления электронной коммерцией, которое считывает данные из статических CSV-файлов. В ходе этого практического занятия вы будете использовать Antigravity CLI для добавления интеграции с BigQuery в качестве новой функции.

800c260f0be6933c.png

Ключевые файлы и каталоги:

  • src/main.py — Приложение FastAPI с API-интерфейсами, предоставляющими данные для панели мониторинга.
  • src/data_service.py — слой данных, считывающий данные из CSV-файлов с помощью pandas.
  • src/templates/dashboard.html — Шаблон Jinja2 с визуализациями Chart.js
  • data/ — статические CSV-файлы ( orders.csv , products.csv , order_items.csv ), содержащие небольшое подмножество данных об электронной коммерции.

Приложение представляет собой простую панель мониторинга только для чтения: main.py определяет конечные точки API, data_service.py считывает CSV-файлы и возвращает структурированные данные, а dashboard.html отображает эти данные в виде диаграмм. Интеграция с BigQuery, которую вы создадите, заменит data_service.py модулем, который запрашивает данные в реальном времени вместо чтения статических файлов.

Настройка терминала

Создать проект в Google Cloud (необязательно)

Чтобы создать новый проект, вы можете сделать это через пользовательский интерфейс Cloud Console , щелкнув по значку выбора проекта в верхнем левом углу и выбрав New Project

e2411959f960166b.png

ИЛИ, если вам нужен более быстрый способ, выполните следующую команду в терминале.

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

Эта команда создаст проект Google Cloud со случайным идентификатором проекта. Команда выводит сгенерированный идентификатор проекта — используйте его в качестве YOUR_PROJECT_ID в конфигурации позже.

Активация терминала

Теперь нам нужно настроить терминал для работы с выбранным проектом Google Cloud. Выполните следующую команду, чтобы отобразить список доступных проектов и найти идентификатор проекта, который вы хотите выбрать.

gcloud projects list

В результате отобразится список примерно такого вида; запомните или скопируйте идентификатор проекта, который вы будете использовать.

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 на идентификатор вашего проекта. Предыдущая команда также экспортирует идентификатор проекта в качестве переменной среды для использования на протяжении всего практического занятия. После этого сохраните файл и запустите его.

bash configure_terminal.sh

Убедитесь, что проект настроен правильно, проверив желтый текст рядом с вашим рабочим каталогом в командной строке терминала Cloud Shell. Там должен отображаться идентификатор вашего проекта.

8205fa68a1d749d7.png

Включите необходимые API.

Далее мы будем взаимодействовать с BigQuery, что связано с нашим сценарием использования. Включите необходимые для этого практического занятия API Google Cloud:

gcloud services enable bigquery.googleapis.com

Этот API позволит нам получить доступ к BigQuery. Теперь давайте подготовим наш исходный набор данных для этого сценария практического занятия.

3. Настройте набор данных BigQuery.

Вот ситуация: ваша компания уже хранит данные электронной коммерции в BigQuery — заказы, товары и позиции заказов. Вы разрабатываете приложение для отображения панели мониторинга данных о заказах, но в настоящее время оно считывает только небольшой CSV-файл с этими данными, чтобы вы могли сосредоточиться на разработке фронтенда на начальном этапе. Теперь вы хотите обновить его, чтобы оно могло напрямую запрашивать у BigQuery полный набор данных.

Для имитации этого процесса вы используете TheLook E-commerce — общедоступный набор данных, поддерживаемый Google, с реалистичными синтетическими данными электронной коммерции (более 125 000 заказов, более 29 000 товаров). Вы копируете соответствующие таблицы в экземпляр BigQuery вашего собственного проекта, чтобы они выступали в качестве «данных вашей компании».

В Cloud Shell у нас уже есть интерфейс командной строки bq , который мы можем использовать для прямого взаимодействия с 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

Вы должны увидеть три таблицы: orders , order_items и products .

   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 |
+--------------+

Вы должны увидеть количество заказов более 100 000.

4. Запустите начальное веб-приложение.

Прежде чем обновлять приложение, давайте запустим его в текущем состоянии, чтобы посмотреть, как выглядит панель управления на основе CSV-файлов.

uv — это быстрый менеджер пакетов и проектов на Python, написанный на Rust ( документация ). В этом практическом занятии он используется для повышения скорости и простоты. Если вы используете Cloudshell для этого урока, он уже предустановлен в вашем экземпляре. Если вы хотите установить его локально, обратитесь к этому руководству.

Установите зависимости проекта, которые также подготовят для вас виртуальную среду:

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 года.

Это наше базовое приложение, теперь мы обновим его для интеграции с BigQuery с помощью Antigravity CLI.

5. Настройка интерфейса командной строки Antigravity.

На этом этапе вы познакомитесь с интерфейсом командной строки Antigravity, изучите пользовательский интерфейс терминала и установите три категории плагинов для оптимизации процесса разработки. Попутно вы узнаете, что такое навыки агента и MCP, и как они расширяют возможности агента ИИ-программиста.

Что такое антигравитационный CLI?

Antigravity CLI — это вариант агента для программирования на основе искусственного интеллекта от Google: Antigravity для терминала. Это легковесный интерфейс пользовательского интерфейса терминала (TUI), написанный на Go, который подключается к тому же агенту, что и настольное приложение Antigravity 2.0. Он считывает ваш код, выполняет команды, редактирует файлы и подключается к внешним инструментам через 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

Теперь нам нужно настроить Antigravity CLI, если вы используете его впервые. Запустите его в новой вкладке терминала.

agy

При первом запуске программа предложит вам выбрать способ аутентификации.

5606b640b9bed9c3.png

В этом уроке мы будем использовать Google OAuth . Вам будет предложено открыть URL-адрес, где вы сможете выбрать учетную запись Google, которую будете использовать для входа.

e42183f1ccc5771a.png

После нажатия кнопки «Аутентификация» выберите учетную запись Google и нажмите Sign In

572b1d06151b55fa.png

Отобразится строка, которую нужно скопировать. Нажмите Copy to Clipboard чтобы скопировать её.

590d375c71f62a0e.png

Затем вставьте это в командную строку Antigravity, как показано ниже.

a807ff24fbf278b4.png

После этого вам будет предложено выбрать цветовую схему и ознакомиться с условиями использования.

3a7cd90438c94f5c.png

Вам также будет предложено подтвердить доверие к текущему каталогу рабочей области. Просто примите это, и мы будем готовы продолжить. Это будет основной интерфейс для нашего взаимодействия с Antigravity CLI в терминале.

9e1e03543e8063c.png

А теперь давайте выйдем из интерфейса командной строки Antigravity и перейдем к следующему разделу.

6. Настройка — Навыки агента

В стандартной комплектации Antigravity CLI может читать ваш код, выполнять команды оболочки и редактировать файлы — у него ограниченный встроенный рабочий процесс разработки, основанный на спецификациях, и его знания конкретных API ограничены тем, что было в его обучающих данных. Для такой задачи, как интеграция BigQuery в существующее приложение, возникают два пробела:

  1. Процесс разработки имеет свои недостатки — без структуры Antigravity CLI может сразу перейти к написанию кода. Для небольших исправлений это нормально. Но для функции, затрагивающей множество файлов и конечных точек, это приводит к непоследовательным реализациям, отсутствию граничных случаев и отсутствию документации о принятых решениях и причинах их принятия.
  2. Пробел в знаниях — обучающие данные модели могут содержать устаревшие шаблоны клиентской библиотеки BigQuery, устаревшие вызовы API или некорректные схемы таблиц. Нет возможности проверить, как выглядит реальный набор данных в данный момент.

Навыки помогают устранить разрыв в процессе. Навык, связанный с методологией разработки, например, superpowers , обеспечивает цикл «определить-спланировать-реализовать» — агент не будет писать код, пока вы не утвердите спецификацию. Навык, связанный с предметной областью, например, «основы BigQuery», предоставляет актуальную, поддерживаемую Google документацию по API, чтобы агент мог использовать правильные шаблоны клиентской библиотеки.

Серверы MCP устраняют пробел в знаниях во время выполнения. BigQuery MCP обеспечивает агенту прямое подключение к вашему реальному набору данных — он может отображать таблицы, проверять типы столбцов и выполнять примеры запросов. Агент работает с реальными данными схемы, а не с предположениями.

Давайте подробнее разберемся в этих двух вопросах.

Навыки агента

Agent Skills — это облегченный, открытый формат для расширения возможностей ИИ-агента с помощью специализированных знаний и рабочих процессов. Каждый навык представляет собой переносимый каталог с системой контроля версий, содержащий файл 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. Этот файл включает метаданные (как минимум, имя и описание) и инструкции, которые указывают агенту, как выполнить конкретную задачу. Навыки также могут содержать скрипты, справочные материалы, шаблоны и другие ресурсы.

Вот файл SKILL.md для навыка bigquery-basics который вы будете использовать позже в этом практическом занятии:

---
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 обращается к скриптам, примерам или ресурсам навыка. Теперь он знает , как это сделать .

В нужный момент загружается только необходимая информация. Например, навык для развертывания в Cloud Run не использует контекст при работе с запросом BigQuery.

Три категории навыков

Существует множество различных типов навыков агентов. В этом практическом занятии мы будем использовать три навыка, каждый из которых представляет собой отдельную категорию навыков:

Категория

Навыки

Цель

Знания предметной области

google/skills

Что агент знает о конкретных технологиях

Методология

obra/superpowers

Как разрабатывать — внедрение подхода, основанного на спецификациях (Spec-Driven Development), планирование и тестирование.

Эффективность

JuliusBrussee/пещерный человек

Насколько эффективно использовать токены

google/skills предоставляет собственные навыки агента, поддерживаемые Google для продуктов Google. Например, он предоставляет агенту точные и актуальные знания об API BigQuery, шаблонах развертывания Cloud Run и других сервисах. Без навыков в предметной области агент полагается на обучающие данные, которые могут быть устаревшими или неполными — навыки в предметной области заменяют догадки актуальной документацией.

obra/superpowers — это одна из реализаций подхода к разработке, основанного на спецификациях (SDD), с четко определенными принципами . Без фреймворка SDD агенты сразу переходят к коду, как только вы описываете функцию — это работает для небольших исправлений, но приводит к непоследовательным и трудноподдерживаемым результатам для чего-то большего. SDD навязывает структурированный цикл: уточнение требований → написание спецификации → создание плана → реализация в соответствии со спецификацией. На каждом этапе создается артефакт, подлежащий проверке. Агент не начнет кодирование, пока вы не одобрите спецификацию. Существуют и другие фреймворки SDD — spec-kit , agent-skills и другие — каждый со своим подходом к циклу «спецификация-планирование-реализация». В этом практическом занятии superpowers используется в качестве конкретного примера; лежащая в основе дисциплина (спецификация и планирование до написания кода) применима независимо от выбранного фреймворка.

JuliusBrussee/caveman сжимает вывод агента до 75%. Он удаляет лишние слова, любезности и многословные объяснения, сохраняя при этом всю техническую информацию. Меньшее количество токенов на ответ означает более продуктивный обмен сообщениями за сессию и более быстрые ответы. Активируйте его с помощью /caveman или указав агенту говорить эффективно. Он автоматически отключается при предупреждениях безопасности и необратимых действиях.

Установка навыков агента

Официальная установка Google Skills

Для начала установим необходимые навыки Google, с которыми будем взаимодействовать. В этом руководстве мы будем использовать основной технологический стек BigQuery и Cloud Run . Поэтому давайте установим эти навыки. Для этого мы воспользуемся командой npx skills .

npx skills add google/skills

Откроется интерактивный терминал с множеством доступных навыков. Используйте клавиши со стрелками и пробел , чтобы выбрать необходимые для этого практического занятия навыки.

8b6b0deb5fe07dfd.png

Найдите bigquery-basics и cloud-run-basics и нажмите Space , чтобы выбрать их. Поле должно стать темно-серым, как показано ниже.

4fa62a7341444be5.png

Затем, в разделе выбора агентов, просто нажмите Enter , чтобы пропустить выбор, поскольку Antigravity CLI по умолчанию уже включен.

c16e7ed1be8ad91b.png

А теперь выберем область установки проекта . Это установит навыки в каталог .agents в нашей рабочей директории.

6c84cee31651dffc.png

Наконец, нажмите Enter , чтобы ответить «Да» и завершить установку. При желании вы также можете ответить «Да» для установки навыка find-skills если у вас настроено много навыков.

4709e3a1ad34a27d.png

Установка сторонних навыков в виде плагинов.

Далее мы установим навыки obra/superpowers и JuliusBrussee/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) — это открытый протокол, стандартизирующий способы обнаружения внешних инструментов и взаимодействия с ними у агентов искусственного интеллекта. Он определяет модель «клиент-сервер»: агент размещает MCP-клиент, а инструменты предоставляются MCP-серверами. Любой MCP-совместимый клиент может использовать любой MCP-совместимый сервер — агенту не требуется собственный код интеграции для каждого инструмента.

MCP использует архитектуру клиент-сервер:

  • Host — приложение, в котором размещена модель ИИ (в данном случае — Antigravity CLI).
  • Клиент — компонент внутри хоста, который обрабатывает обмен данными через MCP (встроен в интерфейс командной строки Antigravity).
  • Сервер — это легковесная программа, предоставляющая доступ к возможностям искусственного интеллекта (в нашем случае мы будем использовать Google Cloud Managed BigQuery MCP Server).

Когда Antigravity CLI запускает рабочий процесс SDD в дальнейшем в этом практическом занятии, ему необходимы точные сведения о схеме набора данных BigQuery — именах таблиц, типах столбцов, связях. BigQuery MCP позволяет Antigravity CLI напрямую проверять схему в реальном времени. Это позволяет создавать спецификации и код, которые ссылаются на реальные таблицы и столбцы, а не на вымышленные.

Управляемая конфигурация MCP BigQuery

Google размещает управляемый сервер BigQuery MCP на инфраструктуре Google Cloud — локальная настройка не требуется (другие поддерживаемые продукты Google Cloud можно посмотреть в этой документации ). Настройте Antigravity CLI для подключения к нему, создав файл конфигурации MCP в каталоге вашего проекта:

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

Эта конфигурация сообщает AYY:

  • Где найти сервер BigQuery MCP ( serverUrl )
  • Для использования учетных данных Google для аутентификации ( authProviderType )

Конфигурация находится на уровне рабочей области ( .agents/mcp_config.json ).

Мы можем проверить конфигурацию из командной строки Antigravity, давайте сначала запустим её.

agy

Затем проверьте конфигурацию, выполнив команду /mcp

/mcp

Это покажет что-то подобное.

a7ef228bfcbb5280.png

Затем нажмите Esc , чтобы выйти из взаимодействия с командой косой черты.

Временно выйдите из интерфейса командной строки Antigravity (дважды нажмите Ctrl+D ).

8. Разработка функциональных возможностей с использованием разработки на основе спецификаций.

После установки навыков/плагинов и подключения BigQuery MCP вы можете использовать рабочий процесс разработки, основанный на спецификациях, для формального описания функции интеграции с BigQuery. На этом этапе принцип « сначала укажите, а потом пишите код » становится конкретным.

Убедитесь, что вы вошли в интерфейс командной строки Antigravity, и для этой демонстрации мы разрешим выполнение всех инструментов с этим флагом.

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 запустит процесс для понимания текущего проекта и сбора необходимой информации. Вы увидите, как он выполняет команды типа ListDir и Read как показано ниже.

3102949f929df967.png

Кроме того, для определения схемы набора данных будет использоваться ранее настроенное нами соединение BigQuery MCP.

7fbc061a07058d24.png

Это обеспечит корректный контекст для интерфейса командной строки Antigravity перед началом разработки.

Уточнение требований

Интерфейс командной строки Antigravity может задавать конкретные вопросы о функциональности. Типичные вопросы включают:

  • Как следует настроить идентификатор проекта?
  • Как следует агрегировать и отображать диаграмму динамики выручки?
  • Как следует подходить к интеграции? Прямой SQL против локального Pandas.

Вы можете ответить на эти вопросы, следуя рекомендациям агента.

91fb44a131f927e9.png4d5e5ffbc81644a5.png

Ознакомьтесь со спецификацией.

После уточнения будет создан официальный документ с техническими характеристиками. Если все инструкции будут выполнены правильно, будет применена конвенция obra/superpowers skill convention, в соответствии с которой документ с техническими характеристиками будет создан в каталоге 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 — вместо того, чтобы один агент выполнял все задачи последовательно, Antigravity CLI может делегировать задачи специализированным субагентам. В процессе реализации вы можете увидеть таких субагентов, как:

  • Исполнитель задачи — пишет код для конкретной задачи на основе плана.
  • Рецензент задач — проверяет реализованный код на соответствие спецификации.
  • Финальный рецензент кода — проводит комплексную проверку всех изменений перед завершением работы.

751df4f6d964e42b.png

Если вам будет предложено ответить подобным образом, используйте этот ответ.

Use subagent driven development

Позже мы увидим, что субагенты распределяются между собой, выполняя задачи по очереди.

fb4a986dbceaec96.pngb2e74e769f9ff4bf.png620d12e9056f621b.png

Через некоторое время разработка будет завершена (вероятно, после запуска агента Final Code Reviewer ). Затем мы сможем проверить результат.

Обновленный обзор руководства пользователя приложения

После завершения всех задач можно проверить обновленное приложение. Выйдите из Antigravity CLI, дважды нажав Ctrl+D , затем выполните следующую команду.

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

Теперь вы должны увидеть, что Total Orders превышает 120 000, и, если разработка пройдет успешно, система будет интегрирована с BigQuery.

20398466e2d8a70f.png

Поздравляем! Теперь вы успешно интегрируете BigQuery с вашим веб-приложением с помощью Antigravity CLI.

9. (Необязательно) Развертывание в облаке с помощью Antigravity CLI.

Панель управления работает локально через Cloud Shell Web Preview. Этот необязательный шаг развертывает ее в Cloud Run в качестве общедоступного веб-сервиса, демонстрируя, как возможности Antigravity CLI распространяются от разработки до эксплуатации.

Навык cloud-run-basics (из плагина google/skills который вы установили ранее) предоставляет Antigravity CLI информацию о шаблонах развертывания Cloud Run, требованиях к Dockerfile, привязке портов и флагах gcloud run deploy . Развертывание на основе исходного кода ( gcloud run deploy --source . ) выполняет сборку и развертывание одной командой — Cloud Build автоматически обрабатывает контейнеризацию.

Включите API Cloud Run

Включите API, необходимые для развертывания:

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

Затем введите Antigravity CLI.

agy --dangerously-skip-permissions

Запустите интерфейс командной строки Antigravity для развертывания

Давайте дадим ему команду развернуть наши приложения.

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

Для понимания требований к развертыванию веб-приложения текущего проекта будет прочитана инструкция по cloud-run-basics

a5ef955de2d71c91.png

После завершения процесса развертывания система подтвердит его успешность и предоставит вам сводку о ранее выполненном процессе развертывания, как показано в примере ниже. Вы можете получить доступ к своему приложению по предоставленному URL-адресу.

b58fb8f5f2023264.png

Теперь у вас есть полностью развернутое и доступное для запуска приложение, работающее в режиме реального времени, благодаря интерфейсу командной строки Antigravity.

10. Подведение итогов

Вы обновили панель управления электронной коммерцией, переведя данные из статических CSV-файлов в оперативную базу данных BigQuery — без написания кода приложения вручную. Antigravity CLI выполнил реализацию, используя дисциплинированный подход к разработке, основанный на спецификациях, с применением многократно используемых навыков и прямым подключением к вашим данным через MCP.

Что вы узнали

  • Как использовать Antigravity CLI в Cloud Shell для разработки с поддержкой ИИ.
  • Что представляют собой навыки агента и как поэтапное раскрытие информации обеспечивает эффективность контекстного окна.
  • Три категории навыков: методология (сверхспособности), эффективность (первобытный человек), знание предметной области (Google/Skills).
  • Что такое MCP и как настроить BigQuery MCP для доступа к данным в режиме реального времени.
  • Как запустить цикл разработки, основанный на спецификациях (спецификация → планирование → реализация), вместо кодирования на основе субъективных ощущений.
  • Как Antigravity CLI может создавать вспомогательных агентов для повышения эффективности и целенаправленности разработки.

Уборка

Чтобы избежать списания средств с вашего аккаунта Google Cloud за ресурсы, созданные в этом практическом задании, вы можете либо удалить отдельные ресурсы, либо удалить весь проект.

The easiest way to clean up is to delete the project. This removes all resources associated with the project.

gcloud projects delete $GOOGLE_CLOUD_PROJECT

Option 2: Delete individual resources

If you want to keep the project but remove only the resources created in this codelab:

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