Исправляем недоразумение, которое завезли Anthropic в Claude Code Внезапно, начиная с версии Claude Code 2.1.299, нам завезли автоматическое сжатие контекста во время простоя агента. Очень неприятная настройка. Я бы даже сказал, вредительская. Давайте разберём механику и озвучим некоторые константы, чтобы и стар и млад знали о харнессе Клода чуть больше. 🎓 Сначала немного базы, как это работало раньше (и некоторые интересные нюансы): - Общее контекстное окно в Claude Code сейчас 1 000 000 токенов. Это максимум, физически доступный модели, но для реальной работы нам доступно меньше: 33 000 токенов бронируется под буфер (его размер тоже можно изменить). Автокомпакт срабатывает примерно на 967 000, и этот буфер уходит на генерацию саммари всей сессии, которое потом автоматически передаётся в новую сессию, стартующую с нуля. - На ≈947 000 появляется предупреждение, что контекст подходит к концу. - На ≈833 000 Claude Code может заранее готовить саммари по уже сделанной работе, чтобы потом не ждать долгого компакта всей сессии целиком. Стандартную долю в 15% задаёт флаг, который присылает сервер Anthropic, а переопределить её можно в конфиге Клода. - В любой новой сессии примерно 30-40к токенов уже заняты, даже если мы ничего не написали: системный промпт, пользовательские и проектные правила, описания инструментов, скиллов, MCP, файлы памяти, описания агентов и сабагентов. - Итого: стартуем на 30-40к, доходим до ~967к, контекст сжимается сам (или мы делаем /compact вручную, не дожидаясь). Сессия очищается, в ней остаются те же стартовые 30-40к, а рядом кладётся саммари из буфера. 🙂 Отдельно про кэш, тут важные нюансы: Каждый вызов LLM по сути заново отправляет весь контекст, но всё, кроме последнего вопроса и ответа модели, уже лежит в кэше на сервере Anthropic. Клиент просто говорит серверу что-то вроде "от начала сессии до такой-то метки ничего не менялось, используй повторно", и сервер обрабатывает эту часть быстрее и дешевле. Все довольны: им меньше нагрузки, нам дешевле трат по лимитам и деньгам. Сколько живёт кэш, зависит от того, как вы подключены: - Подписка в пределах лимита: основной диалог получает кэш на 1 час. - API-ключ, Bedrock, Vertex, Foundry: по умолчанию 5 минут. - Сабагенты: тоже 5 минут, даже на подписке. - Ушли за лимит подписки и Claude Code начал тратить usage credits: основной диалог молча переключается на 5 минут, потому что запись в пятиминутный кэш дешевле. То есть вы продолжаете работать как обычно, а кэш теперь сгорает после любого перекура. Поднять TTL до часа можно руками через настройку promptCacheTtl со значением 1h. Но на API запись в часовой кэш стоит 2x от базовой цены входных токенов (против 1.25x у пятиминутного), так что это осознанный трейдофф: дороже запись, зато не перезаписываем всё заново после каждой паузы. Таймер считается от последнего обращения к кэшу, каждое сообщение его обнуляет. Если пауза дольше TTL, кэш сгорает, и при следующем сообщении в старой сессии всё тянется заново, а мы платим за запись всего объёма контекста в новый кэш. 🚨 Что меняется с обновлением: Теперь контекст автоматически сжимается через 54 минуты простоя Claude Code, даже если окно заполнено слабо, в диапазоне от 200 000 токенов до самого предела. Зачем это сделали, понятно: 54 минуты это чуть меньше часа жизни кэша на подписке, и компакт успевает прочитать контекст, пока он ещё тёплый, вместо того чтобы потом заново записывать в кэш весь объём. Экономия по деньгам и лимитам есть. Но платим мы за неё качеством контекста. То есть мы работали с проектом, накачали Клода контекстом, вытянули все важные детали, изучили крайние случаи, чтобы агент не задрифтил, а сделал всё красиво, составили план в чатике, даже что-то успели сделать. Остановили работу Клода, потом отошли в душ или покушать, а по возвращении обнаруживаем, что контекст уже сам пожался (если было занято больше 200к). А на экране надпись: Compacted while idle, before the prompt cache expired. По опыту скажу: 100-150к легко набегает ещё на этапе планирования, до самой задачи, так что перескочить 200к и словить автокомпакт проще простого. А компакт в Клоде, мягко говоря, не самый качественный (на GPT-моделях, как по мне, это работает надёжнее). В итоге все важные детали могут просто потеряться, пока автокомпакт пытается уместить их в саммари. Агент продолжит работу на заведомо стрёмном контексте, и на выходе мы с ещё большей вероятностью получим не то, что заказывали. ✅ Как вернуть нормальное поведение: Либо повышаем порог автокомпакта по простою через переменную CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS (я бы этот вариант не выбирал), либо выключаем его совсем через "idleCompaction": false в settings.json. То есть мы отключаем только компакт по простою, автокомпакт на пределе контекста работает как раньше.
AiHub ✨ Приручаем ИИ | Вайб-кодинг | Ai-first development
Subscribers
1.2K
tracking since 24 Oct
Reach per post (ERR)
112.0%1.3K avg views
Posting
2.6/week
last 12 hours ago
Reactions per 1K views
18.8
🔥 👍 ❤
Views over time
| When | Views |
|---|---|
| 14 Oct 2026, 21:45 | 0 |
| 24 Oct 2026, 02:12 | 925 |
Who shared this post
Posts in other channels we index that link to this one. (Forwards with a hidden source can't be traced.)
Nobody yet.