Суть урока
Представь блокнот с очень большим, но конечным числом страниц. Каждый раз когда ты пишешь Claude сообщение — он записывает вопрос, свой ответ, все файлы которые прочитал и все инструменты которые использовал. Когда блокнот заполняется больше чем на 60-70%, Claude начинает тупить: забывает инструкции, повторяется, галлюцинирует. Это и есть Context Rot — деградация качества от переполнения контекста. Урок Встроенные команды Claude Code показал что есть кнопки /compact и /clear. Этот урок объясняет систему: когда, зачем и 28 техник чтобы деградация вообще не наступала.
Ключевые концепции
- Context Rot — деградация качества ответов при переполнении контекстного окна
- Контекстное окно — максимальный объём информации который Claude держит в одном сеансе (на октябрь 2026: 1M токенов у Fable 5.1, Opus 5.5 и Sonnet 5.5, 200К у Haiku 4.5; актуальные версии: Актуальное сейчас)
- Токены — единица измерения текста: у текущих моделей Claude ~1 английское слово ≈ 1.8 токена (1M токенов ≈ 555 тыс. слов по документации Anthropic); в других языках соотношение другое
- /compact — умное сжатие: сохраняет суть, убирает детали, освобождает большую часть контекста
- /clear — новый разговор с пустым контекстом (файлы не трогает)
- Progressive disclosure — трёхуровневая загрузка контекста: только нужное в нужный момент
Теория
Что такое Context Rot
Когда ты работаешь с Claude Code долго в одном сеансе, контекстное окно заполняется:
Системный промпт (CLAUDE.md): ~6 000 токенов
MCP-инструменты (2-3 сервера): ~11 000 токенов (если описания загружены целиком)
Skills (5-7 файлов): ~8 000 токенов
История разговора (1-2 часа): ~80 000 токенов
Прочитанные файлы: ~50 000 токенов
Итого: ~155 000 / 200 000 (78%) — на модели с окном 200К (Haiku 4.5)
~155 000 / 1 000 000 (15%) — на модели с окном 1М (Opus 5.5, Sonnet 5.5)Цифры в блоке условные, это иллюстрация, а не замер.
Замечание про 1M контекст (на октябрь 2026): у Fable 5.1, Opus 5.5 и Sonnet 5.5 окно в миллион токенов, в API без доплаты за длинный контекст. Это снижает остроту проблемы — но не убирает её. По опыту автора, деградация качества начинается уже на 60-70% заполненности любого окна. То есть на 1M контекст Context Rot наступит ближе к 600-700К токенов, не к 200К. Принципы те же — техники ниже работают на любом размере окна.
Ещё одна деталь: когда окно почти заполнено, Claude Code сжимает историю сам. Но к этому моменту качество уже просело, поэтому ручной /compact раньше надёжнее автоматического.
При заполнении выше 60-70% появляются первые симптомы деградации. При 85%+ — Claude начинает делать вещи которые тебя раздражают.
Симптомы Context Rot: как распознать
Ранние сигналы (60-70% заполненности):
- Ответы стали немного длиннее чем нужно
- Claude иногда переспрашивает то о чём уже говорили
- Небольшие отклонения от инструкций CLAUDE.md
Средняя стадия (70-80%):
- Повторяет одни и те же пункты в разных ответах
- Забывает детали которые ты упоминал 30 минут назад
- Начинает "угадывать" вместо того чтобы следовать заданным правилам
Поздняя стадия (80%+):
- Галлюцинирует: называет файлы которых нет, ссылается на разговоры которых не было
- Игнорирует правила из CLAUDE.md (не потому что не хочет — потому что буквально уже не видит их в контексте)
- Противоречит сам себе в рамках одного ответа
- Перестаёт использовать правильный стиль и тон
Экстренный сигнал: Claude начал писать что-то что явно противоречит твоим инструкциям которые ты давал в начале сессии → немедленно /compact или /clear.
Три команды управления контекстом
Урок Встроенные команды Claude Code объяснял что делают эти команды. Здесь — когда именно их применять.
/compact — умный компресс
Что происходит внутри: Claude читает всю историю разговора, извлекает ключевые моменты, создаёт сжатое резюме, заменяет им историю. Детали теряются, суть остаётся. Можно подсказать, что сохранить: /compact оставь решения по базе данных.
Когда применять: заполненность 60-65% (проверяй через /context).
Результат: освобождается большая часть контекста. Claude всё ещё помнит над чем работали и к чему пришли.
Пример из практики:
До /compact: окно заполнено на 78% После /compact: заполнено примерно на 22%
Продолжаешь работать в том же сеансе, но со свежей головой.
/clear — чистый старт
Что происходит: новый разговор с пустым контекстом. Файлы проекта не трогает. CLAUDE.md остаётся и подгружается заново. Начинаешь с нуля (прошлый разговор можно вернуть командой /resume).
Когда применять:
- Переключаешься на принципиально другую задачу
- После завершённого большого блока работы
- Когда /compact уже применял несколько раз и качество всё равно деградирует
- Сеанс занял больше 3-4 часов
Отличие от /compact: /compact — сжимает историю, /clear — удаляет её. После /clear Claude не помнит что вы делали. После /compact — помнит краткое резюме.
/context — диагностика
Что показывает (в новых версиях это цветная карта окна с подсказками; ниже условный пример в виде списка, цифры иллюстрация):
Модель: (название твоей модели)
Токены: 51 300 / 200 000 (25.7%)
Breakdown:
Системный промпт: 6 200 (3.1%)
Системные инструменты: 4 800 (2.4%)
MCP-инструменты: 10 800 (5.4%)
Skills: 7 200 (3.6%)
Сообщения: 22 300 (11.2%)
Свободное место: 148 700 (74.4%)Когда запускать: каждые 30-40 минут интенсивной работы. Сделай это рефлексом.
Что делать с данными:
- 0-50% — всё хорошо, работай
- 50-65% — предупреждение, скоро нужен /compact
- 65%+ — немедленно /compact
- 80%+ — /clear и начни сессию заново
28 техник борьбы с Context Rot
Сгруппированы по трём категориям: Архитектура, Промпты, Управление.
Группа 1: Архитектурные техники (предотвращение)
1. CLAUDE.md как единственный источник правды Не повторяй правила в каждом промпте. Один раз правильно написанный CLAUDE.md весит меньше чем повторение тех же правил десять раз в чате.
2. Progressive Disclosure (L1/L2/L3) Загружай контекст уровнями — только то что нужно для конкретной задачи:
L1 (всегда): CLAUDE.md — основные правила, структура проекта (~6К токенов) L2 (по задаче): skill.md нужного скилла + API-документация нужного инструмента L3 (по запросу): конкретные файлы данных только когда они действительно нужны
3. Маленькие файлы в references/ Разбивай большую API-документацию на маленькие файлы по функциям. Вместо одного файла ClickUp на 800 строк — три файла по 250: tasks.md, comments.md, webhooks.md. Claude будет читать только нужный.
4. SKILL.md под 500 строк Рекомендация из документации Claude Code: держи файл SKILL.md под 500 строк. Детали — в отдельных reference-файлах которые skill вызывает по необходимости.
5. Папка context/ для долгосрочной памяти Важные решения и договорённости записывай в файлы а не оставляй только в истории чата. Что записано в файл — переживёт /clear. Что только в чате — нет. Современный Claude Code умеет и сам вести заметки между сессиями (auto memory, управление через /memory), но то, что критично, надёжнее держать в своих файлах.
6. Архивирование старых файлов Файлы которые больше не нужны — в archives/. Если они случайно попадут в контекст через поиск, это лишние токены.
7. Отдельные папки для outputs Всё что Claude создаёт — в outputs/. Не мешай результаты с инструкциями. Когда Claude ищет что-то — ищет в правильном месте, не читает лишнее.
8. .env только для секретов Секреты в .env, не в CLAUDE.md и не в чат. Меньше чувствительного в основном контексте.
Группа 2: Промпт-техники (экономия токенов)
9. Дроби задачи (Splitting Prompts) Одна большая задача = много токенов на весь контекст задачи сразу. Разбей на шаги. После каждого шага Claude чище соображает, и ты видишь прогресс.
Плохо: "Создай CRM с фронтендом, базой данных, API, дашбордом и деплоем" Хорошо: сначала "создай структуру проекта" → проверил → потом "добавь базу данных" → и т.д.
10. Конкретные файлы вместо "посмотри на проект" Не говори Claude "посмотри на весь проект". Указывай конкретные файлы: "прочитай outputs/newsletter-draft.md и улучши третий параграф". Меньше лишних чтений = меньше токенов.
11. Задавай один вопрос за раз Несколько вопросов в одном сообщении → Claude пытается держать все в голове одновременно → больше контекста тратится на внутреннее "рассуждение".
12. Используй команды, не описания Вместо "можешь создать файл с таким-то содержимым в такой-то папке" → "создай outputs/report.md: [контент]". Короче = меньше токенов.
13. Ссылайся на файлы, не копируй в чат Не вставляй большие блоки текста прямо в промпт. Лучше: "прочитай context/business-data.md и сделай отчёт". Claude прочитает файл — это токены тоже, но только один раз.
14. Очищай outputs после завершения задачи Если outputs/ накопил много файлов из старых задач — очищай или архивируй. Иначе Claude может случайно прочитать их при поиске.
15. Не добавляй MCP без необходимости Каждый MCP-сервер добавляет в контекст описания своих инструментов. В новых версиях Claude Code по умолчанию подгружаются только названия инструментов, а полные описания приходят по мере надобности (tool search), так что лишний сервер обходится дешевле, чем раньше. Но если загрузку включить целиком, два сервера легко съедают ~11К токенов ещё до первого слова. Добавляй MCP только когда реально нужен, убирай когда задача закончена.
16. Конвертируй MCP-функции в Skills После того как протестировал MCP и он работает — создай skill который делает то же самое через прямой API-вызов. Skills требуют меньше токенов чем держать MCP постоянно включённым.
Группа 3: Техники управления сессией (реакция)
17. Расписание /context: каждые 30 минут Сделай рефлекс: каждые 30-40 минут работы → /context → посмотри заполненность. Не жди симптомов — проверяй превентивно.
18. /compact при 60%, не при 90% Большинство людей запускают /compact слишком поздно — когда Claude уже деградирует. Запускай при 60% — до того как появились симптомы. Результат: ни одной минуты деградированной работы.
19. /clear между крупными задачами Закончил блок работы → /clear → начал новый блок со свежей головой. Не пытайся держать контекст двух разных задач в одной сессии.
20. Новая вкладка = новый агент В VS Code (и других редакторах с расширением Claude Code) можно открыть несколько вкладок Claude Code — каждая со своим чистым контекстом. Параллельные задачи → параллельные агенты. Фоновые сессии можно увидеть командой claude agents.
21. Sub-agents для параллельных задач Вместо одного агента который делает 5 задач последовательно (и накапливает контекст) — 5 агентов которые делают по одной задаче и не мешают друг другу.
22. Финальный /compact перед ключевыми результатами Перед тем как Claude будет делать финальный результат (пост, отчёт, код который пойдёт в прод) — сначала /compact, потом запрос. Чистый контекст = чище результат.
23. Сохраняй ключевые решения в decisions/ Важные технические решения, правила проекта, договорённости — записывай в decisions/ сразу. Это их сохраняет за пределами контекстного окна.
24. Регулярные /clear в конце рабочего дня В конце дня перед тем как закрыть VS Code: /clear. Следующая сессия начнётся чисто и загрузит свежий CLAUDE.md без груза вчерашних разговоров.
25. Контролируй длину своих сообщений Длинный промпт с много контекстом внутри него — это токены которые остаются в истории разговора. Реши: это правило для CLAUDE.md? Тогда туда. Это данные для конкретной задачи? Тогда в файл, а Claude ссылается на файл.
26. Используй /statusline и /usage для мониторинга Строку статуса (/statusline) можно настроить так, чтобы заполнение контекста всегда было на виду, а расход и лимиты тарифа показывает /usage (его синоним — /cost). Если расход одного запроса резко вырос — это сигнал что контекст раздулся от лишних файлов или слишком длинной истории.
27. Spec → To-Do → Code (трёхфазный подход) Для сложных задач: сначала spec (что строим), потом to-do список по milestone'ам, потом code по одному milestone за раз. Каждый этап — чистый контекст, не тянем хвост предыдущего.
28. Sub-agent для тяжёлого исследования Если нужно исследовать большой объём информации (300 страниц документации, 1000 строк кода) — делегируй это sub-agent. Он работает в своём контексте, возвращает тебе сжатое резюме. Твой основной контекст не засоряется.
Сводная таблица: сигнал → действие
| Заполненность | Симптомы | Действие |
|---|---|---|
| 0-50% | Всё отлично | Работай |
| 50-65% | Легкие отклонения | Скоро нужен /compact, готовься |
| 65-75% | Повторения, забывание деталей | Немедленно /compact |
| 75-85% | Игнорирование правил CLAUDE.md | /compact или /clear |
| 85%+ | Галлюцинации, противоречия | /clear + начни сессию заново |
Что /compact сохраняет, что теряет
Сохраняет:
- Решения принятые в сессии
- Ключевые факты о проекте
- Статус выполненных задач
- Основные ошибки и их решения
Теряет:
- Детальные объяснения и рассуждения
- Промежуточные шаги которые не привели к результату
- Длинные блоки кода которые обсуждались но не использовались
- Мелкие детали разговора
Вывод: если что-то важно — запишь в файл. /compact сохраняет суть, не детали.
Практика
Задание: провести аудит живой сессии
- Открой Claude Code и поработай 20-30 минут над любой задачей (создай несколько файлов, попроси что-то улучшить, поисследуй код)
- Запусти
/context— посмотри цифры. Запиши заполненность и breakdown по компонентам - Определи что занимает больше всего места: история сообщений? MCP-инструменты? Файлы?
- Запусти
/compact— посмотри на новые цифры после компрессии - Сравни: что изменилось? Что Claude ещё помнит? Что забыл?
- Напиши в свой блокнот: что из 28 техник ты уже применяешь и что хочешь добавить
Цель: научиться читать заполненность контекста как показатель давления масла в двигателе — не ждать поломки, следить превентивно.
Топ-10 самых эффективных техник (сводная таблица)
| # | Техника | Категория | Эффект | Сложность |
|---|---|---|---|---|
| 18 | /compact при 60%, не при 90% | Управление | Предотвращает деградацию полностью | Просто |
| 17 | /context каждые 30 мин | Управление | Раннее обнаружение проблемы | Просто |
| 2 | Progressive Disclosure L1/L2/L3 | Архитектура | Экономия 50-80% токенов | Средне |
| 9 | Дроби задачи | Промпты | Чище контекст, лучше результат | Просто |
| 19 | /clear между крупными задачами | Управление | Свежий контекст для новой задачи | Просто |
| 1 | CLAUDE.md как единый источник | Архитектура | Нет дублирования правил | Средне |
| 5 | Папка context/ для памяти | Архитектура | Решения переживают /clear | Просто |
| 15 | Не добавлять MCP без нужды | Промпты | Меньше лишних описаний инструментов в контексте | Просто |
| 21 | Sub-agents для параллельных задач | Управление | Изолированные контексты | Продвинуто |
| 27 | Spec → To-Do → Code | Управление | Чистый контекст на каждом этапе | Средне |
Инструменты и ресурсы
/context— текущая карта токенов (запускай каждые 30-40 мин)/compact— умная компрессия истории (применяй при 60-65%)/clear— полный сброс истории (между крупными задачами)/statusline— строка статуса с нужными метриками,/usage— расход и лимиты- Список команд Claude Code — полная документация по командам
- Claude Pricing — официальные цены; сводка с датой проверки: Актуальное сейчас
- context/ — папка для долгосрочной памяти (переживает /clear)
- decisions/ — журнал ключевых решений
- archives/ — архив устаревших файлов
Частые ошибки
Ошибка 1: Никогда не чистить контекст в длинных сессиях Работаешь 4 часа подряд, ни разу не проверил /context. К концу Claude галлюцинирует, путает файлы, забывает инструкции. Рефлекс: каждые 30 минут — /context, при 60% — /compact.
Ошибка 2: /clear вместо /compact Потерял весь контекст работы за 2 часа одной командой /clear. Нужно было заново объяснять что делали. /compact сохранил бы ключевые решения.
Ошибка 3: Подключить 5 MCP "на всякий случай" Каждый MCP сервер добавляет в контекст описания своих инструментов. Пять серверов могут занять десятки тысяч токенов ещё до первого слова (особенно если описания загружаются целиком). Подключай только те MCP которые нужны для текущей задачи.
Перекрёстные ссылки
- Токены и управление контекстом — базовое понимание токенов и контекстного окна
- Встроенные команды Claude Code —
/compact,/clear,/contextи другие команды - Управление контекстом — продвинутые техники — продвинутые техники для масштабных проектов
Ключевые выводы
Context Rot — не баг, это физика. Контекстное окно конечно. Задача не победить ограничение, а работать с ним умно: загружать только нужное, компрессировать своевременно, сохранять важное в файлы.
/compact при 60% лучше чем /compact при 90%. Профилактика лучше лечения: одна проверка /context каждые 30 минут экономит час деградированной работы.
Что не записано в файл — не переживёт /clear. Проектируй систему так: всё ценное живёт в файлах, контекст — только рабочий инструмент который можно и нужно периодически чистить.
Следующий урок
→ RAG — Retrieval Augmented Generation: работа с документами
Отметка хранится только в этом браузере и никуда не отправляется. Мой прогресс