Инструкция, которую вы положили в CLAUDE.md, может просто исчезнуть в середине длинной сессии — если положить её не туда. 18 июня Anthropic опубликовала подробный разбор семи механизмов управления Claude Code: каждый загружается в разный момент, по-разному переживает compaction (сжатие контекста) и стоит разное количество токенов.
Главное различие — поведение при compaction. Корневой CLAUDE.md мемоизируется: читается один раз, кешируется на сессию, перечитывается после сжатия. Path-scoped правила (.claude/rules/ с полем paths:) переинжектируются при каждом compaction, но загружаются только когда Claude касается нужных файлов. Навыки (skills) тоже переинжектируются — но до общего бюджета токенов, и старые выпадают первыми. Субагенты работают в полностью изолированном контексте: в главную сессию возвращается только финальное сообщение. Хуки живут вне основного контекста вообще — их конфигурация не занимает токены в главном окне.
Сводка по каждому методу:
- CLAUDE.md (корневой) — загружается на старте сессии, высокая стоимость токенов; для структуры репозитория, команд сборки, конвенций команды.
- CLAUDE.md (поддиректория) — загружается по требованию, когда Claude читает файл в этой директории; для конвенций конкретного модуля.
- Правила (rules) — без
paths:ведут себя как корневой CLAUDE.md; сpaths:— загружаются только при работе с нужными файлами. - Навыки (skills) — имя и описание на старте, тело — только при вызове (
/code-reviewили автоматически); для процедур: деплой, чеклисты ревью. - Субагенты — имя и список инструментов на старте, тело — никогда не входит в родительский контекст; для параллельных задач с изолированным результатом.
- Хуки (hooks) — срабатывают на события жизненного цикла (редактирование файла, вызов инструмента, старт сессии); конфиг вне контекста.
- Стили вывода и
--append-system-prompt— инжектируются в системный промпт, никогда не сжимаются; для изменения роли или добавления стандартов форматирования.
Anthropic называет несколько антипаттернов явно. «Never do this» в CLAUDE.md — не гарантия: под давлением длинной сессии или при prompt injection модель нарушит правило. Для жёстких запретов нужен PreToolUse-хук с exit code 2 или managed settings (политики, развёрнутые администратором, — единственный способ обеспечить детерминированный запрет на уровне организации). 30-строчная процедура в CLAUDE.md — тоже ошибка: процедуры идут в skills, где тело загружается только при вызове. CLAUDE.md — только факты о кодовой базе, и Anthropic рекомендует держать его до 200 строк.
Отдельно о субагентах: вложенность до пяти уровней, промежуточные результаты хранятся в переменных скрипта, а не в контексте главной сессии. Это позволяет запускать десятки и сотни параллельных задач без деградации инструкций в главном окне.
Anthropic фактически описала архитектуру памяти агента: что когда загружается, что переживает сжатие, что исполняется детерминированно. Для инженера это меняет подход — не «напиши инструкцию», а «выбери правильный слой под задачу». Честный пробел: никаких данных о том, насколько реально улучшается следование инструкциям при правильном выборе метода. Только качественные рекомендации — без бенчмарков.