Управление и контроль: организуйте разработку приложений с помощью Gemini и MCP.

1. Введение

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

Мы разрабатываем «Систему доставки кошек» — приложение, генерирующее изображения кошек с помощью Gemini 3.1 Flash Image, также известного как Nano Banana 2. Бэкенд приложения будет разработан с использованием Antigravity SDK и развернут в Cloud Run. Мы также собираемся создать современный фронтенд с использованием lit и vite. И всё это без написания единой строчки кода вручную.

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

  • Как работать с Antigravity CLI в быстром режиме и режиме планирования.
  • Как предоставить Antigravity доступ к документации для разработчиков Google с помощью сервера Developer Knowledge MCP.
  • Как установить пользовательские навыки в Antigravity CLI
  • Как использовать Antigravity для развертывания и аудита приложений

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

  • Опыт работы с терминалом.
  • Чтение и понимание кода
  • Базовые знания в области программирования агентов искусственного интеллекта.
  • Базовое понимание концепций облачных вычислений.

2. Настройка

Следуйте приведенным ниже инструкциям, чтобы инициализировать проект Google Cloud, необходимый для этого практического занятия. После инициализации проекта рекомендуется запускать это практическое занятие в Cloud Shell, поскольку в ней уже есть все необходимые инструменты для его запуска.

Если вы предпочитаете выполнять это практическое задание в локальной среде, вам потребуется установить Python, UV-развертку и редактор кода, прежде чем продолжить. Все инструкции в этом практическом задании предполагают выполнение в Cloud Shell, если не указано иное.

Настройка среды для самостоятельного обучения

  1. Войдите в консоль Google Cloud и создайте новый проект или используйте существующий. Если у вас еще нет учетной записи Gmail или Google Workspace, вам необходимо ее создать .

295004821bab6a87.png37d264871000675d.png96d86d3d5655cdbe.png

  • Название проекта — это отображаемое имя участников данного проекта. Это строка символов, не используемая API Google. Вы всегда можете его изменить.
  • Идентификатор проекта уникален для всех проектов Google Cloud и является неизменяемым (его нельзя изменить после установки). Консоль Cloud автоматически генерирует уникальную строку; обычно вам неважно, какая она. В большинстве практических заданий вам потребуется указать идентификатор вашего проекта (обычно обозначается как PROJECT_ID ). Если сгенерированный идентификатор вас не устраивает, вы можете сгенерировать другой случайный идентификатор. В качестве альтернативы вы можете попробовать свой собственный и посмотреть, доступен ли он. После этого шага его нельзя изменить, и он сохраняется на протяжении всего проекта.
  • К вашему сведению, существует третье значение — номер проекта , которое используется некоторыми API. Подробнее обо всех трех значениях можно узнать в документации .
  1. Далее вам потребуется включить оплату в консоли Cloud для использования ресурсов/API Cloud. Выполнение этого практического задания не потребует больших затрат, если вообще потребует. Чтобы отключить ресурсы и избежать дополнительных расходов после завершения этого урока, вы можете удалить созданные ресурсы или удалить проект. Новые пользователи Google Cloud имеют право на бесплатную пробную версию стоимостью 300 долларов США .

Запустить Cloud Shell

Хотя Google Cloud можно управлять удаленно с ноутбука, в этом практическом занятии вы будете использовать Google Cloud Shell — среду командной строки, работающую в облаке.

В консоли Google Cloud нажмите на значок Cloud Shell на панели инструментов в правом верхнем углу:

Активировать Cloud Shell

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

Скриншот терминала Google Cloud Shell, показывающий, что среда подключена.

Эта виртуальная машина содержит все необходимые инструменты разработки. Она предоставляет постоянный домашний каталог объемом 5 ГБ и работает в облаке Google, что значительно повышает производительность сети и аутентификацию. Вся работа в этом практическом задании может выполняться в браузере. Вам не нужно ничего устанавливать.

3. Настройка и аутентификация интерфейса командной строки Antigravity.

В этой лабораторной работе вы будете работать с Antigravity (AGY). Это агент для разработки программного обеспечения от Google, использующий модели Gemini от Google. AGY включает в себя настольное приложение, интерфейс командной строки (AGY CLI) и интегрированную среду разработки (IDE), позволяющую просматривать и редактировать код совместно с агентом. В этой лабораторной работе вы будете использовать AGY CLI.

Кроме того, существует также SDK для создания собственных универсальных агентов с использованием агентской платформы Antigravity (представьте себе эту платформу как движок Antigravity).

Запуск и аутентификация AGY

Нажмите кнопку «Открыть редактор», чтобы открыть редактор Cloud Shell.

2cf4fca2471d60ac.png

После открытия редактора вы можете развернуть окно на весь экран, используя кнопку «Развернуть» в строке меню:

1f8f9cf09e821b80.png

Откройте панель терминала, используя меню Терминал > Новый терминал или сочетание клавиш Ctrl+` (Ctrl + обратная кавычка):

307efeaef3537ba3.png

В нижней части экрана должно открыться новое окно терминала с приглашением командной строки bash:

e127f0fcd18d93fb.png

Затем в терминале создайте рабочую директорию для вашего первого упражнения и перейдите в неё:

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

В этом терминале введите команду agy , чтобы запустить Antigravity CLI:

agy

После запуска agy вам будет предложено пройти аутентификацию. Выберите «Использовать проект Google Cloud»:

c307f5f610adb95a.png

Теперь на экране отображается ссылка. Скопируйте предоставленную ссылку и вставьте её в новую вкладку в режиме инкогнито вашего браузера.

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

Скопируйте код авторизации и вставьте его обратно в gy:

6c1a2608ae353e3b.png

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

9ee6b90385475721.png

Наконец, выберите Google Cloud Location global :

220a86cbed900bfb.png

Создайте простой скрипт для получения интересных фактов о кошках.

Теперь давайте создадим небольшой скрипт, чтобы получить представление о том, как работает AGY CLI.

Попросите AGY написать небольшой скрипт, который будет возвращать факты о кошках и запускать его для вас:

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

AGY немного подумает и напишет для вас сценарий.

Когда AGY запросит разрешение на запуск скрипта узла, выберите «Да» и нажмите Enter.

Вот как выглядел запрос на разрешение в моем случае:

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

После выполнения скрипта AGY выдает сводку о проделанной работе. Вот что он мне показал:

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

Мне понравилось, что мне даже добавили ASCII-рисунок кошки.

Теперь вам, возможно, захочется узнать больше о том, что он для вас создал. Вы можете открыть редактор и изучить исходный код (я бы, безусловно, рекомендовал вам это сделать), а также попросить AGY прокомментировать и объяснить вам код:

Explain the code you generated please

Внимательно прочтите объяснение и задайте дополнительные вопросы, если хотите узнать больше.

Наконец, чтобы завершить эту задачу, закройте gy, дважды нажав Ctrl+D .

4. Подключитесь к документации Google для разработчиков и запросите её.

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

Сервер Google Developer Knowledge MCP предоставляет программистам возможность искать в официальной документации Google для разработчиков информацию о Firebase, Google Cloud, Android, Maps и многих других продуктах Google.

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

Для начала включите API базы знаний для разработчиков:

gcloud services enable developerknowledge.googleapis.com

Настройка и конфигурирование сервера Developer Knowledge MCP

Выполните следующие шаги, чтобы создать рабочее пространство для этого проекта и настроить сервер Developer Knowledge MCP для Antigravity:

Конфигурационные файлы Antigravity для вашего пользователя хранятся в папке .gemini в вашем домашнем каталоге. На приведенной ниже схеме показана упрощенная версия этой папки с основными элементами, которые вы там найдете:

~/.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

Чтобы добавить сервер Developer Knowledge MCP в AGY CLI, отредактируйте файл mcp_config.json в папке ~/.gemini/config .

Во-первых, убедитесь, что папка config существует, и создайте пустой файл mcp_config.json:

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

Затем откройте этот файл в редакторе Cloud Shell, используя команду ниже:

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

Наконец, добавьте следующую конфигурацию в файл mcp_config.json . Обратите внимание, что вам нужно заменить [[PROJECT_ID]] на фактический идентификатор вашего проекта. Вы можете найти свой идентификатор проекта на боковой панели этих инструкций.

~/.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]]"
      }
    }
  }
}

Теперь вы можете проверить, правильно ли загружен сервер MCP, с помощью команды /mcp . Вы должны увидеть что-то подобное:

f104490ade24fa5e.png

Панель управления знаниями для разработчиков настроена, давайте теперь посмотрим, как она работает!

Создайте скрипт для создания изображений кошек с помощью Nano Banana 2.

Давайте создадим простой скрипт, который генерирует изображения кошек с помощью Nano Banana 2, чтобы продемонстрировать возможности MCP для разработчиков.

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

Сначала включите API платформы ИИ. Это API, который позволяет вашему проекту выполнять вызовы API Gemini:

gcloud services enable aiplatform.googleapis.com

Создайте рабочее пространство для генератора котят:

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

Инициализируйте менеджер зависимостей:

uv init

Теперь запустите Antigravity и введите следующую команду:

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.

Нажмите Ctrl+O, чтобы развернуть этапы промежуточного мышления, и читайте дальше. Вы увидите, как AGY использует сервис google-developer-knowledge для создания запросов, написания скрипта, его запуска и исправления обнаруженных ошибок.

Посмотреть на картинку с кошкой =^_^=

8c74ee97ffb3caf3.png

5. Создание агента по доставке кошек.

Google Developer Knowledge MCP полезен для поиска ответов на вопросы, возникающие при работе с официальной документацией, но иногда необходимая информация носит узкоспециализированный характер и не может быть найдена в документации. В таких случаях можно использовать другой открытый стандарт: Agent Skills .

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

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

Создайте рабочую область и установите зависимости.

Сначала создайте папку для итогового проекта:

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

Затем с помощью менеджера пакетов uv инициализируйте эту папку и установите несколько зависимостей:

uv init && uv add fastapi uvicorn

Установите навык Python из AGY SDK.

Для установки навыков из исходного кода и открытых магазинов приложений можно использовать Skill CLI от Vercel. Выполните следующую команду в терминале, чтобы установить навык google-antigravity-sdk . Убедитесь, что вы запускаете его из папки рабочей области lab ( ~/cdslab ).

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

Результат выполнения этой команды должен выглядеть примерно так:

22091934f7a7f862.png

Обратите внимание, что команда npx skills add Google-Antigravity/antigravity-sdk-python автоматически клонирует репозиторий antigravity-sdk-python с GitHub. Эту команду можно использовать для установки навыков из любого репозитория GitHub, если в нем есть папка skills .

Установка навыков из плагинов

Ещё один способ установки навыков — через систему плагинов. Плагины в Antigravity позволяют включать в один пакет не только навыки, но и MCP-серверы, правила и хуки. Они полезны для создания целостных расширений в одном пакете развертывания.

Поскольку мы разрабатываем веб-приложение, установите плагин modern-web-guidance, используя приведенную ниже команду:

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

Этот плагин включает в себя навык, содержащий лучшие практики веб-разработки, разработанные командой Google Chrome.

Запустите agy еще раз, чтобы увидеть эти навыки в действии. В командной строке agy введите /skills , чтобы открыть меню навыков:

/skills

Вы увидите что-то подобное:

cfdb4b5212fa94e1.png

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

Планирование приложения

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

Для включения режима планирования можно использовать команду с косой чертой /planning :

/planning

Вы можете переключиться обратно в быстрый режим с помощью /fast :

/fast

При переключении между режимами планирования и ускоренного выполнения также может быть полезно переключать модели. Это можно сделать с помощью команды /model :

/model

Список доступных моделей может немного отличаться в зависимости от вашей среды и режима аутентификации:

db085a557b145806.png

В рамках этого руководства выберите Gemini 3.5 Flash (низкий уровень) . Слово «низкий» в скобках означает уровень мышления модели. Gemini 3.5 Flash с низким уровнем мышления — это очень быстрая и эффективная модель с хорошей экономикой токенов. Выбор среднего или высокого уровня мышления приведет к тому, что модель потратит больше токенов и времени на рассуждения, прежде чем даст ответ.

Например, в реальных условиях для планирования можно использовать наиболее функциональную модель высокого уровня сложности, а для реализации — более быструю. Но для нашего проекта достаточно Gemini 3.5 Flash (низкий уровень).

Разработка плана

Переключите Antigravity обратно в режим планирования:

/planning

Затем отправьте следующее сообщение для создания плана реализации:

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

Вы увидите, что на этапе исследования «Антигравитация» может задействовать как модуль знаний разработчика (Developer Knowledge MCP), так и один или несколько навыков:

15194975b2519818.png

После завершения составления плана вам будет предложено его просмотреть:

7fe5bc52f1abefe3.png

Обратите особое внимание на нижний правый угол экрана: там отображается сообщение «1 артефакт» и подсказка использовать /artifact для проверки. В Antigravity вспомогательные файлы, такие как планы, списки задач и пошаговые инструкции, называются «артефактами», чтобы отличать их от обычных файлов, являющихся частью решения (например, исходного кода).

Введя команду /artifact в командной строке, вы сможете просмотреть план и оставить комментарии, если потребуется внести какие-либо корректировки.

/artifact

Вы должны увидеть что-то подобное:

2b5d9881a172ac7c.png

Обратите внимание, что существует файл с именем implementation_plan.md , содержащий параметры для открытия, утверждения или отклонения. Нажмите Enter , чтобы открыть его. Вот пример того, как выглядит план в моей системе:

cda1079662bf731b.png

С помощью клавиш со стрелками можно прокручивать страницу вверх и вниз, а на любой строке можно добавить комментарий, нажав клавишу C.

Важный раздел, который следует проверить, — это «План верификации». Здесь вы можете проверить и добавить этапы валидации, чтобы модель знала, что задача выполнена.

b4f09e0084f7f6a1.png

Добавляйте комментарии к плану, пока он вас не устроит, затем нажмите ESC, чтобы вернуться назад. После этого нажмите Y, чтобы подтвердить отправку комментариев агенту.

602addd55412527c.png

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

Вы можете заметить, что количество артефактов будет увеличиваться со временем. Помимо плана, Antigravity также создаст список задач ( task.md ), чтобы отслеживать каждый элемент, который необходимо реализовать, или действие, которое необходимо выполнить. После завершения он создаст файл пошагового руководства ( walkthrough.md ) с объяснением достигнутых целей. Вы можете просмотреть все эти файлы, снова используя команду /artifact .

384ffba82817aa8d.png

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

6. Разверните агента в облаке.

Теперь вы готовы развернуть его в облаке с помощью Cloud Run. Поскольку эта задача не требует сложного плана, мы можем использовать быстрый режим.

Переключите антигравитацию в быстрый режим с помощью /fast :

/fast

Используйте следующую команду, чтобы дать указание Antigravity развернуть агент CDS в 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. Поздравляем!

На этом мастер-классе вы отработали современные методы разработки с использованием Antigravity, включая расширение его возможностей за счет серверов MCP и навыков агентов. Вы также создали полноценное приложение, используя SDK Antigravity и образ Flash Gemini 3.1. Ваше обучение на этом не заканчивается: ознакомьтесь с другими мастер-классами на этой платформе и продолжайте развивать свои навыки программирования агентов!