CLAUDE.md и AGENTS.md:какой агент читает какой файл.
Оба — Markdown-файлы с инструкциями для кодового агента, и они так похожи, что люди заводят оба по ошибке. Вот для чего каждый, кто его читает и как не вести две копии.
macOS 14 или новее. Чтение бесплатно; редактирование и ревью оплачиваются один раз.
Коротко
CLAUDE.md — файл инструкций, который читает Claude Code. AGENTS.md — открытый формат, который читают Codex, Cursor и многие другие агенты. Если вы используете Claude Code вместе с другими агентами, держите общие правила в AGENTS.md и поставьте @AGENTS.md в начало CLAUDE.md, а инструкции только для Claude напишите ниже.
@AGENTS.md
## Claude Code
Use plan mode for changes under `src/billing/`.
·
Что это за файлы
Оба — обычный Markdown, который агент загружает в контекст в начале сессии. Вы пишете команды сборки и тестов, стиль кода, структуру проекта и правила вроде «никогда не править сгенерированные файлы». Это инструкции, а не принудительные настройки: агент относится к ним как к рекомендациям.
- CLAUDE.md относится только к Claude Code. Он может лежать в корне проекта (
./CLAUDE.mdили./.claude/CLAUDE.md), в~/.claude/CLAUDE.mdдля всех ваших проектов и в подпапках. ФайлCLAUDE.local.mdхранит личные заметки для одного проекта. - AGENTS.md — открытый формат, описанный на agents.md, README для агентов. Его читают Codex, Cursor, кодовый агент GitHub Copilot, Gemini CLI, Zed и многие другие. В монорепозитории AGENTS.md в подпапке действует для этой части, и побеждает ближайший файл.
Содержимое по сути одно и то же. Различается то, какой инструмент подхватывает файл.
Что Claude Code делает с AGENTS.md
Документация Claude Code описывает три случая, для версии 2.1.277 и новее:
- Только AGENTS.md в проекте, CLAUDE.md нет: Claude Code читает AGENTS.md.
- Оба файла в проекте: Claude Code читает только файлы CLAUDE.md.
- CLAUDE.md, который импортирует AGENTS.md через
@AGENTS.md: Claude читает CLAUDE.md вместе с AGENTS.md.
Именно второй случай удивляет людей. Если добавить CLAUDE.md, пусть даже крошечный, в репозиторий, где уже есть AGENTS.md, Claude перестаёт читать AGENTS.md, пока CLAUDE.md его не импортирует. То же касается CLAUDE.local.md. Старые версии Claude Code читали только CLAUDE.md, поэтому импорт по-прежнему надёжный выбор. В документации также описана настройка Project instructions в /config, чтобы Claude читал оба файла вместе.
Один набор инструкций
Выберите один файл как источник истины. Документированы два способа:
-
Импортировать AGENTS.md из CLAUDE.md
Создайте CLAUDE.md рядом с AGENTS.md, первой строкой которого будет
@AGENTS.md, а ниже добавьте инструкции только для Claude. Импорты используют синтаксис@path, относительные пути отсчитываются от файла, где они записаны, а импортируемые файлы могут импортировать другие до четырёх уровней вложенности. -
Сделать CLAUDE.md символической ссылкой на AGENTS.md
Выполните
ln -s AGENTS.md CLAUDE.md, если вам нечего добавить специально для Claude. Документация предупреждает, что инструменты правки Claude не пишут через символическую ссылку, а в Windows закоммиченная ссылка может выгрузиться как однострочный текстовый файл, поэтому для общего репозитория импорт надёжнее.
Не используйте третий подход: CLAUDE.md, в котором словами написано «прочитай AGENTS.md». Claude увидит файл, только если решит его открыть, а импорт загружает его каждый раз.
Общий AGENTS.md
Положите в AGENTS.md то, что нужно любому агенту:
# AGENTS.md
## Commands
- Install: `npm ci`
- Test: `npm test`
- Lint: `npm run lint`
## Conventions
- TypeScript, strict mode. No default exports.
- Update the tests with every change.
## Do not
- Edit files under `generated/`.
- Commit without running the tests.
Пишите коротко и конкретно. В документации Claude Code советуют укладываться примерно в 200 строк на один CLAUDE.md, потому что длинные файлы стоят контекста и выполняются менее надёжно.
Частые ошибки
- Два файла расходятся. Одну копию обновили, другую нет. Используйте импорт.
- Добавили CLAUDE.md и потеряли AGENTS.md. См. выше: импортируйте его.
- Секреты в любом из файлов. Их коммитят, и они загружаются в каждую сессию.
- Расплывчатые правила. «Пиши чистый код» ничего не даёт. «Запусти npm test, прежде чем сказать, что закончил» даёт.
- Противоречивые правила в файле родительской папки и файле подпапки.
Чтение и ревью этих файлов
Оба — обычный Markdown, поэтому DotMD открывает CLAUDE.md и AGENTS.md как любой .md-файл, с оглавлением и историей каждого изменения, и показывает, что в них поменял агент. Чтение бесплатно. См. также Claude Code и Codex с DotMD.
Вопросы о CLAUDE.md и AGENTS.md
В чём разница между CLAUDE.md и AGENTS.md?
CLAUDE.md — файл инструкций для Claude Code. AGENTS.md — открытый формат, не привязанный к инструменту, который читают Codex, Cursor и многие другие агенты. Содержимое похоже; различается читатель.
Читает ли Claude Code AGENTS.md?
Да, в последних версиях, но только если в вашем рабочем каталоге или выше нет CLAUDE.md. Если есть оба, он читает файлы CLAUDE.md, поэтому импортируйте AGENTS.md из CLAUDE.md через @AGENTS.md.
Нужно ли держать и CLAUDE.md, и AGENTS.md?
Если вы используете Claude Code вместе с другими агентами, да: храните общие инструкции в AGENTS.md, а CLAUDE.md пусть импортирует его и добавляет всё, что относится только к Claude.
Где должен лежать CLAUDE.md?
В корне проекта или в .claude/ для проекта, в ~/.claude/CLAUDE.md для всех ваших проектов, а CLAUDE.local.md — для личных заметок, которые вы не коммитите.