Как я перестал бояться Claude Code и научил его не ломать мои проекты

Знакомая ситуация: просишь Claude Code добавить авторизацию — он переписывает половину проекта. Просишь поправить одну функцию — получаешь удалённые тесты и новую зависимость, о которой не просил. За час строишь рабочий прототип, а потом три часа разгребаешь то, что Claude наворотил при «улучшении».

Я бэкенд-разработчик на Python, работаю в основном один. У меня нет роскоши держать QA-инженера, который будет ловить регрессии после каждого промпта. Мне нужно, чтобы AI-агент помогал быстрее шипить, а не создавал новые проблемы.

После нескольких недель исследования — чтения документации, обсуждений на Reddit, разбора чужих настроек — я собрал конфигурацию, которая реально работает. В этой статье — что именно, как настроить и почему это помогает.

Миллион токенов не спасает от регрессий

С выходом Opus 4.6 в феврале 2026 года контекстное окно Claude Code выросло с 200K до 1 миллиона токенов — для пользователей Max, Team и Enterprise это работает автоматически. Казалось бы, проблема исчерпания контекста решена. Загружаем весь репозиторий, работаем часами, забываем про /compact.

На практике — нет. Контекст перестал быть узким бутылочным горлышком, но регрессии никуда не делись. И вот почему:

Проблема не только в объёме памяти, но и в дисциплине. Даже человек с идеальной памятью будет вносить баги, если у него нет процесса ревью и тестирования. Claude с миллионом токенов помнит больше, но по-прежнему может решить «оптимизировать» вашу рабочую функцию или «улучшить» тест, который проверял важный edge case.

Compaction всё ещё случается. Anthropic сообщает о снижении compaction-событий на 15% — но не об их исчезновении. Длинная сессия с активным чтением файлов, запуском тестов и правками кода всё равно может подойти к границе. А при compaction теряются детали из середины разговора.

Для Sonnet и Pro-плана окно по-прежнему 200K. Не все работают на Opus с Max-подпиской. Если вы на Sonnet 4.6 или Pro-плане — управление контекстом остаётся критически важным.

Главное: контекстное окно определяет, сколько модель может помнить. А CLAUDE.md, субагенты и хуки определяют, что она должна делать. Это разные проблемы.

Три слоя защиты от регрессий

Слой 1: CLAUDE.md — конституция проекта

CLAUDE.md — файл, который Claude читает в начале каждой сессии. Ключевое свойство: он переживает compaction. Когда Claude сжимает контекст — история разговора теряет детали, но CLAUDE.md перечитывается с диска заново.

По данным SFEIR Institute, 60% обращений в поддержку Claude Code вызваны «ghost context» — работой без настроенного CLAUDE.md. Простой файл решает проблему в 90% случаев.

Вот шаблон, который я использую:

Секция CRITICAL RULES — ключевая. Claude следует этим правилам с удивительной последовательностью именно потому, что они инжектируются до каждого разговора, а не исчезают после compaction на 50-м сообщении.

Файл лучше держать компактным — до 200 строк. Для детальных правил существует .claude/rules/ — модульные файлы с glob-паттернами:

Такие правила загружаются только при работе с подходящими файлами. При работе с фронтендом — Python-правила не расходуют контекст. С 1M окном это менее критично, но привычка к экономии контекста не бывает лишней.

Слой 2: Субагенты — изолированные специалисты

Субагенты — самая недооценённая фича Claude Code. Каждый работает в собственном контекстном окне и возвращает в основную сессию только саммари.

Даже с миллионом токенов это ценно: субагент может провести глубокое исследование кодовой базы, прочитать сотни файлов — и вернуть вам пятистрочный отчёт. Основной контекст остаётся чистым и сфокусированным на текущей задаче.

Я использую трёх субагентов. Файлы создаются в .claude/agents/:

  • planner.md — исследует кодовую базу, создаёт пошаговый план, сохраняет в ./plans/. Ключевое правило: никогда не пишет код. Только план с оценкой рисков, списком затрагиваемых файлов и предложениями по тестам.
  • tester.md — пишет тесты по существующим паттернам проекта и запускает полный набор тестов. Не только новые — все. Регрессии прячутся именно в старых тестах.
  • code-reviewer.md — ревьюит изменения на регрессии, безопасность, соответствие паттернам из CLAUDE.md.

Подсказка в CLAUDE.md напоминает Claude про «команду» — без этого напоминания он пытается делать всё в основном контексте.

Примечание про Agent Teams. В Opus 4.6 появился research preview функции Agent Teams — несколько агентов координируются автоматически. Это перспективная фича, но пока в превью. Ручные субагенты через .claude/agents/ — проверенный и стабильный подход, который работает на любой модели.

Слой 3: Хуки — автоматические ворота

Хуки срабатывают на событиях жизненного цикла Claude Code. Вот .claude/settings.json, который я использую:

Первый хук — жёсткий gate: Claude физически не может закоммитить код, ломающий тесты. Никаких исключений, никаких «починю потом». Обратная связь заставляет модель исправлять регрессии до того, как они накопятся.

Второй хук — мягкое напоминание после каждого изменения файла. Мелочь, но дисциплинирует.

Замените python -m pytest tests/ на вашу команду тестов — npm test, go test ./..., cargo test и т.д.

Рабочий процесс: как выглядит реальная сессия

Перед сложной задачей — сначала план:

Получаю план → читаю → задаю вопросы → корректирую. Только потом:

Не «сделай всё сразу», а поштучно. Один шаг — тесты — следующий шаг.

Контроль контекста (особенно важно для Sonnet / Pro-плана, полезно и на Opus):

  • /cost — проверить потребление
  • На Sonnet/200K: /compact "Сохрани: список изменённых файлов, результаты тестов, текущий шаг плана" при 60–70%
  • На Opus/1M: compaction случается реже, но при очень длинных сессиях всё равно следите за /cost
  • Смена темы → /clear (CLAUDE.md перечитывается автоматически)

Effort levels (новое в Opus 4.6):

Opus 4.6 ввёл уровни усилий: low, medium, high, max. По умолчанию для Max-подписки стоит medium. Для сложных архитектурных решений — /effort high. Для простых правок — /effort low (экономит токены мышления).

Git-чекпоинты:

Если Claude сломал — Esc + Esc → восстановить код. Или git reset --hard HEAD. Никогда не дальше 10 секунд от рабочего состояния.

После реализации:

Коммичу только после двух зелёных отчётов.

Структура файлов

Итоговая структура в проекте:

Всё коммитится в репозиторий — коллеги получают те же правила при клонировании.

Что ещё помогает

MCP-серверы расширяют возможности Claude Code. Запускаются локально:

Puppeteer MCP deprecated — используйте Playwright. Проверить подключение: /mcp.

Параллельные сессии по-прежнему полезны. Даже с 1M контекстом разделение «реализация / тесты / dev server» по терминалам убирает шум из основной сессии.

IDE: Google Antigravity — бесплатный форк VS Code с агентным интерфейсом. Встроенный Gemini 3 Pro может тестировать UI через браузер, пока Claude Code работает в терминале. Два AI-мозга, ноль дополнительных расходов.

Что изменилось на практике

До этого сетапа: 2–3 часа в день на борьбу с регрессиями. Claude «чинит» одно — ломает два.

Регрессии снизились кардинально. Хук блокировки коммитов один стоит всего времени на настройку — Claude не может закоммитить сломанный код, точка. Сессии продуктивны дольше — субагенты держат основной контекст чистым и сфокусированным. Восстановление мгновенное — чекпоинты + git = 10 секунд до рабочего состояния. Пайплайн plan → implement → review → test ловит проблемы до их накопления.

С переходом на Opus 4.6 и 1M контекст стало ещё лучше — compaction случается реже, сессии длиннее, и Claude лучше удерживает общую картину проекта. Но без CLAUDE.md, субагентов и хуков миллион токенов — это просто миллион токенов, в которых модель может наворотить больше.

Читать оригинал