Programowanie oparte na specyfikacji za pomocą interfejsu wiersza poleceń Antigravity – strukturalne przepływy pracy agenta z umiejętnościami i MCP

1. Wprowadzenie

Szybkie tworzenie MVP za pomocą vibe-codingu jest szybkie, ale dodawanie do niego funkcji przez rzucanie kolejnych promptów na ścianę to sposób na zepsucie projektu. Potrzebujesz sposobu na wprowadzenie struktury i kontekstu rzeczywistego świata do rozwoju wspomaganego przez AI. W tym celu możesz użyć interfejsu wiersza poleceń Antigravity – agenta AI do kodowania, który działa w terminalu. Samodzielnie może zrozumieć bazę kodu, uruchamiać polecenia i edytować pliki. Jej prawdziwa moc tkwi w tym, co do niej podłączysz:

  • Umiejętności zapewniają agentowi metodologię i wiedzę o domenie – umiejętność metodologiczna wymusza uporządkowane przepływy pracy związane z opracowywaniem, a umiejętność dotycząca domeny zapewnia dokładną wiedzę o interfejsie API, dzięki czemu agent nie ma halucynacji.
  • Serwery MCP zapewniają agentowi połączenia na żywo z systemami zewnętrznymi, dzięki czemu może on sprawdzać rzeczywiste schematy, uruchamiać zapytania i weryfikować swoją pracę na podstawie rzeczywistych danych, zamiast polegać na nieaktualnej wiedzy szkoleniowej.

Umiejętności określają jak agent myśli, a MCP – co może zobaczyć i z czym może wejść w interakcję. Dzięki temu ogólny agent do kodowania staje się agentem, który wykonuje uporządkowany przepływ pracy oparty na rzeczywistych danych. To ćwiczenie z programowania przeprowadzi Cię przez ten proces od instalacji wtyczek po wprowadzenie funkcji.

Co utworzysz

Wzorce przedstawione w tym ćwiczeniu – instalowanie umiejętności w zakresie metodologii i wiedzy o domenie, łączenie serwerów MCP w celu uzyskania dostępu do danych na żywo i przeprowadzanie cyklu rozwoju opartego na specyfikacjach – mają zastosowanie do każdej funkcji tworzonej za pomocą interfejsu wiersza poleceń Antigravity, niezależnie od języka, platformy czy usług Google Cloud. Aby te wzorce były bardziej konkretne, przeanalizujesz konkretny przykład: dodanie integracji z BigQuery do panelu analitycznego e-commerce.

Aplikacja startowa to aplikacja internetowa FastAPI, która odczytuje dane o sprzedaży ze statycznych plików CSV i renderuje wykresy (trendy przychodów, najpopularniejsze produkty, podział według stanu zamówienia, wyniki według kategorii). Na koniec aplikacja wysyła zapytania do danych na żywo z BigQuery, czyli bezserwerowej hurtowni danych Google Cloud, która umożliwia wykonywanie zapytań SQL na dużych zbiorach danych bez zarządzania infrastrukturą. W szczególności łączysz się ze zbiorem danych thelook_ecommerce, odblokowując pełny katalog zamówień, produktów i klientów, którego nie może zapewnić plik CSV z 500 wierszami. Tę funkcję tworzysz w całości za pomocą interfejsu wiersza poleceń Antigravity, korzystając z umiejętności i MCP.

5acdeb09cd9d5960.png

Konfiguracja agenta, której będziemy używać z interfejsem wiersza poleceń Antigravity, będzie wyglądać tak:

5e3dd8629e65e6ce.png

Czego się nauczysz

  • Jak korzystać z Antigravity CLI w Cloud Shell – uruchamianie, poruszanie się po interfejsie TUI i uruchamianie poleceń z ukośnikiem
  • Czym są umiejętności agenta i jak wzorzec stopniowego ujawniania informacji (metadane → instrukcje → zasoby) zapewnia efektywność kontekstu
  • 3 kategorie umiejętności: metodologia (supermoce), wydajność (jaskiniowiec) i wiedza z danej dziedziny (google/skills)
  • Czym jest MCP i jak skonfigurować zdalny serwer MCP (BigQuery MCP) dla interfejsu wiersza poleceń Antigravity
  • Jak przeprowadzić cykl programowania oparty na specyfikacji: określanie → planowanie → wdrażanie
  • (Opcjonalnie) Jak działają subagenci w Antigravity CLI i jak nimi zarządzać
  • Jak zintegrować bibliotekę klienta google-cloud-bigquery Python z aplikacją FastAPI
  • (Opcjonalnie) Jak wdrożyć aplikację w Cloud Run za pomocą Antigravity CLI z umiejętnością dotyczącą domeny

Wymagania wstępne

  • konto Google Cloud;
  • Podstawowa znajomość Pythona, interfejsów API REST i poleceń terminala

2. Konfigurowanie środowiska

Ten krok powoduje sklonowanie repozytorium początkowego, skonfigurowanie projektu Google Cloud i włączenie potrzebnych interfejsów API.

Otwieranie Cloud Shell

Otwórz Cloud Shell w przeglądarce. Cloud Shell udostępnia wstępnie skonfigurowane środowisko ze wszystkimi narzędziami potrzebnymi do wykonania tego ćwiczenia. Gdy pojawi się prośba o autoryzację, kliknij Autoryzuj.

Następnie kliknij „Widok” –> „Terminal”, aby otworzyć terminal.Interfejs powinien wyglądać podobnie do tego:

86307fac5da2f077.png

Będzie to nasz główny interfejs: IDE u góry, terminal u dołu.

Konfigurowanie katalogu roboczego

Sklonuj repozytorium towarzyszące, które zawiera kod startowy tego ćwiczenia:

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

To repozytorium zawiera kompletną, działającą aplikację panelu e-commerce, która odczytuje dane ze statycznych plików CSV. W tym samouczku użyjesz interfejsu Antigravity CLI, aby dodać integrację z BigQuery jako nową funkcję.

800c260f0be6933c.png

Kluczowe pliki i katalogi:

  • src/main.py – aplikacja FastAPI z punktami końcowymi API, które udostępniają dane panelu.
  • src/data_service.py – warstwa danych, która odczytuje dane z plików CSV za pomocą biblioteki pandas.
  • src/templates/dashboard.html – szablon Jinja2 z wizualizacjami Chart.js
  • data/ – statyczne pliki CSV (orders.csv, products.csv, order_items.csv) zawierające niewielki podzbiór danych e-commerce.

Aplikacja to prosta tablica w trybie tylko do odczytu: main.py definiuje punkty końcowe interfejsu API, data_service.py odczytuje pliki CSV i zwraca uporządkowane dane, a dashboard.html renderuje te dane w postaci wykresów. Zintegrowana usługa BigQuery, którą tworzysz, zastępuje data_service.py modułem, który wysyła zapytania dotyczące danych na żywo zamiast odczytywać statyczne pliki.

Skonfiguruj terminal

Tworzenie projektu Google Cloud ( opcjonalnie)

Aby utworzyć nowy projekt, możesz to zrobić w interfejsie konsoli Cloud. W tym celu kliknij selektor projektu w lewym górnym rogu i kliknij New Project.

e2411959f960166b.png

LUB jeśli wolisz szybszą metodę, uruchom w terminalu to polecenie:

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

Spowoduje to utworzenie projektu Google Cloud z losowym identyfikatorem. Polecenie wyświetli wygenerowany identyfikator projektu – użyj go jako YOUR_PROJECT_ID w konfiguracji w późniejszym czasie.

Aktywowanie terminala

Teraz musimy skonfigurować terminal na potrzeby wybranego projektu Google Cloud. Aby wyświetlić listę dostępnych projektów i znaleźć identyfikator projektu, który chcesz wybrać, uruchom to polecenie:

gcloud projects list

Wyświetli się lista podobna do tej poniżej. Zapamiętaj lub skopiuj identyfikator projektu, którego będziesz używać.

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

Teraz uruchom to polecenie, aby utworzyć skrypt aktywujący terminal ( możesz też utworzyć ten plik samodzielnie):

cloudshell edit configure_terminal.sh

Następnie skopiuj ten kod do skryptu.

#!/bin/bash

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

Zastąp YOUR_PROJECT_ID identyfikatorem projektu. Poprzednie polecenie eksportuje też identyfikator projektu jako zmienną środowiskową, która będzie używana w całym tym przewodniku. Następnie zapisz plik i go uruchom.

bash configure_terminal.sh

Sprawdź, czy projekt jest prawidłowo ustawiony, sprawdzając żółty tekst obok katalogu roboczego w wierszu poleceń terminala Cloud Shell. Powinien wyświetlać identyfikator projektu.

8205fa68a1d749d7.png

Włącz wymagane interfejsy API

Następnie przejdziemy do BigQuery, które jest związane z naszym scenariuszem. Włącz interfejsy Google Cloud API potrzebne w tym samouczku:

gcloud services enable bigquery.googleapis.com

Ten interfejs API umożliwi nam dostęp do BigQuery. Teraz przygotujmy początkowy zbiór danych na potrzeby tego scenariusza ćwiczeń z programowania.

3. Konfigurowanie zbioru danych BigQuery

Załóżmy, że Twoja firma ma już dane e-commerce przechowywane w BigQuery – zamówienia, produkty i elementy zamówień. Tworzysz aplikację do wyświetlania panelu danych zamówień, ale obecnie odczytuje ona tylko niewielki wyciąg z tych danych w formacie CSV, aby można było początkowo skupić się na interfejsie. Teraz chcesz uaktualnić go tak, aby wysyłał zapytania do BigQuery bezpośrednio o pełny zbiór danych.

Aby to zasymulować, użyjesz TheLook E-commerce – publicznego zbioru danych utrzymywanego przez Google, który zawiera realistyczne syntetyczne dane e-commerce (ponad 125 tys. zamówień i ponad 29 tys. produktów). Kopiujesz odpowiednie tabele do instancji BigQuery w swoim projekcie, aby pełniły funkcję „danych Twojej firmy”.

W Cloud Shell mamy już interfejs wiersza poleceń bq, którego możemy używać do bezpośredniej interakcji z BigQuery, dzięki czemu możemy bezpośrednio przygotowywać dane.

Utwórz zbiór danych w projekcie:

bq mk --dataset $GOOGLE_CLOUD_PROJECT:thelook_ecommerce

Skopiuj 3 tabele z publicznego zbioru danych do nowego zbioru danych:

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

Sprawdź, czy tabele znajdują się w zbiorze danych:

bq ls $GOOGLE_CLOUD_PROJECT:thelook_ecommerce

Powinny być widoczne 3 tabel: orders, order_items i products.

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

Uruchom szybkie zapytanie testowe, aby sprawdzić, czy dane są dostępne:

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

Powinna się wyświetlić liczba ponad 100 tys. zamówień.

4. Uruchamianie początkowej aplikacji internetowej

Zanim uaktualnimy aplikację, uruchommy ją w obecnym stanie, aby zobaczyć, jak wygląda panel oparty na pliku CSV.

uv to szybki menedżer pakietów i projektów Pythona napisany w języku Rust ( dokumentacja). W tym ćwiczeniu używamy go ze względu na szybkość i prostotę. Jeśli w tym samouczku korzystasz z Cloud Shell, jest on już zainstalowany na instancji. Jeśli chcesz zainstalować go na swoim komputerze lokalnym, zapoznaj się z tym samouczkiem.

Zainstaluj zależności projektu, które przygotują też środowisko wirtualne:

uv sync

Jeśli znasz język Python, zamiast wykonywać polecenie python będziemy wykonywać każde polecenie za pomocą pliku binarnego uv. Uruchom serwer programistyczny FastAPI:

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

Otwórz panel w przeglądarce za pomocą funkcji Podgląd w przeglądarce Cloud Shell. Kliknij przycisk Podgląd w przeglądarce (ikonę oka na pasku narzędzi Cloud Shell) i wybierz Podejrzyj na porcie 8080.

53758c68d6505e7a.png

Panel zawiera 4 wykresy:

  • Trend przychodów – wykres liniowy pokazujący dzienne przychody w zakresie dat w danych CSV.
  • Najpopularniejsze produkty według przychodów – poziomy wykres słupkowy przedstawiający ranking produktów według łącznej sprzedaży.
  • Zestawienie stanu zamówienia – wykres kołowy przedstawiający rozkład zamówień zrealizowanych, wysłanych, w trakcie realizacji, anulowanych i zwróconych.
  • Skuteczność kategorii – poziomy wykres słupkowy przedstawiający przychody według kategorii produktów.

Zwróć uwagę na plakietkę Źródło danych: CSV w nagłówku. Karty podsumowania pokazują sumy obliczone na podstawie 500 zamówień i około 750 pozycji zamówienia, czyli niewielkiego podzbioru pełnego zbioru danych TheLook. Zakres dat jest ograniczony do okresu od października do grudnia 2023 r.

To jest nasza podstawowa aplikacja. Teraz zintegrujemy ją z BigQuery za pomocą interfejsu wiersza poleceń Antigravity.

5. Konfigurowanie interfejsu wiersza poleceń Antigravity

W tym kroku przedstawiamy Antigravity CLI, omawiamy interfejs użytkownika terminala i instalujemy 3 kategorie wtyczek, aby usprawnić nasz przepływ pracy programistycznej. Dowiesz się, czym są umiejętności agenta i MCP oraz jak rozszerzają one możliwości agenta AI do kodowania.

Czym jest Antigravity CLI?

Antigravity CLI to odmiana agenta do kodowania opartego na AI od Google: Antigravity dla terminala. Jest to lekki interfejs użytkownika terminala (TUI) napisany w języku Go, który łączy się z tym samym szkieletem agenta, który obsługuje aplikację na komputery Antigravity 2.0. Odczytuje bazę kodu, uruchamia polecenia, edytuje pliki i łączy się z narzędziami zewnętrznymi za pomocą MCP – wszystko z poziomu terminala.

Jeśli w tym samouczku używasz Cloud Shell, interfejs wiersza poleceń Antigravity jest w nim już zainstalowany. Możesz to sprawdzić, uruchamiając to polecenie:

agy --help

Wyświetli szczegóły tych opcji poleceń:

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

Uruchamianie interfejsu Antigravity CLI

Jeśli używasz interfejsu wiersza poleceń Antigravity po raz pierwszy, musisz go skonfigurować. Na nowej karcie terminala uruchom go.

agy

Jeśli uruchamiasz go po raz pierwszy, pojawi się prośba o wybranie metody uwierzytelniania.

5606b640b9bed9c3.png

W tym samouczku użyjemy Google OAuth. Pojawi się prośba o otwarcie adresu URL, na którym zobaczysz prośbę o wybranie konta Google , którego chcesz użyć do logowania.

e42183f1ccc5771a.png

Po kliknięciu opcji uwierzytelniania wybierz konto Google i kliknij Sign In.

572b1d06151b55fa.png

Wyświetli się ciąg znaków do skopiowania. Kliknij Copy to Clipboard, aby go skopiować.

590d375c71f62a0e.png

Następnie wklej go w wierszu poleceń Antigravity CLI, jak pokazano poniżej.

a807ff24fbf278b4.png

Następnie pojawi się prośba o wybranie motywu kolorystycznego i zaakceptowanie warunków korzystania.

3a7cd90438c94f5c.png

Pojawi się też prośba o zaufanie bieżącemu katalogowi obszaru roboczego. Zaakceptuj ją, aby kontynuować. Będzie to główny punkt wejścia do interakcji z Antigravity CLI w terminalu.

9e1e03543e8063c.png

Na razie zamknijmy interfejs wiersza poleceń Antigravity i przejdźmy do następnej sekcji.

6. Dostosowywanie – umiejętności agenta

Interfejs Antigravity CLI może odczytywać kod, uruchamiać polecenia powłoki i edytować pliki. Ma ograniczony wbudowany przepływ pracy oparty na specyfikacjach, a jego wiedza o konkretnych interfejsach API jest ograniczona do tego, co było w danych treningowych. W przypadku zadania takiego jak integracja BigQuery z istniejącą aplikacją pojawiają się 2 luki:

  1. Brak procesu – bez struktury Antigravity CLI może od razu przejść do pisania kodu. W przypadku drobnych poprawek jest to w porządku. W przypadku funkcji, która dotyczy wielu plików i punktów końcowych, dochodzi do niespójnych implementacji, pominięcia przypadków brzegowych i braku dokumentacji dotyczącej podjętych decyzji i ich uzasadnienia.
  2. Brak wiedzy – dane treningowe modelu mogą zawierać nieaktualne wzorce biblioteki klienta BigQuery, wycofane wywołania interfejsu API lub nieprawidłowe schematy tabel. Nie ma możliwości sprawdzenia, jak obecnie wygląda rzeczywisty zbiór danych.

Umiejętności wypełniają lukę w procesie. Umiejętność metodologii programowania, np. superpowers, wymusza cykl określania, planowania i wdrażania – agent nie napisze kodu, dopóki nie zatwierdzisz specyfikacji. Umiejętność domeny, np. bigquery-basics, udostępnia aktualną dokumentację interfejsu API utrzymywaną przez Google, dzięki czemu agent używa prawidłowych wzorców biblioteki klienta.

Serwery MCP uzupełniają braki w wiedzy w czasie działania. BigQuery MCP zapewnia agentowi aktywne połączenie z rzeczywistym zbiorem danych – może on wyświetlać listę tabel, sprawdzać typy kolumn i uruchamiać przykładowe zapytania. Agent korzysta z rzeczywistych danych schematu, a nie z domysłów.

Przyjrzyjmy się bliżej tym 2 rodzajom.

Umiejętności agenta

Umiejętności agenta to prosty, otwarty format rozszerzania możliwości agentów AI o specjalistyczną wiedzę i przepływy pracy. Każda umiejętność to przenośny katalog z kontrolą wersji, który zawiera plik SKILL.md – czytelną dla maszyny umowę określającą, jak agent obsługuje konkretne zadanie.

Katalog umiejętności wygląda tak:

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

Umiejętność to folder zawierający plik SKILL.md. Zawiera on metadane (co najmniej nazwę i opis) oraz instrukcje, które informują agenta, jak wykonać określone zadanie. Umiejętności mogą też zawierać skrypty, materiały referencyjne, szablony i inne zasoby.

Oto SKILL.md dla umiejętności bigquery-basics, której użyjesz później w tych ćwiczeniach z programowania:

---
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.]

Nagłówek YAML (nazwa + opis + metadane) to dane, które interfejs Antigravity CLI wczytuje przy uruchomieniu – lekkie metadane. Treść w formacie Markdown poniżej znaku --- to pełny zestaw instrukcji, który jest wczytywany tylko wtedy, gdy Antigravity wykryje zadanie związane z BigQuery.

Stopniowe odkrywanie

Umiejętności korzystają z 3-warstwowego wzorca stopniowego ujawniania informacji, który zapobiega przepełnieniu okna kontekstu:

  1. Warstwa 1 (wykrywanie): podczas uruchamiania Antigravity odczytuje tylko metadane YAML dla każdej zainstalowanej umiejętności. Wie, że umiejętność istnieje – nic więcej.
  2. Warstwa 2 (aktywacja): gdy Twoje zadanie pasuje do opisu umiejętności, AGY odczytuje pełny plik SKILL.md do aktywnego kontekstu. Teraz wie, co ma robić.
  3. Warstwa 3 (wykonanie): w razie potrzeby Antigravity uzyskuje dostęp do skryptów, przykładów lub zasobów umiejętności. Teraz wie, jak to zrobić.

Tylko odpowiednia wiedza jest wczytywana we właściwym czasie. Umiejętność wdrażania Cloud Run nie zużywa kontekstu, gdy na przykład pracujesz nad zapytaniem BigQuery.

3 kategorie umiejętności

Istnieje wiele różnych rodzajów umiejętności agentów. W tym laboratorium użyjemy 3 umiejętności, z których każda reprezentuje inną kategorię:

Kategoria

Umiejętności

Purpose

Wiedza o domenie

google/skills

Co agent wie o konkretnych technologiach

Metodologia

obra/superpowers

Jak rozwijać – wymusza programowanie oparte na specyfikacji, planowanie i testowanie.

Skuteczność

JuliusBrussee/caveman

Jak efektywnie wykorzystywać tokeny

google/skills to umiejętności agenta Google, które są utrzymywane przez Google na potrzeby usług Google. Na przykład zapewnia agentowi dokładną i aktualną wiedzę o interfejsach BigQuery API, wzorcach wdrażania Cloud Run i innych usługach. Bez umiejętności w danej dziedzinie agent opiera się na danych treningowych, które mogą być nieaktualne lub niekompletne. Umiejętności w danej dziedzinie zastępują zgadywanie aktualną dokumentacją.

obra/superpowers to jedna z opartych na opiniach implementacji przepływu pracy opartego na specyfikacji (SDD). Bez struktury SDD agenci przechodzą bezpośrednio do kodu, gdy opisujesz funkcję. Sprawdza się to w przypadku drobnych poprawek, ale w przypadku większych zmian daje niespójne wyniki, które trudno utrzymać. SDD wymusza ustrukturyzowany cykl: wyjaśnienie wymagań → napisanie specyfikacji → wygenerowanie planu → wdrożenie zgodnie ze specyfikacją. Na każdym etapie powstaje artefakt, który można sprawdzić. Agent nie rozpocznie kodowania, dopóki nie zatwierdzisz specyfikacji. Istnieją też inne platformy SDD, takie jak spec-kit, agent-skills i inne, z których każda ma inne podejście do cyklu określania, planowania i wdrażania. W tym ćwiczeniu używamy supermocy jako konkretnego przykładu. Podstawowa zasada (określ i zaplanuj przed napisaniem kodu) ma zastosowanie niezależnie od wybranej platformy.

JuliusBrussee/caveman kompresuje dane wyjściowe agenta nawet o 75%. Usuwa wypełniacze, uprzejmości i rozwlekłe wyjaśnienia, zachowując wszystkie techniczne aspekty. Mniejsza liczba tokenów w odpowiedzi oznacza bardziej produktywne wymiany informacji w trakcie sesji i szybsze odpowiedzi. Aktywuj go za pomocą ikony /caveman lub wydając agentowi polecenie mówienia w sposób efektywny. Jest automatycznie wyłączana w przypadku ostrzeżeń dotyczących bezpieczeństwa i nieodwracalnych działań.

Instalacja umiejętności agenta

Oficjalna instalacja Google Skills

Najpierw zainstalujmy niezbędne umiejętności Google, z którymi będziemy wchodzić w interakcje. W tym samouczku skupimy się na BigQueryCloud Run. Zainstalujmy te umiejętności. Użyjemy polecenia npx skills, aby zainstalować ten pakiet.

npx skills add google/skills

Spowoduje to otwarcie interaktywnego interfejsu terminala z wieloma umiejętnościami. Użyj klawiszy strzałekspacji, aby wybrać umiejętności potrzebne do tego laboratorium.

8b6b0deb5fe07dfd.png

Znajdź symbole bigquery-basicscloud-run-basics i kliknij Spacja, aby je wybrać. Pole powinno być ciemnoszare, jak pokazano poniżej.

4fa62a7341444be5.png

Następnie w sekcji wyboru agentów kliknij Enter, aby pominąć wybór, ponieważ interfejs Antigravity CLI jest już domyślnie uwzględniony.

c16e7ed1be8ad91b.png

Wybierzmy zakres instalacji Projekt. Spowoduje to zainstalowanie umiejętności w katalogu .agents w naszym katalogu roboczym.

6c84cee31651dffc.png

Na koniec kliknij Enter, aby odpowiedzieć Tak i zakończyć instalację. Możesz też odpowiedzieć Tak, aby zainstalować find-skills, jeśli masz skonfigurowanych wiele umiejętności.

4709e3a1ad34a27d.png

Instalowanie umiejętności innych firm jako wtyczek

Następnie zainstalujemy umiejętności obra/superpowersJuliusBrussee/caveman. Te umiejętności można zainstalować jako wtyczki interfejsu Antigravity CLI, dlatego możemy je zainstalować za pomocą tych poleceń.

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

Następnie możemy sprawdzić instalację za pomocą tego polecenia:

agy plugin list

Wyświetli te dane wyjściowe

{
  "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"
      ]
    }
  ]
}

W ten sposób zakończyliśmy konfigurowanie umiejętności. Przejdźmy do następnego

7. Dostosowywanie – narzędzia MCP

e7b9be2e1c98b4db.png

MCP (Model Context Protocol) to otwarty protokół, który standaryzuje sposób, w jaki agenty AI wykrywają narzędzia zewnętrzne i wchodzą z nimi w interakcje. Definiuje model klient-serwer: agent hostuje klienta MCP, a narzędzia są udostępniane przez serwery MCP. Każdy klient zgodny z MCP może używać dowolnego serwera zgodnego z MCP – agent nie potrzebuje niestandardowego kodu integracji dla każdego narzędzia.

MCP korzysta z architektury klient-serwer:

  • Host – aplikacja, w której znajduje się model AI (w tym przypadku interfejs wiersza poleceń Antigravity).
  • Klient – komponent w ramach hosta, który obsługuje komunikację MCP (wbudowany w interfejs wiersza poleceń Antigravity).
  • Serwer – uproszczony program, który udostępnia funkcje AI ( w naszym przypadku użyjemy serwera MCP BigQuery zarządzanego przez Google Cloud).

Gdy w dalszej części tego laboratorium Antigravity CLI uruchomi przepływ pracy SDD, będzie potrzebować dokładnej wiedzy o schemacie zbioru danych BigQuery – nazwach tabel, typach kolumn i relacjach. BigQuery MCP umożliwia narzędziu Antigravity CLI bezpośrednie sprawdzanie schematu na żywo. W ten sposób uzyskasz specyfikacje i kod, które odwołują się do rzeczywistych tabel i kolumn, a nie do wygenerowanych przez AI.

Konfiguracja zarządzanego MCP BigQuery

Google hostuje zarządzany serwer BigQuery MCP w infrastrukturze Google Cloud – nie wymaga to konfiguracji lokalnej ( inne usługi Google Cloud obsługiwane w tej dokumentacji). Skonfiguruj Antigravity CLI, aby się z nim połączyć, tworząc plik konfiguracji MCP w katalogu projektu:

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

Ta konfiguracja informuje AGY:

  • Gdzie znaleźć serwer BigQuery MCP (serverUrl)
  • Używanie danych logowania Google do uwierzytelniania (authProviderType)

Konfiguracja jest dostępna na poziomie obszaru roboczego (.agents/mcp_config.json).

Możemy sprawdzić konfigurację w interfejsie Antigravity CLI. Najpierw uruchommy go.

agy

Następnie sprawdź konfigurację, uruchamiając polecenie po ukośniku /mcp

/mcp

Wyświetli się coś takiego:

a7ef228bfcbb5280.png

Następnie naciśnij Esc, aby zakończyć interakcję z poleceniem po ukośniku.

Na razie zamknij interfejs wiersza poleceń Antigravity (naciśnij dwukrotnie Ctrl+D).

8. Rozwijanie funkcji za pomocą programowania opartego na specyfikacji

Po zainstalowaniu umiejętności lub wtyczek i połączeniu BigQuery MCP możesz używać przepływu pracy opartego na specyfikacji, aby formalnie określić funkcję integracji z BigQuery. To etap, na którym „określanie przed kodowaniem” staje się konkretne.

Upewnij się, że wpisujesz Antigravity CLI. W tej prezentacji zezwolimy na wykonanie wszystkich narzędzi za pomocą tej flagi.

agy --dangerously-skip-permissions

Włącz tryb jaskiniowca

Przed rozpoczęciem cyklu SDD aktywuj tryb jaskiniowca, aby zapewnić efektywne wykorzystanie tokenów w wieloetapowym procesie:

/caveman:caveman

Odpowiedzi interfejsu Antigravity CLI stają się zwięzłe – pomijane są wypełniacze i zwroty grzecznościowe, ale zachowywana jest cała treść techniczna. Mniejsza liczba tokenów na wymianę oznacza bardziej produktywne rozmowy w ramach tego samego limitu.

8e6965ae2207147e.png

Rozpocznij specyfikację SDD

Wpisz w interfejsie wiersza poleceń Antigravity prośbę o dodanie funkcji:

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.

Umiejętność supermocy aktywuje się automatycznie, gdy wykryje żądanie na poziomie funkcji. AGY wchodzi w cykl SDD zamiast przechodzić bezpośrednio do kodu.

Interfejs Antigravity CLI rozpocznie proces analizowania bieżącego projektu i zbierania niezbędnych informacji. Zobaczysz, jak wykonuje polecenia takie jak ListDirRead, jak pokazano poniżej.

3102949f929df967.png

Będzie też korzystać z połączenia BigQuery MCP, które zostało wcześniej skonfigurowane w celu znalezienia schematu zbioru danych.

7fbc061a07058d24.png

Dzięki temu interfejs Antigravity CLI będzie miał odpowiedni kontekst przed rozpoczęciem tworzenia.

Wyjaśnienie wymagania

Antigravity CLI może zadawać szczegółowe pytania dotyczące zakresu funkcji. Typowe pytania to:

  • Jak skonfigurować identyfikator projektu?
  • Jak należy agregować i wyświetlać wykres trendu przychodów?
  • Jak należy podejść do integracji? Bezpośrednie zapytania SQL a lokalna biblioteka Pandas

Możesz odpowiedzieć na te pytania zgodnie z zaleceniami agenta.

91fb44a131f927e9.png4d5e5ffbc81644a5.png

Sprawdź specyfikację

Po wyjaśnieniu wątpliwości wygeneruje formalny dokument specyfikacji. Jeśli użytkownik postępuje zgodnie z instrukcjami, będzie przestrzegać konwencji obra/superpowers, w ramach której utworzy dokument specyfikacji w katalogu docs/superpowers/specs, jak pokazano poniżej.

86e0a2f86a956497.png

Dokument specyfikacji będzie wyglądać podobnie do tego

# BigQuery Integration Design Specification

## Overview

This document specifies ...

## Architecture

The application currently reads ...

## Data Schema & Sources

All tables reside in the BigQuery ...

...

Po zapoznaniu się z tymi informacjami musimy potwierdzić specyfikacje, aby przejść do etapu planowania.

74cde3e9b4c95b88.png

proceed with the specs

Etap planowania i wykonywanie zadań przez subagenty

Po zatwierdzeniu specyfikacji interfejs Antigravity CLI rozłoży ją na plan wdrożenia, który zostanie zapisany w katalogu docs/superpowers/plans.

727b92a4eca89106.png

Dokumenty planu będą zawierać kilka elementów, np. jak w przykładzie poniżej:

  • Pliki do zmodyfikowania
  • Pliki do utworzenia lub zaktualizowania
  • Zmiany zależności
  • Podział zadania

Zaleca też używanie subagent driven development, które jest obsługiwane przez Antigravity CLI. Zamiast jednego agenta wykonującego wszystko po kolei Antigravity CLI może delegować zadania do wyspecjalizowanych subagentów. Podczas wdrażania możesz zobaczyć podagenty, takie jak:

  • Wykonawca zadania – pisze kod dla konkretnego zadania z planu.
  • Weryfikator zadania – sprawdza wdrożony kod pod kątem zgodności ze specyfikacją.
  • Ostateczny weryfikator kodu – przed zakończeniem procesu przeprowadza kompleksową weryfikację wszystkich zmian.

751df4f6d964e42b.png

Jeśli pojawi się taki komunikat, odpowiedz w ten sposób:

Use subagent driven development

Później zobaczymy, jak podagenci przejmują zadania pojedynczo.

fb4a986dbceaec96.pngb2e74e769f9ff4bf.png620d12e9056f621b.png

Po pewnym czasie rozwój zostanie zakończony ( prawdopodobnie po utworzeniu Final Code Reviewer agenta). Następnie możemy sprawdzić wynik.

Zaktualizowane ręczne sprawdzanie aplikacji

Po zakończeniu wszystkich zadań możemy sprawdzić zaktualizowaną aplikację. Zamknij interfejs wiersza poleceń Antigravity, naciskając dwukrotnie klawisz Ctrl+D, a następnie uruchom to polecenie:

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

Jeśli proces tworzenia przebiegł pomyślnie, powinna się teraz wyświetlać liczba Total Orders > 120 tys. zamówień zintegrowanych z BigQuery.

20398466e2d8a70f.png

Gratulacje! Udało Ci się zintegrować BigQuery z aplikacją internetową przy pełnej pomocy interfejsu Antigravity CLI.

9. (Opcjonalnie) Wdrażanie w Cloud Run za pomocą interfejsu Antigravity CLI

Panel działa lokalnie za pomocą podglądu w przeglądarce Cloud Shell. Ten opcjonalny krok umożliwia wdrożenie go w Cloud Run jako publicznie dostępnej usługi internetowej, co pokazuje, jak umiejętności domenowe interfejsu wiersza poleceń Antigravity rozciągają się od programowania po operacje.

Umiejętność cloud-run-basics (z wtyczki google/skills, którą zainstalowano wcześniej) zapewnia interfejsowi wiersza poleceń Antigravity wiedzę o wzorcach wdrażania Cloud Run, wymaganiach dotyczących pliku Dockerfile, wiązaniu portów i flagach gcloud run deploy. Wdrażanie na podstawie kodu źródłowego (gcloud run deploy --source .) kompiluje i wdraża za pomocą jednego polecenia – Cloud Build automatycznie obsługuje konteneryzację.

Włącz interfejsy Cloud Run API

Włącz interfejsy API wymagane do wdrożenia:

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

Następnie wpisz Antigravity CLI

agy --dangerously-skip-permissions

Wdrażanie za pomocą Antigravity CLI

Wydajmy mu polecenie wdrożenia naszych aplikacji

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

Odczyta cloud-run-basics, aby zrozumieć, jakie są wymagania dotyczące wdrożenia bieżącego projektu aplikacji internetowej.

a5ef955de2d71c91.png

Po zakończeniu sprawdzi, czy wdrożenie się powiodło, i wyświetli podsumowanie procesu wdrożenia, który został wcześniej przeprowadzony, jak w przykładzie poniżej. Dostęp do aplikacji możesz uzyskać za pomocą podanego adresu URL.

b58fb8f5f2023264.png

Teraz masz w pełni wdrożoną i dostępną aplikację na żywo dzięki interfejsowi wiersza poleceń Antigravity.

10. Słowem podsumowania

Uaktualniono panel e-commerce ze statycznych plików CSV do danych BigQuery na żywo – bez ręcznego pisania kodu aplikacji. Interfejs wiersza poleceń Antigravity obsługuje implementację w ramach zdyscyplinowanego przepływu pracy opartego na specyfikacjach, który jest prowadzony przez umiejętności wielokrotnego użytku i połączenie na żywo z danymi za pomocą MCP.

Czego się nauczysz

  • Jak korzystać z interfejsu wiersza poleceń Antigravity w Cloud Shell do tworzenia aplikacji z pomocą AI
  • Czym są umiejętności agenta i jak stopniowe ujawnianie informacji zapewnia wydajność okna kontekstu
  • 3 kategorie umiejętności: metodologia (supermoce), wydajność (jaskiniowiec), wiedza o branży (google/skills)
  • Czym jest MCP i jak skonfigurować BigQuery MCP na potrzeby dostępu do danych na żywo
  • Jak przeprowadzić cykl tworzenia oparty na specyfikacji (określanie → planowanie → wdrażanie) zamiast vibe coding
  • Jak Antigravity CLI może tworzyć sub-agenty, aby usprawnić i ułatwić proces programowania

Czyszczenie danych

Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby utworzone w tym laboratorium, możesz usunąć poszczególne zasoby lub cały projekt.

Najprostszym sposobem na zwolnienie miejsca jest usunięcie projektu. Spowoduje to usunięcie wszystkich zasobów powiązanych z projektem.

gcloud projects delete $GOOGLE_CLOUD_PROJECT

Opcja 2. Usuwanie poszczególnych zasobów

Jeśli chcesz zachować projekt, ale usunąć tylko zasoby utworzone w tym laboratorium:

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