«Никогда не делай X» в CLAUDE.md — не гарантия. В длинной сессии, при prompt injection или в неоднозначной ситуации модель может проигнорировать этот запрет. Anthropic выпустил руководство, которое объясняет, чем семь механизмов управления Claude Code отличаются друг от друга и почему класть всё подряд в один файл — дорого и ненадёжно.
Каждый механизм — своя модель загрузки и стоимость. Семь методов различаются тремя параметрами: когда инструкция попадает в контекст, что с ней происходит при compaction (сжатии истории сессии), и сколько токенов она стоит.
- CLAUDE.md (root) — загружается при старте сессии, кешируется, остаётся в контексте всегда. Высокая стоимость: каждая строка тратит токены, даже если нерелевантна задаче.
- Rules с path-scope — загружаются только когда Claude читает файлы по указанному пути; вне этих путей не занимают контекст.
- Skills — имя и описание грузятся при старте, тело — только при вызове. Низкая стоимость; при compaction переинжектируются по бюджету, старые вытесняются первыми.
- Subagents — работают в отдельном контекстном окне с собственным системным промптом; в основную сессию возвращается только итоговое сообщение. Нулевая стоимость в главном контексте до вызова.
- Hooks — конфигурация живёт вне контекста, срабатывают детерминированно на события жизненного цикла (редактирование файла, вызов инструмента, старт сессии).
Жёсткие запреты — только через hooks и managed settings, не через текст. Инструкция «никогда не делай X» в CLAUDE.md выполняется «большую часть времени» — так прямо написано в руководстве. Это не детерминированная гарантия. Реальный блок — PreToolUse hook с exit code 2: он перехватывает вызов инструмента и запрещает его до исполнения. Ещё жёстче — admin-deployed managed settings: они разворачиваются через MDM или систему управления конфигурацией и не могут быть переопределены локальным конфигом пользователя. Это принципиальная разница между «попросить модель» и «запретить на уровне системы».
CLAUDE.md рекомендуют держать до 200 строк с назначенным владельцем. Разрастание файла в монорепо — типичная проблема: каждая команда дописывает свои конвенции, никто ничего не удаляет. В итоге токены тратятся у всех инженеров на контекст, который нерелевантен их задаче.
Куда что класть по логике руководства:
- Процедуры (deploy, release checklist, code review playbook) — в
.claude/skills/, тело грузится только при вызове. - Правила для конкретных путей (например, «все обработчики в
src/api/**валидируют вход через Zod») — в path-scoped rules сpaths:в frontmatter. - Изолированные побочные задачи (глубокий поиск, анализ логов, аудит зависимостей) — в subagents: результаты не засоряют основной тред.
- Организационные политики безопасности — в centrally managed CLAUDE.md, развёрнутый через MDM; пользователь не может его исключить.
История не про «вышел список фич». Anthropic впервые явно признал: текстовые инструкции — ненадёжный инструмент для критических ограничений, и правильная архитектура конфига напрямую влияет и на безопасность, и на стоимость. Два пробела в руководстве: конкретные лимиты бюджета токенов для invoked skills не раскрыты, а описание managed settings для enterprise остаётся общим — без примеров реальных политик и того, как именно они разворачиваются.