Конец эпохи наивного доверия: почему ваш Claude Code забывает всё после 50-й строчки
Вы даёте агенту задачу: "перепиши монолит на микросервисы". Он кивает, пишет первые три сервиса, а потом начинает спрашивать, как называется ваш проект. Знакомая история? Это не баг, это фундаментальная проблема архитектуры 2025 года, которую до сих пор игнорируют.
К марту 2026 года контекстные окна выросли до 200K токенов, но качество работы агентов на длинных задачах упало на 40% по сравнению с короткими промптами. Токены стали дешевле, но их изобилие убило дисциплину. Агенты тонут в собственной памяти, как в болоте.
Жёсткий факт: Claude Code 3.1 (актуальная версия на 02.03.2026) без управления контекстом выдаёт код с 70% точности на задачах длиннее 10K токенов. С context engineering — 92%. Разница в цене одного часа работы — $45 против $18.
Анатомия провала: что ломается в голове coding-агента
Представьте, что вы загружаете в оперативку 500 страниц документации, 20 файлов кода и историю чата на 100 сообщений. И просите мозг работать. Он не может — он тратит 80% ресурсов на поиск нужной информации в этой куче.
У coding-агентов та же болезнь. Архитектура Claude Code до сих пор использует статическое усечение контекста — когда контекстная память заполняется, старые токены просто отрезаются. Ровно так, как это делали в 2024 году. В то время как Opencode уже год использует Dynamic Context Pruning (о чём я писал в сравнении Opencode и Claude Code).
Три столпа спасения: CLAUDE.md, Plan Mode и методика Compact-Reinject
Эти методики выросли из практики работы с мультиагентными системами, вроде архитектуры "коллективного разума", но оказались смертельно эффективны и для одиночных агентов.
1CLAUDE.md — конституция вашего проекта
Это не README. Это жёсткий технический документ, который живёт в корне проекта и загружается в промпт первым делом. Его цель — дать агенту неизменные правила игры.
Как НЕ надо делать:
# Мой проект
Здесь будет описание.
Используем Python 3.11.
Классический мусор, который агент проигнорирует через 10 минут. Правильный CLAUDE.md выглядит так:
# CLAUDE.md - Project Constitution v2.1
## CORE RULES (NEVER BREAK)
1. Все функции должны иметь type hints для аргументов и возвращаемого значения.
2. Импорты: стандартная библиотека → сторонние библиотеки → локальные модули.
3. Именование переменных: snake_case, классы: PascalCase, константы: UPPER_SNAKE_CASE.
4. Для логирования используй только structlog, конфиг уже в `core/logger.py`.
## ARCHITECTURE GUARDRAILS
- Сервисный слой: `services/` не может импортировать `repositories/` напрямую, только через интерфейсы.
- База данных: все запросы через SQLAlchemy 2.4, сырые SQL только в миграциях.
- API: ответы должны соответствовать схеме в `schemas/api_v1/`.
## CONTEXT MANAGEMENT DIRECTIVES
- При работе с файлом длиннее 200 строк сначала создай summary в комментариях в начале файла.
- Если задача требует изменения более 3 файлов — автоматически переходи в Plan Mode.
- Критические решения (выбор библиотеки, изменение архитектуры) требуют запроса подтверждения у пользователя.
Этот файл — ваша главная инвестиция в context engineering. Он экономит сотни токенов на повторных объяснениях.
2Plan Mode: не планирование, а декомпозиция с памятью
Plan Mode в Claude Code 3.1 — это не просто "разбей задачу на шаги". Это отдельный режим работы с изолированной памятью для планирования и отдельной — для исполнения.
Вот как выглядит типичная ошибка:
# Агент пытается сделать всё сразу, теряя контекст
user: "Добавь аутентификацию JWT, кэширование Redis и метрики Prometheus в существующий сервис пользователей."
# Агент начинает писать код, на шаге 3 забывает про требования к безопасности из шага 1.
Правильное использование Plan Mode:
# Включаем Plan Mode специальной директивой
/system plan_mode enable
you: Задача: добавить JWT, Redis, Prometheus в user_service.
# Агент создаёт изолированный план:
Plan created:
1. Анализ текущей структуры user_service (файлы: 3)
2. Внедрение JWT: модификация auth.py, создание middleware (файлы: 2)
3. Интеграция Redis: кэширование запросов GET /user/{id} (файлы: 2)
4. Добавление метрик Prometheus: эндпоинт /metrics, счётчики запросов (файлы: 2)
5. Тестирование: юнит-тесты для каждого модуля (файлы: 4)
# Теперь выполняем план по шагам, с подгрузкой только нужного контекста
/system execute_step 1
Ключевое отличие: план живёт в отдельном "слое" памяти. При выполнении шага 4 агент не видит детали шага 1, но помнит общую структуру плана. Это резко снижает когнитивную нагрузку.
3Compact-Reinject: хирургическое сжатие контекста
Самая продвинутая техника. Когда диалог раздувается до 100+ сообщений, вы не удаляете историю — вы её сжимаете и реинжектируете.
Алгоритм:
- Compact: просим агента самому сжать предыдущие обсуждения в структурированный дамп.
- Store: сохраняем этот дамп во внешнее хранилище (просто текстовый файл).
- Reinject: когда агенту нужна история, мы загружаем не все 100 сообщений, а только сжатый дамп.
Пример промпта для сжатия:
/system context_compress
Сожми историю обсуждения проекта "микросервис платежей" с 15.02.2026 по сегодня. Извлеки:
- Принятые архитектурные решения (не более 5 пунктов)
- Отклонённые варианты с причинами (не более 3)
- Открытые вопросы и следующий шаг
Выведи в формате YAML.
Агент вернёт что-то вроде:
decisions:
- db: выбрана PostgreSQL 16 с диапазонным партиционированием по дате
- api: REST over HTTP/2, авторизация через JWT с коротким TTL
- retry: экспоненциальная backoff с jitter, максимум 5 попыток
rejected:
- MongoDB: отклонён из-за требований ACID для финансовых транзакций
- gRPC: сложность дебага перевесила преимущества в производительности
next_step: реализовать эндпоинт `/refund` с idempotency key
Этот YAML займёт 300 токенов вместо 5000. Его можно вставить в CLAUDE.md как раздел `# PROJECT HISTORY`.
Пошаговый план внедрения за 60 минут
1Создайте CLAUDE.md сегодня вечером (15 минут)
Откройте свой текущий проект. Выпишите 5 главных правил, которые постоянно нарушаются. Не больше. Добавьте 3 архитектурных ограничения. Забудьте про "полноту". Цель — создать живой документ, который будете обновлять раз в неделю.
2Настройте триггер для Plan Mode (10 минут)
В настройках Claude Code 3.1 есть раздел "Automation". Добавьте правило:
{
"trigger": "task_requires_more_than",
"files": 3,
"action": "suggest_plan_mode",
"auto_enable": true
}
Теперь при задачах вроде "рефакторинг модуля" агент автоматически предложит разбить работу.
3Запустите первую операцию Compact (20 минут)
Возьмите самый длинный чат с агентом за последний месяц. Скопируйте его в отдельный файл. Дайте агенту команду сжать историю. Сохраните результат в `project_context_dump_20260302.yaml`. Удалите исходный чат. Почувствуйте облегчение.
4Интегрируйте в рабочий процесс (15 минут)
Каждое утро перед работой — 2 минуты на обновление CLAUDE.md. Каждую пятницу — операция Compact для недельных чатов. Для сложных задач — Plan Mode по умолчанию.
Профессиональный трюк: используйте инструмент вроде Cursor Editor с его расширенным управлением контекстом. Он умеет автоматически прикреплять CLAUDE.md к каждому новому чату, что интегрирует context engineering прямо в редактор. В связке с осознанным стеком это даёт эффект умножения.
Ошибки, которые сведут на всю вашу работу
| Ошибка | Последствие | Исправление |
|---|---|---|
| Делать CLAUDE.md длиннее 2 страниц | Агент игнорирует 80% правил, так как не может выделить главное | Жёсткое ограничение: 1 страница Markdown. Если правило не критично — удалить. |
| Использовать Plan Mode для задач на 1 файл | Накладные расходы на планирование убивают всю выгоду | Порог автоматического включения — минимум 3 файла или 150 строк кода. |
| Сжимать контекст раз в квартал | Операция Compact занимает час и теряет важные детали | Компактить в конце каждой спринта (раз в 1-2 недели). |
| Не обновлять CLAUDE.md после смены архитектуры | Агент следует устаревшим правилам и ломает новый код | Внести обновление правил в Definition of Done вашей команды. |
Ответы на вопросы, которые вы постеснялись задать
Разве Claude Code 3.1 не стал умнее и не решает эту проблему сам?
Стал. Но не решил. Модели научились лучше искать в длинном контексте, но цена поиска — время и токены. Context engineering перекладывает эту работу с дорогой модели (Claude) на дешёвую — на вас. Экономия до 60% на токенах.
Не проще ли перейти на Opencode с его Dynamic Context Pruning?
Если ваш проект — это зоопарк из 50 микросервисов и команда из 10 разработчиков, да, Opencode может быть выбором. Но для 80% команд, где Claude Code уже встроен в процессы, методики из этой статьи дадут 90% эффекта без миграции.
Как быть с локальными моделями, у которых контекст 8K токенов?
Context engineering для них — вопрос выживания. CLAUDE.md и Compact-Reinject работают даже на Qwen3-Coder 7B. Просто сжимайте агрессивнее. Я писал об этом в статье "Когда память кончается".
Правда ли, что эти методики убивают креативность агента?
Да. И это хорошо. Креативность в кодинге нужна при выборе архитектуры, а не при нарушении code style. Жёсткие правила освобождают агента от миллиона мелких решений, позволяя сосредоточиться на одной сложной проблеме.
Что будет дальше? Прогноз на конец 2026 года
К декабрю 2026 году context engineering станет такой же базовой компетенцией, как git. Появятся инструменты, которые автоматически генерируют и поддерживают CLAUDE.md на основе вашего кода. Plan Mode эволюционирует в полноценный фреймворк для декомпозиции задач с визуальным редактором.
Но главный сдвиг: мы перестанем мериться длиной контекстного окна. Вместо вопроса "Сколько токенов?" будем спрашивать "Как эффективно ты управляешь каждым токеном?". Потому что следующий рубеж — не 1 миллион токенов, а экономия 99% из них без потери смысла.
Неочевидный совет: начните вести лог самых дорогих (в токенах) диалогов с агентом. Раз в неделю анализируйте, где контекст раздувался бесполезно. Через месяц вы найдете 3 паттерна, которые съедают 50% вашего бюджета на ИИ. Уничтожьте их — и ваша эффективность взлетит, даже если вы закроете эту статью и никогда не создадите CLAUDE.md.