БлогУслугиКарьера
Обсудить проект
БлогУслугиКарьераОбсудить проект
Автоматизация

CLAUDE.md: как настроить, чтобы агент не переспрашивал

Что класть в CLAUDE.md, а что вынести в правила и скиллы. Почему файл не гарантирует послушания, чем он отличается от хуков и как проверить, что он вообще загрузился.

Редакция Feature
Редакция Feature·
30 авг
·
12 мин
·
CLAUDE.md: как настроить, чтобы агент не переспрашивал

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

Лечится это файлом CLAUDE.md. Но у него есть свойство, из-за которого половина команд разочаровывается ещё до того, как он начнёт работать: это контекст, а не конфигурация. Файл не заставляет агента что-то делать, он подсказывает.

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

Главное свойство: подсказка, а не приказ

Содержимое CLAUDE.md приезжает в сессию как обычное сообщение, а не как часть системного промпта. Агент его читает и старается следовать, но строгого исполнения тут нет, особенно если инструкция расплывчатая или противоречит другой.

Отсюда практический вывод, который экономит много раздражения. Если правило должно выполняться всегда и обязательно, скажем запрет пушить в главную ветку или обязательный линтер перед коммитом, ему не место в CLAUDE.md. Такое выражают хуками: они запускаются в фиксированных точках жизненного цикла и работают независимо от того, что решит модель.

CLAUDE.md хорош для другого: для того, что агент не может вывести из кода сам.

Куда класть файл

Файлы читаются в порядке от общего к частному, и всё найденное складывается вместе, а не перезаписывает друг друга:

Уровень Путь Для чего
Организация управляемая политика на машине Общие стандарты компании
Пользователь ~/.claude/CLAUDE.md Ваши личные привычки во всех проектах
Проект ./CLAUDE.md или ./.claude/CLAUDE.md Командные правила, коммитится в репозиторий
Личный в проекте ./CLAUDE.local.md Ваши локальные мелочи, добавляется в .gitignore

Читается не один лишь файл в текущем каталоге: агент поднимается по всем каталогам выше. Файлы во вложенных папках подхватываются позже, когда агент до этих папок доберётся.

Быстрый старт даёт команда /init: она осмотрит проект и соберёт черновик с командами сборки и найденными конвенциями. Дальше файл дописывают руками — тем, чего в коде не видно.

Что стоит записать

Ориентир простой: записывайте то, что вам приходится объяснять повторно. Признаки, что пора дописать файл:

  • агент второй раз совершает одну и ту же ошибку
  • на ревью всплывает то, что он мог бы знать про этот проект
  • вы печатаете в чат ту же поправку, что и в прошлый раз
  • новому человеку в команде понадобился бы ровно этот же контекст

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

От формулировок требуется конкретность, которую можно проверить:

# Плохо # Хорошо

Форматируй код правильно → Отступ 2 пробела
Тестируй изменения → Перед коммитом запускай `npm test`
Держи файлы в порядке → Обработчики API лежат в `src/api/handlers/`

Разница не косметическая. Расплывчатую инструкцию агент истолкует по-своему, а проверяемую просто выполнит.

Внедряете ИИ-агентов в команде?

Настроим процессы, границы и метрики, а не коллекцию подписок

Обсудить AI-автоматизацию

Что записывать не нужно

Здесь и находится главная ошибка: файл превращают в описание проекта. А он уезжает в контекст каждой сессии, то есть вы платите за каждую строку постоянно, независимо от того, пригодилась она сегодня или нет.

Ориентир по размеру: до двухсот строк. Длинный файл дороже обходится и хуже соблюдается: чем больше правил, тем меньше внимания каждому.

Не стоит класть в файл:

То, что видно из кода. Раскладка каталогов, список зависимостей, обзор архитектуры. Агент прочитает это сам, когда понадобится.

Многошаговые процедуры. Инструкция «как выкатить релиз» на сорок строк нужна раз в месяц, а платите вы за неё каждую сессию. Такому место в скилле, который загружается по требованию.

Правила для одного каталога. Если инструкция касается только фронтенда, она не должна ехать в сессию, где вы правите миграции.

Последние два пункта не абстрактный совет: для них есть отдельные механизмы.

Правила с областью действия

Для инструкций, привязанных к части кодовой базы, есть каталог .claude/rules/. Файл с фронтматтером paths загружается только тогда, когда агент работает с подходящими файлами:

---
paths:
  - "src/api/**/*.ts"
---

# Правила для API

- Каждый эндпоинт валидирует вход
- Ошибки отдаются в едином формате

Правило без paths грузится всегда, наравне с основным файлом.

Здесь легко ошибиться с импортами. CLAUDE.md умеет подтягивать другие файлы синтаксисом @путь/к/файлу, и кажется, что так можно разгрузить контекст. Нельзя: импортированные файлы загружаются в контекст вместе с основным. Импорт помогает организовать текст, но не экономит ни одного токена. Экономят только правила с областью действия и скиллы.

Мелочь, которая пригодится: чтобы упомянуть путь и не импортировать его, оберните в обратные кавычки.

Чем это отличается от скиллов и хуков

Три механизма решают три разные задачи, и путаница между ними порождает большую часть проблем.

CLAUDE.md и правила держат то, что должно быть в голове у агента постоянно или при работе с определёнными файлами. Загружается автоматически, стоит токенов, не гарантирует исполнения.

Скиллы упаковывают сценарии, которые подключаются, когда действительно нужны. Не занимают контекст, пока не вызваны. Сюда переезжает всё длинное и редкое.

Хуки выполняют команды в фиксированных точках. Единственный механизм с гарантией. Если что-то обязано случиться перед каждым коммитом, это хук, и никакая формулировка в CLAUDE.md его не заменит.

Отдельно стоит упомянуть автопамять: агент сам записывает то, что вы поправили, в свой каталог памяти. Она дополняет CLAUDE.md, но не заменяет его: правила пишете вы, наблюдения — он.

Как проверить, что файл работает

При жалобе «он игнорирует мой CLAUDE.md» первым делом убедитесь, что файл вообще загрузился.

Команда /context показывает список загруженных файлов памяти. Если вашего там нет, дело не в формулировках, а в расположении. Команда /memory открывает файлы на редактирование и заодно показывает, где они лежат.

Если файл загрузился, а инструкции всё равно не соблюдаются, проверьте три вещи по порядку:

  1. Конкретность. «Форматируй красиво» проверить нельзя, значит, и выполнить однозначно тоже.
  2. Противоречия. Два правила из разных файлов могут спорить друг с другом, и тогда агент выберет одно произвольно. В больших монорепозиториях это частая история: подхватываются файлы соседних команд.
  3. Природа требования. Если правило обязано соблюдаться железно, оно и не должно жить в CLAUDE.md.

Полезная деталь про длинные сессии: корневой файл проекта переживает уплотнение контекста — после /compact он перечитывается с диска. А вот инструкция, произнесённая только в чате, после уплотнения пропадёт. Это ещё один довод переносить повторяющиеся поправки в файл.

Две мелочи, которые мало кто знает

Комментарии HTML вырезаются. Блочный комментарий вида <!-- заметка для своих --> удаляется до попадания в контекст. То есть в файле можно держать пояснения для коллег, не платя за них токенами.

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

Обсудим ваш проект?

Оставьте контакты — перезвоним и обсудим задачу

Чек-лист

  • Файл лежит там, где нужно, и виден в /context
  • Объём в пределах двухсот строк
  • Каждая инструкция проверяема, без «правильно» и «аккуратно»
  • Из файла убрано всё, что агент выведет из кода сам
  • Длинные и редкие процедуры вынесены в скиллы
  • Инструкции для отдельных каталогов вынесены в правила с paths
  • Обязательные требования оформлены хуками, а не текстом
  • Противоречий между файлами разных уровней нет
  • Заметки для людей спрятаны в комментарии HTML

Заключение

Хороший CLAUDE.md короткий и скучный: несколько команд, несколько запретов, несколько конвенций, которые нельзя вывести из кода. Всё остальное либо переезжает в скиллы и правила, либо становится хуком, либо не нужно вовсе.

Проверить себя можно одним вопросом: пригодится ли эта строка в каждой сессии? Если нет, она стоит вам токенов на каждом запросе и не окупается. Про то, куда ещё утекает контекст, мы написали отдельно.

Читайте также

  • Claude Code съедает лимит: 7 способов тратить меньше токенов
  • MCP-серверы: как дать ИИ-агенту доступ к своим данным
  • Claude AI-агенты для автоматизации бизнеса

Обсудим ваш проект?

Оставьте контакты — перезвоним и обсудим задачу

Содержание
  • Главное свойство: подсказка, а не приказ
  • Куда класть файл
  • Что стоит записать
  • Что записывать не нужно
  • Правила с областью действия
  • Чем это отличается от скиллов и хуков
  • Как проверить, что файл работает
  • Две мелочи, которые мало кто знает
  • Чек-лист
  • Заключение
Поделиться:

Похожие статьи

MCP-серверы: как дать ИИ-агенту доступ к своим данным
Автоматизация

MCP-серверы: как дать ИИ-агенту доступ к своим данным

13 мин
Почему ломается обмен 1С с сайтом: кодировки, блокировки, дубли
Автоматизация

Почему ломается обмен 1С с сайтом: кодировки, блокировки, дубли

13 мин
Обмен 1С с сайтом через OData: настройка с нуля
Автоматизация

Обмен 1С с сайтом через OData: настройка с нуля

13 мин
Feature IT

Feature IT — платформа по обучению программированию и разработке цифровых продуктов. Мы создаём современные веб-решения для бизнеса и обучаем этому других!

Политика конфиденциальностиПользовательское соглашение

О компании

  • Блог
  • Карьера

Услуги разработки

  • Разработка сайтов под ключ
  • Веб-приложения на React/Next.js
  • Telegram-боты для бизнеса
  • Mini Apps (Telegram, VK)
  • SEO-оптимизированные сайты
  • Автоматизация бизнес-процессов
  • Поддержка и развитие IT-продуктов

Обучение

  • Курс Python с нуля
  • Алгоритмы и структуры данных
  • Паттерны проектирования
  • Подготовка к собеседованиям в IT
  • Практика на реальных проектах

Инструменты

  • Генератор UTM-меток
  • Счётчик символов