Каждый инженер, доверявший кодинг-агентам правку реального проекта, сталкивался со «слепой модификацией». Стоит неточно сформулировать задачу, как автономный помощник переписывает рабочую базу данных, ломает соседние модули и удаляет зависимости. Исправление таких галлюцинаций часто отнимает больше времени, чем написание кода вручную.
22 сентября 2026 года Google выпустила обновление платформы Google Antigravity 2.17.0. Главным нововведением стал режим /plan (Plan Mode) для CLI и веб-среды, превращающий агента из поспешного исполнителя в дисциплинированного архитектора.
Четыре барьера перед первой строчкой кода
В основе режима лежит изоляция: пока план изменений не подтвержден разработчиком, кодовая база доступна агенту только для чтения.
Рабочий цикл включает четыре фазы:
- Explore (Исследование): Агент анализирует синтаксическое дерево (AST), проверяет зависимости и оценивает риски для соседних сервисов.
- Ask (Уточнение): При неоднозначности агент не додумывает требования, а открывает интерактивное интервью с вариантами выбора (например, расширять ли текущую схему данных).
- Plan (Формирование плана): Генерация Markdown-артефакта с контрольными точками и списком затронутых файлов.
- 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 становится надежным стандартом. Минутная пауза на этапе проектирования защищает продакшн от неконтролируемых сбоев.
