Четыре вопроса до выбора файла
- Когда это знание нужно? Всегда, при работе с определёнными путями, только в процедуре или только в побочной задаче.
- Что должно пережить compaction? Постоянная норма, повторно загружаемая процедура или только итог изолированного исследования.
- Насколько обязательно соблюдение? Совет модели, маршрутизация контекста или детерминированный запрет.
- Кто должен видеть промежуточную работу? Основная сессия либо отдельный контекст, возвращающий только результат.
Матрица поверхностей
Названия реализаций различаются между harness, но роли устойчивы:
| Поверхность | Когда загружается | Для чего годится | Главный риск |
|---|---|---|---|
| корневой файл инструкций | при старте, постоянно | команды сборки, карта репозитория, общие нормы | каждая строка платится во всех задачах |
| локальный/путевой файл | при касании области | правила модуля или типа файлов | вне области правило отсутствует |
| skill | по совпадению задачи или явному вызову | процедура, runbook, checklist | остаётся советом и может не сработать по trigger |
| subagent | при делегировании, в отдельном окне | поиск, аудит, анализ логов, независимая проверка | родитель получает сжатый итог, а не доказательства целиком |
| hook / permission / policy-as-code | по событию жизненного цикла | обязательная проверка, блокировка, автоматизация | неверный hook детерминированно ломает работу |
| output style / role prompt | при старте, высоко в иерархии | существенная смена роли и формы ответа | вытесняет или конфликтует с базовым поведением |
| разовый system-prompt append | на один запуск | временный доменный или форматный режим | высокая постоянная цена внутри запуска |
Матрица описывает механику Claude Code на сентябрь 2026 года, поэтому конкретное поведение загрузки помечено volatile. Общий принцип не зависит от продукта: чем уже область применимости, тем позже должно раскрываться знание (Context Layers).
Выбор по типу требования
- Факт, который нужен почти в каждой задаче, — в корневую карту.
- Ограничение, связанное с путём или типом файла, — в path-scoped rule.
- Последовательная процедура с человеческим управлением — в skill.
- Побочная работа, промежуточные результаты которой загрязнят основную сессию, — в subagent.
- «Всегда сделать X» или «никогда не делать Y», если нарушение реально опасно, — в детерминированный hook/permission, а не в прозу.
- Если проблему можно убрать стандартной структурой проекта, предпочтительнее Convention Over Instruction.
Особенно важно различать skill и subagent. Skill сохраняет процедуру в основном потоке, где её можно направлять. Subagent покупает изоляцию: его инструментальные следы не входят в родительский контекст, возвращается только handoff. Вопрос выбора звучит так: понадобится ли основной сессии сам промежуточный вывод или только заключение?
Авторитет не равен надёжности
Высокое место в prompt hierarchy повышает вероятность следования, но не превращает текст в границу безопасности. Запрет в system prompt всё равно остаётся вероятностным и уязвимым к конфликтам, длинной сессии и prompt injection. Обязательная политика исполняется вне модели (Agent Harness).
У hooks тоже два класса. Команда, HTTP/MCP-вызов и проверка кода могут запускаться детерминированно; hook, который вызывает LLM для решения, детерминирован только по факту запуска, но не по вердикту. Смешивать эти гарантии нельзя.
Гигиена поверхности
- у постоянно загруженного файла есть владелец и регулярный review;
- устаревшая компенсация ограничения модели удаляется после повторной проверки на новом поколении;
- процедура выносится из корневого файла, а не дублируется;
- требования безопасности имеют машинное принуждение;
- trigger skills проверяется отдельно от качества самой процедуры;
- после compaction проверяется, какие поверхности harness загружает заново, а какие теряет.
Фиксированный предел вроде «не больше 200 строк» — эвристика конкретного продукта. Инвариант другой: в постоянно загруженном слое остаётся только знание, цена отсутствия которого выше постоянной цены контекста.
Связано с
- Agent First Repository — корневой файл как карта, а не энциклопедия
- Agent Harness — мягкий и жёсткий контуры исполнения
- Context Layers — когда разные слои попадают в prompt
- Convention Over Instruction — как вообще удалить инструкцию
- Tool Catalog — описание инструмента как ещё одна поверхность управления поведением