Перейти к содержимому
arckep.ru — все нейросети в одном месте без VPN Перейти
>AISTUDY_
AUTHORСвежий выпуск №030 → Контекст, сессия, compact

Модуль 2.3 · Урок 2

Урок 2: Базовая работа с Antigravity CLI

Проверено 20 августа 2026
Практика
2.3 / Урок 2 из 3

Чему вы научитесь

  • Дадите задачу агенту в терминале и одним запросом из шелла
  • Заставите агента опереться на файлы проекта, а не на память модели
  • Создадите файл и поправите несколько файлов за один запрос
  • Положите правила в GEMINI.md и навык в .agents/skills/
  • Поймёте, почему в режиме печати команда шелла может тихо не выполниться

Два способа дать задачу

Команда одна: agy. Способа два.

Терминальный интерфейс. Заходите в папку проекта и запускаете без флагов:

cd ~/projects/my-app
agy

Пишете задачу внизу экрана и жмёте Enter. Контекст сессии живёт, пока не выйдете. Официальный старт: Getting Started.

Один запрос и выход (режим печати). Для скрипта, CI и копипаста из урока:

agy -p "Кратко опиши структуру этой папки. Не выдумывай файлов, которых нет."

-p — то же, что --print и --prompt. Ответ агента идёт в stdout, служебное — в stderr. Документация: Headless mode.

Продолжить прошлый разговор:

agy -p "Теперь то же, но только про тесты" --continue

Правила, которые агент читает сам

На старте agy разбирает файлы правил в корне проекта. Подходят и GEMINI.md, и AGENTS.md — так написано в лучших практиках CLI. Старый GEMINI.md со времён Gemini CLI не нужно переименовывать.

Короткий рабочий файл:

# GEMINI.md

Стек: Python 3.12, FastAPI, pytest.
Стиль: type hints обязательны, без эмодзи в комментариях.
Тесты: pytest -q. Не коммить без просьбы.

Повторяющуюся процедуру кладите в навык — markdown, который становится слэш-командой.

В проекте: .agents/skills/<имя>/ или .agents/skills/<имя>.md.
Глобально на машине: ~/.gemini/antigravity-cli/skills/.

---
name: format-tests
description: Привести тесты проекта к одному стилю
---
Запусти существующий форматтер и линтер тестов.
Не переписывай прод-код. Покажи diff.

Источник: Plugins & skills. MCP и плагины — отдельный разговор; в этом уроке достаточно правил и навыка.

Как агент ходит по коду

Это не «чат, в который вы вставили весь репозиторий». Агент сам выбирает инструменты: смотрит дерево, читает файлы, пишет файлы, при необходимости запускает команду шелла.

graph TD
    A["Ваш запрос"] --> B["GEMINI.md / AGENTS.md"]
    B --> C["Смотрит файлы"]
    C --> D{"Нужна правка?"}
    D -->|нет| E["Ответ в терминал"]
    D -->|да| F["Пишет файлы"]
    F --> G["При необходимости команда шелла"]
    G --> E

Имена инструментов видны в потоке --output-format stream-json. В документации Google для CLI фигурируют как минимум run_command и write_to_file плюс запрос разрешения. Не заучивайте старый набор Gemini CLI (run_shell_command, grep_search) — у agy другой бинарь.

Нужны тесты или git из -p — либо работайте в терминале и подтверждайте, либо заранее разрешите команды в ~/.gemini/antigravity-cli/settings.json, либо на выбросной папке:

agy -p "Запусти pytest -q и кратко перескажи падения" --dangerously-skip-permissions

Флаг одобряет все инструменты, включая запись и шелл. На основной машине без копии — нет.

Задача 1. Разобрать чужой репозиторий

Возьмите небольшой открытый проект — не свой монолит в первый раз.

cd ~/projects
git clone https://github.com/axios/axios.git
cd axios
agy -p "Опиши структуру этого репозитория по файлам на диске, не по памяти модели.
1. Какие верхние папки и зачем они.
2. Где точка входа.
3. Как устроены запрос и ответ.
4. Чем гонять тесты, если это написано в репозитории.
Если файла нет — так и скажи."

Сверьте ответ с деревом:

ls

Если агент пересказал «классический axios образца прошлых лет», а папок уже нет — в запросе не хватило «только то, что на диске». Повторите жёстче. В интерактиве тот же текст, без -p.

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

agy -p "Найди в этом репозитории код, который работает с HTTP-заголовками.
Дай пути файлов и короткие цитаты. Не придумывай символы, которых нет в файлах."

Задача 2. Новый файл

Лучше не в axios, а в своей песочнице: чужой репозиторий не место для учебных правок, которые потом всплывут в git status.

mkdir -p ~/projects/agy-sandbox && cd ~/projects/agy-sandbox
git init
agy -p "Создай lib/retry.ts с функцией retry.
Требования:
- async-функция и число попыток
- повтор при ошибке, экспоненциальная пауза
- TypeScript с типами
- короткий пример в комментарии
Другие файлы не трогай."

Проверьте, что файл появился: ls lib. Текст ниже — пример, как может выглядеть результат, не эталон agy:

/**
 * Повтор вызова с экспоненциальной паузой.
 * Пример: await retry(() => fetch("/api"), 3, 100);
 */
export async function retry<T>(
  fn: () => Promise<T>,
  maxAttempts: number = 3,
  initialDelay: number = 100
): Promise<T> {
  let lastError: Error | null = null;

  for (let attempt = 1; attempt <= maxAttempts; attempt++) {
    try {
      return await fn();
    } catch (error) {
      lastError = error as Error;
      if (attempt < maxAttempts) {
        const delay = initialDelay * Math.pow(2, attempt - 1);
        await new Promise((resolve) => setTimeout(resolve, delay));
      }
    }
  }

  throw lastError;
}

Задача 3. Несколько файлов за один запрос

Сила терминального агента — не «написать функцию», а согласовать импорт, реализацию и тест.

agy -p "В этой папке:
1. Подключи retry из lib/retry.ts к публичному API, если уже есть точка входа.
   Если точки входа нет — создай index.ts с реэкспортом.
2. Добавь test/retry.test.ts: успех после первой ошибки, исчерпание попыток,
   что пауза растёт.
3. Не меняй посторонние файлы.
В конце перечисли пути и суть каждого изменения."

После этого:

git status
git diff

Вы смотрите diff, а не верите отчёту агента. Если правки лишние — откатите файлы и сузьте запрос.

Модель на этот запуск

Список того, что доступно вашему входу прямо сейчас:

agy models

В документации режима печати на август 2026 в примере вывода есть Gemini 3.7 Flash, Gemini 3.6 Flash, Gemini 3.1 Pro (и другие). Это не «всегда одни и те же пять строк» — смотрите свой agy models. Не ориентируйтесь на Gemini 2.5 Pro: линейка в курсе — Gemini 3.x.

Зафиксировать модель и глубину рассуждения:

agy -p "Найди в этом сервисе, где кешируется ответ." --model gemini-3.7-flash-high --effort high

Неизвестный --model в режиме печати не подменяется молча: процесс выходит с ошибкой. В интерактиве модель переключают из интерфейса; точные имена — снова agy models.

Полезные флаги режима печати

ФлагЗачем
-p / --printОдин запрос, ответ в stdout
--continue / -cПродолжить последний разговор
--modelИмя из agy models
--effort low|medium|highГлубина рассуждения
--output-format jsonОтвет плюс usage и статус
--print-timeout 15mПотолок ожидания (по умолчанию 5 минут)
--dangerously-skip-permissionsОдобрить все инструменты на этот запуск

Полная таблица — в Headless mode. Долгий рефакторинг — в интерактиве, а не с таймаутом 5 минут.

Попробуйте сами

Задание 1 — свой проект, 10 минут

Возьмите папку с кодом, который вы написали сами (не node_modules).

agy -p "Опиши этот проект по файлам на диске.
Что запускать, где тесты, какие риски править вслепую.
Файлов, которых нет, не называй."

Сверьте с ls и README. Если агент «додумал» стек — в следующем запросе запретите догадки ещё жёстче.

Задание 2 — с нуля, 20 минут
mkdir -p ~/projects/weather-sandbox && cd ~/projects/weather-sandbox
git init
agy -p "Собери минимальный HTTP-сервис погоды на FastAPI.
GET /weather?city=Moscow
GET /forecast?city=Moscow&days=5
Папки: app/, tests/.
requirements.txt, пример .env без секретов, README с curl.
Не подключай платную погоду: верни заглушку с понятной структурой ответа."

Проверьте find . -type f. Ставить зависимости и гонять сервер — сами или в интерактиве с подтверждением команд.

Задание 3 — несколько файлов, 15 минут

В той же песочнице:

agy -p "Добавь логирование запросов, свои исключения и один тест на ошибку.
Обнови только нужные файлы. В конце — список путей.
Тесты сам не запускай, только напиши."

Смотрите git diff. Фраза «тесты сам не запускай» как раз обходит шелл в -p.

Если что-то странно

  • Пустой или «общий» ответ — вы не в той папке. agy работает от текущего каталога.
  • Файл не появился — смотрите, не отказали ли в разрешении (stderr в -p, запрос в интерактиве).
  • Агент правит не те пути — сузьте: «только app/ и tests/, README не трогай».
  • Справка по флагам: agy --help. Типичные поломки входа — урок 1 и официальный troubleshooting.

Из России вход в Google часто не открывается. Конкретные марки VPN не советуем. Модели рублями без подписки вендора — arckep.ru, стартовый баланс 100 ₽.

Ключевые выводы

  • В папке проекта: интерактив — agy, один запрос — agy -p "…"
  • GEMINI.md и AGENTS.md по-прежнему читаются; навыки проекта — .agents/skills/
  • Правка нескольких файлов работает, если в запросе есть границы и вы смотрите git diff
  • В режиме печати шелл по умолчанию не свободный — это не баг, это политика разрешений
  • Модели линейки Gemini 3.x; актуальный список — agy models, не статьи про 2.5 Pro

Следующий урок

Урок 3: Когда agy, когда Claude Code

Там — чем терминальный агент Google отличается от Claude Code, когда оставить компаниям старый gemini, и как не выбирать «один навсегда».