Дайджесты новостей
Защитный архитектурный барьер режима /plan в Google Antigravity, разделяющий проект на фазы анализа, уточнения и утверждения кода.

Google Antigravity 2.17: как режим /plan защищает кодовую базу от ошибок ИИ-агентов

Каждый инженер, доверявший кодинг-агентам правку реального проекта, сталкивался со «слепой модификацией». Стоит неточно сформулировать задачу, как автономный помощник переписывает рабочую базу данных, ломает соседние модули и удаляет зависимости. Исправление таких галлюцинаций часто отнимает больше времени, чем написание кода вручную.

22 сентября 2026 года Google выпустила обновление платформы Google Antigravity 2.17.0. Главным нововведением стал режим /plan (Plan Mode) для CLI и веб-среды, превращающий агента из поспешного исполнителя в дисциплинированного архитектора.

Четыре барьера перед первой строчкой кода

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

Рабочий цикл включает четыре фазы:

  1. Explore (Исследование): Агент анализирует синтаксическое дерево (AST), проверяет зависимости и оценивает риски для соседних сервисов.
  2. Ask (Уточнение): При неоднозначности агент не додумывает требования, а открывает интерактивное интервью с вариантами выбора (например, расширять ли текущую схему данных).
  3. Plan (Формирование плана): Генерация Markdown-артефакта с контрольными точками и списком затронутых файлов.
  4. Review (Утверждение): Разработчик проверяет логику решения, оставляет правки и нажимает Proceed для запуска генерации кода.

Кроме того, запуск /plan без параметров активирует режим аудита (Discovery Mode). Агент сканирует проект, выявляет архитектурный техдолг и отсутствие тестов, предлагая список улучшений без правок в коде.

От проектного конфига к программному управлению планом

Начиная с версии 2.17.0 настройки безопасности проекта хранятся в /.gemini/config.json. Здесь задаются правила утверждения и защищенные каталоги:

{
  "$schema": "https://antigravity.google/schemas/config-v2.json",
  "version": "2.17.0",
  "planning": {
    "reviewPolicy": "always",
    "requireClarificationOnAmbiguity": true,
    "discoveryScanOnEmptyPlan": true,
    "protectedPaths": [
      "migrations/**",
      "config/production.env",
      "src/core/security/**"
    ],
    "allowedExecutionTools": [
      "replace_file_content",
      "write_to_file",
      "run_command"
    ]
  },
  "runtime": {
    "planningModel": "gemini-2.5-pro",
    "executionModel": "gemini-2.5-flash"
  }
}

Управлять сессиями планирования можно и программно через Python SDK:

import asyncio
from antigravity_sdk import AntigravityClient

async def main():
    client = AntigravityClient(project_root="./my-backend-service")

    # 1. Запуск безопасной сессии предварительного планирования
    session = await client.planning.create_session(
        instruction="Добавить вебхук Stripe и отправку чеков клиентам в Telegram",
        mode="plan_only"
    )

    # 2. Обработка уточнений при выявлении архитектурных развилок
    if session.needs_clarification:
        for question in session.clarification_questions:
            print(f"Вопрос агента: {question.text}")
            await session.answer_question(question.id, selected_option=question.options[0])

    # 3. Получение структурированного артефакта плана
    plan = await session.generate_plan()
    print(f"План сформирован. Затронуто файлов: {len(plan.affected_files)}")

    # 4. Проверка уровня риска и запуск генерации
    if "migrations" not in plan.risk_level:
        await session.approve_and_proceed()
        print("План утвержден, агент приступил к реализации.")
    else:
        await session.request_changes(comment="Запрещено изменять существующие таблицы базы данных.")

if __name__ == "__main__":
    asyncio.run(main())

Такой сценарий защищает чувствительные модули от непреднамеренных разрушений.

Цена предсказуемости: компромиссы и миграция настроек

Обязательное планирование вносит компромисс в скорость работы. На репозиториях крупнее 50 000 файлов статический анализ занимает от 30 до 90 секунд до формирования черновика плана.

Также разработчикам необходимо обновить пути: файл .agents/settings.json устарел, конфигурация перенесена в /.gemini/config.json.

Для боевых проектов режим /plan становится надежным стандартом. Минутная пауза на этапе проектирования защищает продакшн от неконтролируемых сбоев.