Содержание

12 правил для CLAUDE.md: короткий договор с агентом

Как составить CLAUDE.md из проверяемых правил: границы задачи, работа с ошибками, тесты и передача контекста. С шаблоном и способом оценить результат.

CLAUDE.md полезен, когда устраняет конкретную повторяющуюся ошибку. Если агент запускает не тот тест, ему нужна точная команда. Если переписывает соседний модуль — граница задачи. Ещё один абзац про «высокое качество» обычно не помогает понять, что именно следует сделать.

В этой версии статьи убраны проценты «соблюдения правил» и результаты якобы проведённого сравнения на 30 репозиториях: воспроизводимого отчёта для этих цифр здесь нет. Ниже — редакционный набор правил, а не измеренный рейтинг промптов.

Откуда взялись правила

В andrej-karpathy-skills сформулированы четыре принципа: обдумать задачу, выбрать простое решение, ограничить изменения и определить проверяемый результат. Репозиторий оформляет идеи, основанные на наблюдениях Karpathy. Он не подтверждает приведённые в прежней версии статьи численные результаты.

Эти четыре принципа — отправная точка. Остальные пункты ниже — их прикладная адаптация для работы с репозиторием.

Двенадцать правил и признаки их выполнения

ПравилоЧто должно остаться после работы
1. Назови результат до правкиОдно предложение с ожидаемым поведением
2. Отдели факт от предположенияСписок неизвестных, которые влияют на решение
3. Сначала прочитай существующий путьСсылка на обработчик, вызывающий код и проверку
4. Выбери простое достаточное решениеОбъяснение, зачем нужна каждая новая сущность
5. Ограничь область измененияВ diff нет случайного рефакторинга
6. Сохрани чужую незавершённую работуИсходный git status учтён при правках
7. Не скрывай ошибкуНеуспешная проверка названа вместе с причиной
8. Проверяй наблюдаемое поведениеТест воспроизводит исходную проблему
9. Не придумывай выполненные проверкиВ отчёте только реально запущенные команды
10. Ограничивай вывод инструментовНужные фрагменты вместо полного дампа логов
11. Передавай незавершённое явноЗаписаны состояние, препятствие и следующий шаг
12. Удаляй устаревшие правилаИнструкции соответствуют текущему репозиторию

Этот список не нужно копировать целиком. Для маленького проекта достаточно нескольких пунктов, которые исправляют наблюдаемую проблему.

Пример для этого блога

В репозитории artka.dev есть отдельные команды проверки типов, переводов и сборки. Поэтому инструкция может быть конкретной:

## Перед изменением

- Прочитай git status и сохрани чужую незавершённую работу.
- Назови URL или действие пользователя, поведение которого меняется.
- Для исправления ошибки сначала воспроизведи её.

## Проверка

- После изменения типов: pnpm typecheck.
- После правки RU-статьи: обнови EN и запусти pnpm translate:check.
- После изменения рендера контента: pnpm build.
- В финальном отчёте перечисли выполненные проверки и оставшиеся ограничения.

Для другого проекта эти команды могут быть неверны. Источник правды — его package.json, CI и README. Копирование названий инструментов из чужого файла создаёт новую ошибку вместо исправления старой.

В видеопроекте с Claude Code такой договор фиксирует время сцены, утверждённый текст и проверки рендера.

Что файл не обеспечивает

По документации Claude Code, CLAUDE.md передаёт инструкции в контекст; это не исполняемая конфигурация безопасности. Рекомендация держать файл короче 200 строк — ориентир, а не гарантия соблюдения. Импорты @path помогают организовать текст, но загружают импортированный материал и не экономят контекст сами по себе.

Секреты, права записи и публикацию нужно ограничивать средствами среды и приложения. Фраза «не трогай .env» не заменяет отсутствие production-ключей в рабочем окружении.

Как оценить своё изменение

Возьмите несколько задач, на которых агент ошибался. Сохраните исходный коммит, модель, её настройки и точный запрос. Повторите задачи с прежним и новым файлом в отдельных рабочих копиях. Смотрите на принятую правку, непрошенные изменения, число ручных исправлений и стоимость завершённой задачи.

Один удачный запуск не доказывает улучшение. Если результаты расходятся, полезнее описать условия сбоя, чем объявлять универсальный процент надёжности. Правило стоит оставить, когда понятно, какую ошибку оно предотвращает и как проверить, что проблема не вернулась.

Проверка правила в одном цикле

Замеченный сбой превращается в конкретное правило, правило применяется в повторяемой задаче, результат проверяется по диффу и проверкам, а новые сбои возвращают цикл в начало.Замеченный сбой превращается в конкретное правило, правило применяется в повторяемой задаче, результат проверяется по диффу и проверкам, а новые сбои возвращают цикл в начало.
Схема 1. Цикл правила в CLAUDE.md

Правило начинается с наблюдаемой ошибки; повторная задача и проверка diff показывают, стоит ли его сохранить.