Почему сессии Claude Code «деградируют» и как управлять контекстом ИИ-ассистента

Сессия Claude Code начинается остро: ассистент точно понимает задачу, помнит структуру проекта, аккуратно правит код. Через час ответы плывут. Через два Claude противоречит собственным решениям, забывает уже сказанное и просит данные, которые вы ему давали двадцать минут назад. Джейк Миннс в статье «Governed Context» (Towards Data Science, 13.07.2026) объясняет причину: модель не «устала» и вы не упёрлись в лимит токенов. Контекст подгнивает тихо, задолго до предела окна. Грамотное управление контекстом Claude Code требует не «бóльшего контекста», а управляемого.
Что такое окно контекста на самом деле
Окно контекста, это всё, что модель «видит» за один ход: системный промпт плюс растущая история ваших запросов, ответов ассистента и вызовов инструментов. Измеряется в токенах (грубо, кусочках слов). Момент, который ломает интуицию: для генерации каждого нового токена модель заново просматривает всё окно целиком. Никакого постоянного внутреннего состояния между ходами нет.
Внутри не сидит «маленький инженер», который постепенно вникает в ваш проект и запоминает договорённости. Единственная память чата, это сам текст в окне. Осознайте это, и станет понятно, почему длинная замусоренная сессия работает хуже короткой чистой: модель каждый раз перечитывает весь бардак.
Два вида гниения контекста
Миннс разделяет проблему надвое. Первая часть, intrinsic rot, фундаментальное ограничение архитектуры, которое промптами не обойти. Вторая, content rot, накопление мусора, и вот им уже управляете вы.
Intrinsic rot: фиксированный бюджет внимания
Каждый ход вся сессия «расплющивается» в одну длинную последовательность токенов. За то, насколько каждый токен опирается на предыдущие, отвечают головы внимания. Их оценки релевантности проходят через функцию softmax, которая заставляет всё суммироваться в единицу. У модели есть фиксированный бюджет внимания, и он не резиновый.
Отсюда два следствия. Из-за экспонент в softmax доля ни одного токена не может стать ровно нулём, поэтому нерелевантный контекст всегда отъедает кусочек внимания. И чем больше окно, тем тоньше размазывается бюджет и тем хуже соотношение сигнал/шум. Хорошая аналогия, фонарик постоянной яркости: чем больше комната, тем тусклее освещён нужный угол.
Есть и эффект расположения. Точность извлечения факта описывает U-образную кривую: пик в начале и в конце окна, провал в середине (эффект «потеряно в середине», Liu et al., 2024). В многочасовой сессии широкая середина проседает первой. Рушится не порядок ранжирования, а маржа: разрыв между важным токеном и диффузной массой всего остального сжимается.
Content rot: то, чем управляете вы
Content rot, это накопленный хлам. Провальный подход, к которому модель раз за разом возвращается. Десятки тупиковых вызовов инструментов. Устаревшие и противоречивые куски обсуждения. Всё это переобрабатывается каждый ход и постепенно портит результат. В отличие от intrinsic rot, здесь всё в ваших руках, и именно управление content rot, по словам Миннса, превращает Claude Code «из иногда раздражающего в стабильно острый».
Лимит токенов не обрыв, а плавный склон
Кажется, что ассистент работает на полную до самого предела окна, а потом резко падает. На деле эрозия постепенная и начинается рано. Заявленный лимит контекста, это не точка обрыва производительности.
Поэтому и бóльшее окно не спасает. В 2026 году Anthropic включила окно в 1 миллион токенов в Claude Code (для моделей Opus 4.6 и Sonnet 4.6): без бета-заголовка, без наценки, с плоским ценообразованием. Но миллион токенов не чинит плохую дисциплину сессии, он лишь даёт больше места, чтобы накопить мусор. Для ориентира: двухчасовая сессия, читающая десяток файлов, запускающая сборки и проходящая пару раундов рефакторинга, реалистично съедает 100 000-300 000 токенов.
Как понять, что контекст пора чистить
Поведение ассистента подскажет раньше любых счётчиков. Обратите внимание на сигналы:
- Claude просит информацию, которую вы уже давали, это сбой извлечения из середины контекста.
- Сгенерированный код конфликтует с ранее принятыми архитектурными решениями.
- Модель теряет структуру файлов и «забывает», где что лежит.
- Ответы становятся расплывчатыми, ассистент ходит кругами.
Держите под рукой команду /context: она показывает, куда уходят токены, на системный промпт, инструменты, файлы памяти, скиллы и историю разговора.
/compact против /clear: сжать или обнулить
Два основных инструмента гигиены окна контекста. /compact сжимает разговор в резюме, сохраняя преемственность. /clear стирает всё подчистую: ни резюме, ни истории, жёсткий сброс к пустой сессии (файлы CLAUDE.md при этом всё равно подгружаются автоматически).

| Ситуация | Команда |
|---|---|
| Контекст «отравлен» неверными предположениями, к которым модель возвращается | /clear |
| Полная смена задачи или старт нового направления | /clear |
| Нужна преемственность, прежние решения должны сохраниться | /compact |
| Работаете дальше по той же задаче, но окно раздулось | /compact |
Когда компактить: тайминг решает
Ручная компакция всегда лучше авто-компакции. Авто-компакция срабатывает у самого предела окна (порог около 80%), но к этому моменту модель уже в деградировавшем состоянии, и само резюмирование идёт в стеснённых условиях. Ручная компакция, вызванная заранее, работает пока есть запас: модель ещё чётко помнит весь разговор и делает лучшие резюме. Миннс советует целиться в 60% использования окна и делать это каждые 30-45 минут активной работы или после значимой вехи. Оговорка автора: 60%, это его наблюдение по спаду качества, а не официально задокументированное число.
Хирургическая и направленная компакция
Есть тонкие инструменты для управления контекстом. Двойное нажатие Esc и опция «Summarise from here» дают выборочное сжатие: сохраняете нить проекта и отвоёвываете 80-90% токенов из многословных сессий отладки. Для большего контроля пригодится компакция с политикой, например /compact Focus on the API changes, чтобы резюме сфокусировалось на нужном. Поведение компакции можно закрепить в CLAUDE.md, чтобы критичный контекст переживал резюмирование.
Механика тут такая: всё, что загружено с диска при старте (корневой CLAUDE.md, авто-память), после компакции заново инъектируется. А всё, что пришло через разговор, резюмируется прочь. Это разделение держите в голове, планируя, где хранить важное.
Субагенты, CLAUDE.md и правило двух провалов
Субагенты, один из самых мощных доступных инструментов экономии контекста. Когда Claude изучает кодовую базу, он читает множество файлов, и все они съедают контекст. Субагенты исследуют в отдельном окне и возвращают в основной разговор только резюме, а основная сессия остаётся чистой.
С файлом CLAUDE.md есть контринтуитивный нюанс: раздутый файл вредит. Чем он длиннее, тем выше вероятность, что инструкции просто проигнорируются. Краткость здесь, требование к производительности, а не стилистика.
И правило, которое экономит нервы, правило двух провалов. После двух неудачных попыток исправления не спорьте с ассистентом в третий раз: очистите контекст и напишите промпт получше. Свежая сессия с хорошим промптом почти всегда бьёт длинную сессию, забитую провальными попытками. Учтите ещё: расширенное мышление (ultrathink) жрёт заметно больше контекста, поэтому окно заполняется быстрее и точка деградации наступает раньше.
Всё сводится к культуре чистого цифрового пространства: не захламлять, регулярно чистить, держать под контролем то, что видит инструмент. Тот же принцип, что и в приватности: вы решаете, какие данные и в каком объёме циркулируют вокруг вашей работы. Если вам нужен стабильный доступ к самому Claude и другим ИИ-сервисам из России, его удобно обеспечить через Sigma.
Начните с малого: откройте /context в своей следующей сессии и посмотрите, на что уходят токены. Половину, скорее всего, можно смело выбросить.
Источники
Towards Data Science, Governed Context: управление context rot в Claude Code (Джейк Миннс)




Пока нет комментариев. Будьте первым!