harnsy

Автосжатие в Claude Code или записка о передаче дел: когда что подходит

Окно контекста Claude Code хранит весь ваш разговор, а автосжатие пересказывает его, когда окно заполняется. Сжатие оставляет ваши запросы и важный код, но может потерять подробные указания из начала. Им можно управлять через /compact и раздел Compact Instructions или передать работу свежему агенту с письменной запиской. Если вы работаете один, встроенных средств хватает; записка окупается, когда от агента, у которого кончается место, зависят другие.

9 мин чтенияPavel Buchnev

Главные цифры

967 тыс.
токенов: на этом уровне по умолчанию сжимаются модели с родным окном в 1 млн, до того как окно заполнится (документация Claude Code)
200 тыс.
токенов: граница в других конфигурациях, например Sonnet 4.6 и Opus 4.6 без расширенного контекста (документация Claude Code)
3,4×
тяжелее шаг при контексте 400–700 тыс. токенов, чем при контексте до 100 тыс., в нашей неделе данных
40%
окна: точка по умолчанию, на которой harnsy сообщает лиду, что место пора передавать (v0.7.0)
В этой статье
  1. Что лежит в окне контекста и что происходит, когда оно заполняется
  2. Что можно сделать внутри Claude Code
  3. Сжатие тоже стоит токенов
  4. Другой путь: записка о передаче дел и свежий агент
  5. Что выбрать
  6. Чего мы не знаем
  7. Источники

Что лежит в окне контекста и что происходит, когда оно заполняется

Окно контекста — это всё, что модель видит на шаге. В документации Anthropic перечень такой: история разговора, содержимое файлов, вывод команд, CLAUDE.md, автопамять, загруженные навыки и системные инструкции. Claude Code отправляет всё это с каждым запросом, поэтому окно только растёт, пока что-то его не уменьшит.

Уменьшает его сжатие. В документации оно описано двумя фразами: Claude Code «clears older tool outputs first, then summarizes the conversation if needed. Your requests and key code snippets are preserved; detailed instructions from early in the conversation may be lost» — сначала очищает старый вывод инструментов, затем при необходимости пересказывает разговор; ваши запросы и важный код сохраняются, подробные указания из начала могут быть потеряны. На эту последнюю оговорку стоит опираться при планировании.

Сжатие не ждёт, пока окно заполнится целиком. По умолчанию модели с родным окном в 1 млн сжимаются «примерно на 967 тыс. токенов»; в конфигурациях с окном в 200 тыс., например Sonnet 4.6 и Opus 4.6 без расширенного контекста, сжатие происходит на границе в 200 тыс. Границу можно сдвинуть: /autocompact 500k задаёт окно от 100 тыс. до 1 млн токенов.

Что можно сделать внутри Claude Code

Почти всё сводится к тому, чтобы не потерять указания и выбрать, когда произойдёт сжатие:

  • Правила, которые должны жить долго, кладите в CLAUDE.md, а не в разговор. Документация говорит об этом прямо: постоянные правила — туда, потому что ранние указания могут потеряться.
  • Скажите сжатию, что оставить: раздел «Compact Instructions» в CLAUDE.md или /compact с уточнением, например /compact focus on the API changes.
  • Сжимайте на естественном разрыве, между задачами, а не ждите, пока оно сработает посреди одной. Тот же совет даёт документация по кэшированию.
  • Используйте /clear, когда следующая задача не связана с прежней; сначала /rename, если хотите потом найти старую сессию через /resume.
  • Запустите /context, чтобы увидеть, что занимает место, а объёмную работу, вроде прогона тестов или чтения логов, отдавайте субагенту: у него своё окно, и он возвращает только краткий итог.

Если один файл или вывод инструмента так велик, что контекст снова заполняется сразу после каждого сжатия, Claude Code после нескольких попыток перестаёт сжимать само и показывает ошибку вместо бесконечного цикла.

Сжатие тоже стоит токенов

Сжатие — такой же запрос, как любой другой, и его цена зависит от кэша. Чтобы написать пересказ, Claude Code отправляет всю историю плюс инструкцию. Пока кэш тёплый, этот запрос читает историю из кэша и «costs a fraction of what the context size suggests», то есть стоит долю того, что подсказывает размер контекста. После паузы длиннее срока жизни кэша (час на подписке, пять минут на ключе API или когда вы расходуете дополнительные кредиты) кэша нет, и историю обрабатывают по полной цене. Затем пересказ заменяет историю, поэтому следующий запрос не имеет общего начала со старым, и кэш разговора собирается заново.

Так что размер важен дважды. В нашей неделе данных Claude Code шаг при контексте 400–700 тыс. токенов был в 3,4 раза тяжелее шага при контексте до 100 тыс. (цифры той недели). Окно, которому дают вырасти, дорого держать и дорого сжимать.

Другой путь: записка о передаче дел и свежий агент

Сжатие продолжает один и тот же разговор, а пересказ пишет агент, у которого уже тесно. Передача дел делает наоборот: агент останавливается на границе, записывает то, что нужно следующему, и новый агент начинает с пустого окна и этой записки. В harnsy этот порядок записан в инструкциях, которые читает каждый агент.

Где что срабатывает

Родное окно 1 млн0 – 1 млн токенов

  • 400 тыс.harnsy просит лида о передаче дел (40%, по умолчанию)
  • 967 тыс.Claude Code сжимает контекст автоматически

Окно 200 тыс.0 – 200 тыс.

  • 80 тыс.harnsy просит о передаче дел (40%)
  • 200 тыс.Claude Code сжимает на границе
Обе шкалы в одном масштабе. Пороги Claude Code: документация Anthropic, 1 октября 2026 года. harnsy: порог передачи дел по умолчанию в v0.7.0; лид может задать его для каждой роли.
  • У каждой роли есть точка передачи, по умолчанию 40% окна, лид может задать её для роли. Когда агент её пересекает, harnsy посылает одно сообщение лиду над ним; если выше никого нет, человек видит пункт на дашборде.
  • Агент перестаёт брать новую работу и пишет записку вне проекта, её никогда не коммитят: цель, области ответственности, открытые нити, решения и почему, следующие шаги, где лежат тесты. Он коммитит только свою законченную работу и сообщает лиду путь к записке.
  • Лид открывает замену на той же роли. Замена читает записку и подтверждает лиду. Только после этого старого агента освобождают; до тех пор он остаётся консультантом.
  • Замена берёт открытые задачи роли. Задачи, журнал сообщений и сама роль лежат в базе harnsy, а не в чьём-то окне, так что они на месте.

Одно правило стоит в инструкциях, потому что его легко понять наоборот: не сжимайте контекст посреди задачи, пока записка не написана. Агентам велено сначала писать.

Мы пользуемся этим сами: на стыке сентября и октября так передали дела фронтенд, дизайнер и копирайтер нашей команды сайта. Каждый раз преемник подтверждал лиду, прежде чем старого агента освобождали.

Что выбрать

СжатиеПередача дел и свежий агент
Кто запускаетClaude Code у предела или вы командой /compactАгент на пороге своей роли или по просьбе лида
Что переходитПересказ разговора: ваши запросы и важный код; подробные указания из начала могут потерятьсяТо, что сказано в записке, а также задачи, сообщения и роли, которые harnsy хранит вне окна
Что это стоитОдин запрос на пересказ всей историиХод или больше на записку; новый агент её читает; старый остаётся консультантом, пока его не освободят
Где может подвестиЧто пересказ пропустил, то из разговора ушлоВ записке есть только то, что автор догадался записать
Подходит лучше всегоОдин агент, одна задача, нет естественного места остановитьсяРоль, от которой зависят другие, например лид или ревьюер, на границе задачи
Сжатие и передача дел рядом. Столбец про сжатие — по документации Anthropic; столбец про передачу дел — по собственным инструкциям harnsy.

Коротко: если вы работаете один в одном разговоре, кладите правила в CLAUDE.md, сжимайте на разрыве и делайте /clear между задачами; в Claude Code уже есть всё нужное. Передача дел оправдывает себя, когда несколько агентов зависят друг от друга, а один из них у края окна.

Чего мы не знаем

  • Мы не сравнивали, что сохраняет пересказ и что записка, на одной и той же работе. Таблица о том, как они устроены, а не о том, что лучше.
  • Мы не измеряли, как часто наши агенты теряют ранние указания из-за сжатия, и не утверждаем, что передача дел предотвращает забывание: в записке есть только то, что автор записал.
  • Цифра 3,4× — с одной машины за одну неделю. Она показывает, что бывает в одной конфигурации, а не в вашей.

Источники

  • Claude Code, «How Claude Code works», раздел «When context fills up»: code.claude.com.
  • Claude Code, «Manage costs effectively», раздел «Manage context proactively»: code.claude.com.
  • Claude Code, настройка моделей, «Set the auto-compact window» и пороги по умолчанию: code.claude.com.
  • Claude Code, «How Claude Code uses prompt caching», разделы «Compacting the conversation» и «Cache lifetime»: code.claude.com.
  • harnsy, передача дел и роли.

Задайте каждой роли точку передачи

harnsy сообщает лиду, когда агент пересекает порог, хранит роли, задачи и сообщения вне окна и сажает замену на ту же роль.

Установить harnsy

harnsy не связана с Anthropic, OpenAI и OpenCode; их названия принадлежат им.

site-3fлид · Claude Codeна связитолько смотреть
❯ Распланируй #42 с командой.

Жду разбор от analyst-7a…

от analyst-7a через harnsy❯ #42 разобрана: три критерия приёмки, включая повтор через 24 ч.

Передаю #42 разработчику site-9a.

❯