Polecenia i sterowanie: koordynowanie tworzenia aplikacji za pomocą Gemini i MCP

1. Wprowadzenie

W tym praktycznym laboratorium poćwiczysz nowoczesne umiejętności programistyczne, wykorzystując Antigravity do utworzenia kompletnej aplikacji w chmurze. Dowiesz się też, jak używać serwera MCP Developer Knowledge i umiejętności agenta, aby zwiększyć jego wiedzę i poprawić jakość danych wyjściowych.

Tworzymy „System dostarczania kotów” – aplikację, która generuje obrazy kotów za pomocą Gemini 3.1 Flash Image, znanego też jako Nano Banana 2. Backend aplikacji zostanie opracowany przy użyciu pakietu Antigravity SDK i wdrożony w Cloud Run. Utworzymy też nowoczesny frontend za pomocą lit i vite. A wszystko to bez ręcznego pisania ani jednej linijki kodu.

Czego się nauczysz

  • Jak pracować z Antigravity CLI w trybie szybkim i trybie planowania
  • Jak przyznać Antigravity dostęp do dokumentacji dla programistów Google za pomocą serwera MCP Developer Knowledge
  • Jak instalować niestandardowe umiejętności w Antigravity CLI
  • Jak używać Antigravity do wdrażania i audytowania aplikacji

Wymagania wstępne

  • Umiejętność korzystania z terminala
  • Umiejętność czytania i rozumienia kodu
  • Podstawowa wiedza o agentach AI do kodowania
  • Podstawowa wiedza o chmurze

2. Konfiguracja

Aby zainicjować projekt Google Cloud potrzebny do tego ćwiczenia, postępuj zgodnie z instrukcjami poniżej. Po zainicjowaniu projektu zalecamy wykonanie tego ćwiczenia w Cloud Shell, ponieważ zawiera ono wszystkie narzędzia potrzebne do jego uruchomienia.

Jeśli wolisz wykonać to ćwiczenie w środowisku lokalnym, przed rozpoczęciem musisz zainstalować Pythona, uv i edytor kodu. O ile nie zaznaczono inaczej, wszystkie instrukcje w tym ćwiczeniu zakładają, że wykonujesz je w Cloud Shell.

Samodzielne konfigurowanie środowiska

  1. Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub użyj istniejącego. Jeśli nie masz jeszcze konta Gmail lub Google Workspace, musisz je utworzyć.

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.png

  • Nazwa projektu to wyświetlana nazwa dla uczestników tego projektu. Jest to ciąg znaków, który nie jest używany przez interfejsy API Google. Możesz go w każdej chwili zaktualizować.
  • Identyfikator projektu jest unikalny we wszystkich projektach Google Cloud i niezmienny (nie można go zmienić po ustawieniu). Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie musisz się nim przejmować. W większości ćwiczeń musisz odwoływać się do identyfikatora projektu (zwykle oznaczanego jako PROJECT_ID). Jeśli wygenerowany identyfikator Ci się nie podoba, możesz wygenerować inny losowy identyfikator. Możesz też spróbować użyć własnego identyfikatora i sprawdzić, czy jest dostępny. Po tym kroku nie można go zmienić i pozostaje on taki przez cały czas trwania projektu.
  • Dla Twojej informacji istnieje trzecia wartość – numer projektu , której używają niektóre interfejsy API. Więcej informacji o tych 3 wartościach znajdziesz w dokumentacji.
  1. Następnie musisz włączyć rozliczenia w konsoli Cloud, aby korzystać z zasobów i interfejsów API Cloud. Wykonanie tego ćwiczenia nie będzie kosztować dużo, a może nawet nic. Aby wyłączyć zasoby i uniknąć naliczania opłat po zakończeniu tego samouczka, możesz usunąć utworzone zasoby lub projekt. Nowi użytkownicy Google Cloud mogą skorzystać z programu bezpłatnego okresu próbnego o wartości 300 USD.

Uruchamianie Cloud Shell

Chociaż Google Cloud można obsługiwać zdalnie z laptopa, w tym ćwiczeniu będziesz używać Google Cloud Shell, czyli środowiska wiersza poleceń działającego w chmurze.

W konsoli Google Cloud kliknij ikonę Cloud Shell na prawym górnym pasku narzędzi:

Aktywowanie Cloud Shell

Uzyskanie dostępu do środowiska i połączenie się z nim może zająć kilka chwil. Po jego wykonaniu powinno wyświetlić się coś takiego:

Zrzut ekranu terminala Google Cloud Shell pokazujący, że środowisko zostało połączone

Ta maszyna wirtualna zawiera wszystkie potrzebne narzędzia dla programistów. Zawiera również stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i usprawnia proces uwierzytelniania. Wszystkie zadania w tym ćwiczeniu możesz wykonać w przeglądarce. Nie musisz niczego instalować.

3. Konfigurowanie i uwierzytelnianie Antigravity CLI

W tym module będziesz pracować z Antigravity (AGY). Jest to agent kodowania od Google, który używa modeli Gemini od Google, aby pomagać Ci w tworzeniu oprogramowania. Dostępna jest aplikacja AGY na komputer, interfejs wiersza poleceń (AGY CLI) oraz zintegrowane środowisko programistyczne (IDE), które umożliwia wyświetlanie i edytowanie kodu razem z agentem. W tym module będziesz używać interfejsu wiersza poleceń AGY.

Dodatkowo dostępny jest też pakiet SDK do tworzenia własnych agentów ogólnego przeznaczenia za pomocą platformy Antigravity (możesz traktować ją jako silnik Antigravity).

Uruchamianie i uwierzytelnianie AGY

Kliknij przycisk Otwórz edytor, aby otworzyć edytor Cloud Shell.

2cf4fca2471d60ac.png

Po otwarciu edytora możesz zmaksymalizować okno za pomocą przycisku maksymalizacji na pasku menu:

1f8f9cf09e821b80.png

Otwórz panel terminala za pomocą menu Terminal > Nowy terminal lub skrótu klawiszowego Ctrl+` (Ctrl + tylda):

307efeaef3537ba3.png

U dołu ekranu powinno otworzyć się nowe okno terminala z promptem bash:

e127f0fcd18d93fb.png

Następnie w terminalu utwórz katalog roboczy na pierwsze ćwiczenie i przejdź do niego:

mkdir -p ~/hello-agy && cd ~/hello-agy

W tym terminalu wpisz agy, aby uruchomić Antigravity CLI:

agy

Po uruchomieniu agy poprosi o uwierzytelnienie. Wybierz Użyj projektu w chmurze Google:

c307f5f610adb95a.png

Na ekranie pojawi się link. Skopiuj podany link i wklej go w innej karcie przeglądarki w trybie incognito.

Aby się zalogować, użyj tych samych danych logowania do konta do nauki, które zostały podane na potrzeby tego modułu.

Skopiuj kod autoryzacji i wklej go z powrotem w agy:

6c1a2608ae353e3b.png

Gdy pojawi się prośba o podanie identyfikatora projektu, użyj identyfikatora projektu wyświetlanego na panelu bocznym tej strony.

9ee6b90385475721.png

Na koniec wybierz lokalizację Google Cloud global:

220a86cbed900bfb.png

Generowanie szybkiego skryptu do zwracania ciekawostek o kotach

Teraz wygenerujmy szybki skrypt, aby zobaczyć, jak działa interfejs wiersza poleceń AGY.

Poproś AGY o napisanie krótkiego skryptu, który zwraca ciekawostki o kotach, i uruchom go:

Write a simple node script that returns cat trivia and run it for me

AGY chwilę się zastanowi i napisze skrypt.

Gdy AGY poprosi o uprawnienia do uruchomienia skryptu Node.js, kliknij Tak i naciśnij Enter.

Tak wyglądała prośba o uprawnienia w moim przypadku:

Requesting permission for: node cat-trivia.js

Do you want to proceed?
> 1. Yes
  2. Yes, and always allow in this conversation for commands that start with 'node cat-trivia\.js'
  3. Yes, and always allow for commands that start with 'node cat-trivia\.js' (Persist to settings.json)
  4. No

Po uruchomieniu skryptu AGY wyświetli podsumowanie wykonanych czynności. Oto co mi powiedział:

I have created and executed a simple Node.js script that returns cat trivia.

### Created File

• cat-trivia.js: A standalone Node.js script that fetches random cat facts from a public API ( https://catfact.ninja/fact ) with built-in fallbacks and ASCII art.

### Execution Output

Running the script using  node cat-trivia.js  produced the following output:

     _._     _,-'""`-._
    (,-.`._,'(       |\`-/|
        `-.-' \ )-`( , o o)
              `-    \`_`"'-

    🐱 Here is your Cat Trivia:
    ----------------------------------------
    "In 1987 cats overtook dogs as the number one pet in America."
    ----------------------------------------

Podoba mi się, że dodał nawet rysunek kota w ASCII.

Teraz możesz dowiedzieć się więcej o tym, co zostało utworzone. Możesz otworzyć edytor i sprawdzić kod źródłowy (zdecydowanie zachęcam do tego), ale możesz też poprosić AGY o dodanie adnotacji i wyjaśnienie kodu:

Explain the code you generated please

Przeczytaj wyjaśnienie i zadaj dodatkowe pytania, jeśli chcesz dowiedzieć się więcej.

Na koniec, aby zakończyć to zadanie, zamknij agy, naciskając 2 razy Ctrl+D.

4. Łączenie się z dokumentacją dla programistów Google i wysyłanie do niej zapytań

Chociaż agenci i modele stają się coraz inteligentniejsi, jakość odpowiedzi zależy w dużej mierze od dokładności i aktualności ich wiedzy. Dlatego ważne jest, aby dać agentowi narzędzia do pobierania aktualnej dokumentacji dla programistów z wiarygodnego źródła, aby mógł unikać podejmowania nieprawidłowych decyzji na podstawie wiedzy wewnętrznej lub domysłów.

Serwer MCP Developer Knowledge umożliwia agentom kodowania wyszukiwanie oficjalnej dokumentacji dla programistów Google dotyczącej Firebase, Google Cloud, Androida, Map i wielu innych usług Google.

Łącząc agenta bezpośrednio z oficjalną biblioteką dokumentacji Google, masz pewność, że używany przez niego kod i wskazówki są aktualne i oparte na wiarygodnym kontekście.

Aby rozpocząć, włącz interfejs Developer Knowledge API:

gcloud services enable developerknowledge.googleapis.com

Konfigurowanie serwera MCP Developer Knowledge

Aby utworzyć obszar roboczy na potrzeby tego projektu i skonfigurować serwer MCP Developer Knowledge dla Antigravity, wykonaj te czynności:

Pliki konfiguracyjne Antigravity dla Twojego użytkownika są przechowywane w folderze .gemini w katalogu domowym. Poniższy schemat przedstawia uproszczoną wersję tego folderu z głównymi elementami, które w nim znajdziesz:

~/.gemini
├── antigravity/
├── antigravity-cli/
│   ├── brain/            # Conversations and artifacts
│   └── settings.json     # CLI settings
├── config/
│   ├── plugins/          # Global / shared plugins
│   └── mcp_config.json   # Global / shared MCP config
├── skills/               # Global / shared skills
│   └── {skill_name}/
│       ├── SKILL.md      # Skill definition
│       └── ...           # [optional] support files, scripts, etc.
└── GEMINI.md             # Global rules

Aby dodać serwer MCP Developer Knowledge do interfejsu wiersza poleceń AGY, edytuj plik mcp_config.json w folderze ~/.gemini/config.

Najpierw sprawdź, czy folder config istnieje, i utwórz pusty plik mcp_config.json:

mkdir -p ~/.gemini/config && touch mcp_config.json

Następnie otwórz ten plik w edytorze Cloud Shell za pomocą tego polecenia:

cloudshell edit ~/.gemini/config/mcp_config.json

Na koniec dodaj tę konfigurację do mcp_config.json. Pamiętaj, aby zastąpić [[PROJECT_ID]] rzeczywistym identyfikatorem projektu. Identyfikator projektu znajdziesz na panelu bocznym tych instrukcji.

~/.gemini/config/mcp_config.json

{
  "mcpServers": {
    "google-developer-knowledge": {
      "url": "https://developerknowledge.googleapis.com/mcp",
      "authProviderType": "google_credentials",
      "oauth": {
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      },
      "timeout": 30000,
      "headers": {
        "X-goog-user-project": "[[PROJECT_ID]]"
      }
    }
  }
}

Teraz możesz sprawdzić, czy serwer MCP został prawidłowo wczytany, za pomocą polecenia po ukośniku /mcp. Powinien pojawić się ekran podobny do tego:

f104490ade24fa5e.png

Serwer MCP Developer Knowledge jest skonfigurowany. Zobaczmy, jak działa.

Generowanie skryptu do tworzenia zdjęć kotów za pomocą Nano Banana 2

Aby pokazać możliwości serwera MCP Developer Knowledge, utwórzmy prosty skrypt, który generuje zdjęcia kotów za pomocą Nano Banana 2.

W terminalu musisz uruchomić te polecenia. Aby wrócić do powłoki, możesz zamknąć agy, naciskając 2 razy Ctrl+D.

Najpierw włącz AI Platform API. Ten interfejs API umożliwia Twojemu projektowi wywoływanie interfejsu Gemini API:

gcloud services enable aiplatform.googleapis.com

Utwórz obszar roboczy dla generatora kociąt:

mkdir -p ~/nano-banana-kitten && cd ~/nano-banana-kitten

Zainicjuj menedżera zależności:

uv init

Teraz uruchom Antigravity i podaj ten prompt:

Write a script that uses Nano Banana 2 through Vertex AI to generate a picture of a cute kitten, and run the script for me. Use the google-developer-knowledge MCP when researching.

Naciśnij Ctrl+O, aby rozwinąć pośrednie kroki myślenia i przeczytać je. Powinieneś zobaczyć, jak AGY używa usługi google-developer-knowledge do wykonywania zapytań, pisania skryptu, stosowania go i naprawiania znalezionych błędów.

Wyświetl obraz kota =^_^=

8c74ee97ffb3caf3.png

5. Tworzenie agenta dostarczającego koty

Serwer MCP Developer Knowledge jest przydatny do odpowiadania na pytania na podstawie oficjalnej dokumentacji, ale czasami potrzebne informacje są bardzo specjalistyczne i nie można ich znaleźć w dokumentach. W takich przypadkach możemy użyć innego otwartego standardu – umiejętności agenta.

Umiejętności agenta to lekki, otwarty format rozszerzania możliwości agentów AI o specjalistyczną wiedzę i przepływy pracy. Cechą charakterystyczną umiejętności jest tzw. progresywne ujawnianie: zamiast wczytywać całą zawartość umiejętności od początku, agent aktywuje ją tylko wtedy, gdy jest to konieczne, wczytując wymagane informacje na żądanie i oszczędzając cenne tokeny.

Aby utworzyć agenta dostarczającego koty, użyjemy pakietu Antigravity SDK jako platformy agenta. Aby zminimalizować trudności i uprościć implementację dla agenta kodowania, wykorzystamy też oficjalną umiejętność pakietu Antigravity SDK.

Tworzenie obszaru roboczego i instalowanie zależności

Najpierw utwórz folder na potrzeby projektu końcowego:

mkdir -p ~/cat-delivery && cd ~/cat-delivery

Następnie użyj menedżera pakietów uv, aby zainicjować ten folder i zainstalować kilka zależności:

uv init && uv add fastapi uvicorn

Instalowanie umiejętności Python AGY SDK

Aby instalować umiejętności z kodu źródłowego i otwartych platform handlowych, możesz użyć interfejsu wiersza poleceń umiejętności firmy Vercel. Aby zainstalować umiejętność google-antigravity-sdk, uruchom w terminalu to polecenie. Upewnij się, że uruchamiasz je z folderu obszaru roboczego laboratorium (~/cdslab).

npx skills add Google-Antigravity/antigravity-sdk-python --skill google-antigravity-sdk --agent antigravity-cli --yes

Dane wyjściowe tego polecenia powinny wyglądać tak:

22091934f7a7f862.png

Pamiętaj, że polecenie npx skills add Google-Antigravity/antigravity-sdk-python automatycznie sklonowało repozytorium antigravity-sdk-python z GitHub. To polecenie umożliwia instalowanie umiejętności z dowolnego repozytorium GitHub, o ile mają one folder skills.

Instalowanie umiejętności z wtyczek

Innym sposobem instalowania umiejętności jest system wtyczek. Wtyczki w Antigravity umożliwiają dołączanie do tego samego pakietu nie tylko umiejętności, ale też serwerów MCP, reguł i haków. Przydają się do tworzenia spójnych rozszerzeń w jednym pakiecie wdrożeniowym.

Ponieważ tworzymy aplikację internetową, zainstaluj wtyczkę modern-web-guidance za pomocą tego polecenia:

agy plugin install https://github.com/GoogleChrome/modern-web-guidance

Ta wtyczka zawiera umiejętność, która obejmuje sprawdzone metody tworzenia stron internetowych opracowane przez zespół Google Chrome.

Uruchom ponownie agy, aby zobaczyć te umiejętności w działaniu. W prompcie agy wpisz /skills, aby otworzyć menu umiejętności:

/skills

Zobaczysz coś takiego:

cfdb4b5212fa94e1.png

Po skonfigurowaniu zarówno serwera MCP, jak i umiejętności agenta Antigravity jest gotowy do pracy nad naszym projektem, mając wszystkie potrzebne informacje.

Planowanie aplikacji

Antigravity ma 2 tryby działania: szybki i planowania. W trybie szybkim Antigravity od razu zaczyna pracować nad zadaniem. Jest on przeznaczony do prostszych, samodzielnych zadań. Tryb planowania jest przeznaczony do złożonych zadań, w których agent najpierw opracowuje plan, który możesz sprawdzić i zmodyfikować przed rozpoczęciem implementacji.

Aby włączyć tryb planowania, możesz użyć polecenia po ukośniku /planning:

/planning

Możesz wrócić do trybu szybkiego za pomocą polecenia /fast:

/fast

Podczas przełączania się między trybem planowania a trybem szybkim może się też przydać przełączanie modeli. Możesz to zrobić za pomocą polecenia /model:

/model

Lista dostępnych modeli może się nieznacznie różnić w zależności od środowiska i trybu uwierzytelniania:

db085a557b145806.png

Na potrzeby tego samouczka wybierz Gemini 3.5 Flash (Low). Słowo „low” w nawiasach oznacza poziom myślenia modelu. Gemini 3.5 Flash z niskim poziomem myślenia to bardzo szybki i skuteczny model z dobrą ekonomią tokenów. Wybranie średniego lub wysokiego poziomu myślenia spowoduje, że model poświęci więcej tokenów i czasu na rozumowanie, zanim udzieli odpowiedzi.

W rzeczywistych scenariuszach możesz na przykład używać najbardziej zaawansowanego modelu z wysokim poziomem myślenia do planowania, a szybszego modelu do implementacji. Ale w naszym projekcie wystarczy Gemini 3.5 Flash (Low).

Generowanie planu

Przełącz Antigravity z powrotem na tryb planowania:

/planning

Następnie wyślij ten prompt, aby utworzyć plan implementacji:

Create an application named "Cat Delivery System". This application will be an agent that generates cat pictures using Gemini 3.1 Flash Image (aka Nano Banana 2). The user will interact with the agent whenever it feels the need for a cat picture in their life, whether it be to make them smile, laugh or just brighten their day. Cat pictures can take any form the user desires: anime, cartoon, photorealistic, 3D render, etc. The only rule is ABSOLUTELY NO DOGS - steer the user towards cats if necessary. P.S.: capybaras are allowed.

The tech stack should be as follows:
- uv package manager
- Backend: agent using Antigravity SDK
- Frontend: simple chat window, light mode, lit / vite
- Model: Gemini 3.5 Flash for the root agent, Gemini 3.1 Flash Image for image generation

TODO:
- backend should serve a static frontend
- define the contract between frontend and backend before starting implementation
- use Google Cloud Project auth

Zobaczysz, że w fazie badań Antigravity może wywołać zarówno serwer MCP Developer Knowledge, jak i co najmniej jedną umiejętność:

15194975b2519818.png

Po zakończeniu planu pojawi się prośba o jego sprawdzenie:

7fe5bc52f1abefe3.png

Zwróć uwagę na prawy dolny róg ekranu: znajduje się tam komunikat 1 artifact (1 artefakt) i podpowiedź, aby użyć polecenia /artifact do sprawdzenia. W Antigravity pliki pomocnicze, takie jak plany, listy zadań i przewodniki, są nazywane „artefaktami”, aby odróżnić je od zwykłych plików, które są częścią rozwiązania (np. kodu źródłowego).

Wpisanie w prompcie polecenia /artifact umożliwi Ci wyświetlenie planu i dodanie do niego komentarzy, jeśli chcesz wprowadzić jakieś zmiany.

/artifact

Powinien pojawić się ekran podobny do tego:

2b5d9881a172ac7c.png

Zwróć uwagę, że jest tam plik o nazwie implementation_plan.md z opcjami otwierania, zatwierdzania i odrzucania. Aby go otworzyć, naciśnij Enter. Oto przykład, jak wygląda plan w moim systemie:

cda1079662bf731b.png

Możesz przewijać w górę i w dół za pomocą strzałek, a w dowolnej linii możesz dodać komentarz, naciskając klawisz C.

Ważną sekcją do sprawdzenia jest „Verification Plan” (Plan weryfikacji). W tym miejscu możesz sprawdzić i dodać kroki weryfikacji, aby model wiedział, że zadanie zostało wykonane.

b4f09e0084f7f6a1.png

Dodawaj komentarze do planu, aż będziesz z niego zadowolony(-a), a następnie naciśnij ESC, aby wrócić. Następnie naciśnij Y, aby potwierdzić wysłanie komentarzy do agenta:

602addd55412527c.png

Po naciśnięciu Y agent natychmiast zacznie działać. W miarę postępów w implementacji agent może poprosić o więcej potwierdzeń wywołania narzędzia.

Możesz zauważyć, że z czasem liczba artefaktów będzie się zwiększać. Oprócz planu Antigravity utworzy też listę zadań (task.md), aby śledzić każdy element, który musi zaimplementować, lub działanie, które musi wykonać. Po zakończeniu utworzy plik przewodnika (walkthrough.md) z wyjaśnieniem osiągniętych celów. Możesz sprawdzić wszystkie te elementy, używając ponownie polecenia /artifact.

384ffba82817aa8d.png

W każdej chwili możesz otworzyć te pliki i dodać do nich komentarze, które po wysłaniu do agenta zostaną umieszczone w kolejce do wykonania, tak jak prompt w kolejce. Dobrym rozwiązaniem jest dodawanie komentarzy do tych plików, aby przekazać agentowi dodatkowy kontekst dotyczący Twojej prośby.

6. Wdrażanie agenta w chmurze

Możesz już wdrożyć go w chmurze za pomocą Cloud Run. Ponieważ to zadanie nie wymaga szczegółowego planu, możemy użyć trybu szybkiego.

Przełącz Antigravity na tryb szybki za pomocą polecenia /fast:

/fast

Użyj tego prompta, aby poinstruować Antigravity, aby wdrożył agenta CDS w Cloud Run:

Deploy the agent and frontend to Cloud Run.

TODO:
- backend should serve a static frontend
- frontend and backend are deployed in the same container

Acceptance Criteria
- Agent is deployed to cloud run
- Frontend is live and renders with no errors
- Backend is live and responds to requests with no errors

7. Gratulacje!

W tym warsztacie ćwiczyłeś(-aś) nowoczesne programowanie za pomocą Antigravity, w tym rozszerzanie jego możliwości za pomocą serwerów MCP i umiejętności agenta. Utworzyłeś(-aś) też pełną aplikację, korzystając z pakietu Antigravity SDK i Gemini 3.1 Flash Image. Twoja nauka nie musi się na tym kończyć. Sprawdź inne ćwiczenia na tej platformie i rozwijaj umiejętności programowania opartego na agentach.