# AGENTS.md в 2026: 3 раздела правил для Claude Code и Codex

> AGENTS.md хранит постоянные правила проекта для coding agent. Здесь показано, как подключить один файл к Codex и Claude Code.

Источник: https://vibeceh.ru/guides/agents-md-odin-fajl-pravil
Автор: Сергей Мазур · опубликовано 2026-08-02

Запрос `agents md` обычно появляется после первой поломки: агент переписал рабочий файл, запустил не ту команду или снова нарушил правило. `AGENTS.md` собирает постоянные инструкции проекта в одном Markdown-файле, чтобы Codex и Claude Code получали общий контекст.

## Что такое AGENTS.md и зачем он нужен

`AGENTS.md` - обычный Markdown-файл с постоянными правилами проекта. В нём хранят команды, соглашения, структуру каталогов и правила поведения агента. Файл лежит в корне проекта, пишется на Markdown и подхватывается coding agent при старте сессии - правила не нужно повторять в каждом чате.

Если каждый раз писать в чате «сначала посмотри существующие файлы», «не трогай `.env`» и «после изменений запусти тесты», правила быстро теряются. Файл остаётся рядом с кодом. ИИ-агент получает его как часть [контекста](/concepts/kontekst) проекта.

Поддерживаемый практический формат - обычный Markdown. Отдельный сервис, специальный редактор и сложная схема конфигурации не нужны. Подойдут заголовки, обычный текст и списки.

Идея простая:

- `AGENTS.md` содержит общие правила;
- разные coding agent используют один источник инструкций;
- инструмент получает сведения о командах и устройстве проекта до выполнения задачи.

CLAUDE.md files are markdown files that give Claude persistent instructions.

Файл задаёт агенту рабочий контекст. Ошибки и отдельные строки он сам не исправляет и не проверяет. Повторяющееся объяснение исчезает, а исходные рамки работы заданы заранее. Подробнее о формате CLAUDE.md и его поиске по дереву каталогов читайте в статье [CLAUDE.md больше 200 строк в 2026: удалить и пересобрать](/guides/claude-md-udalit-ili-perepisat).

## Где лежит файл AGENTS.md и что в нём хранится

начни с корня проекта, рядом с основными файлами и каталогами. Внутри используй заголовки и списки для команд, стиля, структуры и рабочего процесса. Для первого варианта хватит разделов с командами, стилем, структурой каталогов, правилами поведения и проверками после изменений. Не превращай файл в энциклопедию - только то, что относится к большинству задач.

В корне файл проще заметить и подключить к инструментам. Для первого варианта хватит нескольких разделов:

- команды установки, запуска, тестирования и сборки;
- соглашения по стилю;
- основные каталоги проекта;
- правила поведения агента;
- проверки после изменений.

Пример структуры:

```md
# Правила проекта

## Команды

- Установка: `npm install`
- Запуск: `npm run dev`
- Тесты: `npm test`
- Сборка: `npm run build`

## Стиль

- Сначала изучай существующие файлы.
- Не создавай новую библиотеку без согласия.

## Структура

- `src/` - исходный код.
- `tests/` - тесты.

## После изменений

- Запусти тесты.
- Проверь сборку.
```

Заголовки помогают сгруппировать связанные инструкции. Списки делают отдельные требования заметными. Такая форма рекомендована для файлов с постоянными правилами.

Не превращай `AGENTS.md` в энциклопедию проекта. Нерелевантный текст становится шумом в контексте. Для `CLAUDE.md` документация Claude Code рекомендует держать файл меньше 200 строк. Для `AGENTS.md` в документации нет отдельного подтверждённого ограничения, поэтому не переноси это число на Codex как спецификацию.

`AGENTS.md` остаётся текстовым контекстом и не заменяет систему исполнения. Строка «всегда запускай тесты» не гарантирует запуск сама по себе.

Если правило важно для каждой задачи, вынеси его в короткий список с конкретным действием. Для обязательного контроля добавь тест, линтер, hook или Git hook.

## Пример готового файла AGENTS.md

возьми короткую заготовку, замени команды на команды конкретного проекта и оставь только правила, которые относятся почти к каждой задаче. Замени команды `npm` на команды своего проекта, оставь правила «не трогай `.env`» и «сначала изучи существующие файлы», если они подходят твоему процессу, и убери лишнее - файл должен оставаться коротким.

В официальном минимальном примере используются раздел `Dev environment tips`, команда `pnpm test` и требование обновлять тесты. Для другого проекта команды надо заменить. Саму логику можно сохранить.

Ниже вариант для проекта с `npm`:

```md
# Правила проекта

## Команды

- Для установки используй `npm install`.
- Для запуска используй `npm run dev`.
- Для тестов используй `npm test`.
- Для сборки используй `npm run build`.

## Стиль

- Сначала изучи существующие файлы, потом редактируй.
- Не создавай новые библиотеки без моего согласия.
- Не трогай `.env`.

## Как работать

- Перед изменением найди связанные файлы.
- Делай небольшие изменения.
- Не переписывай рабочий код без причины.

## Что проверить после изменений

- Запусти `npm test`.
- Запусти `npm run build`.
- Обнови тесты, если поведение изменилось.
```

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

Правила «не трогай `.env`» и «сначала изучи существующие файлы» можно оставить, если они подходят рабочему процессу. Формулировки «делай небольшие изменения» и «не переписывай рабочий код без причины» задают направление, но не создают технический запрет. Для контроля нужны внешние проверки.

Готовый промпт поможет проверить, понял ли [ИИ-агент](/concepts/agent) файл:

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

## Как подключить AGENTS.md к Claude Code и Codex по шагам

сначала создай общий `AGENTS.md` в корне проекта. Затем добавь `CLAUDE.md` со строкой `@AGENTS.md`, запусти Claude Code или Codex из этой папки и проверь результат в новой сессии. После создания файлов заверши активную сессию и открой новую из корня проекта - только тогда агент подхватит свежие инструкции.

![Кот изучает схему подключения AGENTS.md и CLAUDE.md по трём шагам.](https://s3.regru.cloud/crossmark/statejnik/images/guides/agents-md-odin-fajl-pravil/kadr-1.webp)

Перейди в каталог репозитория. Проверь, что это нужная папка, а внутри нет случайного `.git` в подкаталоге.

Добавь в корень файл `AGENTS.md`. Запиши команды, структуру каталогов и постоянные правила поведения.

```md
# Правила проекта

## Команды

- Для установки используй `npm install`.
- Для запуска используй `npm run dev`.
- После изменений запускай `npm test`.

## Стиль

- Не трогай `.env`.
- Сначала изучи существующие файлы, потом редактируй.
```

В той же папке создай `CLAUDE.md`. Оставь в нём импорт общего файла.

```md
@AGENTS.md
```

Если отдельное правило относится только к Claude Code, напиши его ниже импорта.

```md
@AGENTS.md

## Claude Code

- Перед изменениями кратко перечисли файлы, которые собираешься затронуть.
```

Открой Claude Code или Codex в каталоге, где лежат `AGENTS.md` и `CLAUDE.md`. Не начинай настройку из `src/` или другого подкаталога.

Заверши активную сессию и запусти новую после создания или изменения файлов. Только новая сессия должна использовать свежий текст правил.

Дай задачу без изменения файлов и попроси перечислить команды, ограничения и проверки из `AGENTS.md`. Для Codex не считай отсутствие глобального файла в `/status` доказательством, что инструкции не загрузились.

## Как Claude Code читает правила из AGENTS.md

чтобы Claude Code получил правила из `AGENTS.md`, добавь в `CLAUDE.md` строку `@AGENTS.md`. Одного файла `AGENTS.md` недостаточно - нужна связка из двух файлов, где `CLAUDE.md` содержит импорт общего файла и может включать дополнения только для Claude Code.

Документация Claude Code формулирует это прямо:

Claude Code читает `CLAUDE.md`, а не `AGENTS.md`.

Поэтому одного файла `AGENTS.md` для Claude Code недостаточно. Нужна связка:

```text
AGENTS.md       # общие правила проекта
CLAUDE.md       # импорт общего файла
```

В `CLAUDE.md` импорт выглядит так:

```md
@AGENTS.md
```

`@AGENTS.md` - специальный импорт. Обычная Markdown-ссылка на файл лишь открывает его для чтения человеком:

```md
[Правила проекта](AGENTS.md)
```

Такая строка выглядит как ссылка для чтения человеком. Она не подключает содержимое к контексту Claude Code тем способом, который нужен для общих инструкций.

После импорта можно добавить правила только для Claude Code:

```md
@AGENTS.md

## Только для Claude Code

- Перед редактированием перечисли план действий.
```

Подробнее о поиске `CLAUDE.md` по дереву каталогов и формате файла читайте в статье [CLAUDE.md больше 200 строк в 2026: удалить и пересобрать](/guides/claude-md-udalit-ili-perepisat). Для этой статьи важно: `AGENTS.md` без импорта в `CLAUDE.md` не попадает в контекст Claude Code.

Держи правила проекта в `AGENTS.md`, а в `CLAUDE.md` оставь `@AGENTS.md` и короткие дополнения только для Claude Code. Две независимые версии быстро расходятся.

## Как Codex читает правила из AGENTS.md

для Codex `AGENTS.md` - штатный файл инструкций. Codex учитывает проектные правила и ищет корень по ближайшему каталогу с `.git`. Для первой настройки держи `AGENTS.md` в корне репозитория и запускай Codex из этой же директории. Глобальные инструкции зависят от значения `CODEX_HOME` и могут лежать в отдельном каталоге.

Claude Code получает инструкции через `CLAUDE.md`. Codex использует имя `AGENTS.md` как основной способ передать инструкции проекту.

Для первой настройки держи `AGENTS.md` в корне репозитория. Запускай Codex из этой же директории. Если внутри проекта случайно оказался отдельный `.git`, ближайшая папка с ним может быть принята за корень. Тогда выше этого места Codex уже не ищет.

Глобальные инструкции зависят от фактического значения `CODEX_HOME`. Глобальный файл может лежать по одному из путей:

```text
$CODEX_HOME/AGENTS.md
$CODEX_HOME/AGENTS.override.md
```

Если `CODEX_HOME` указывает не на `~/.codex`, проверка только `~/.codex/AGENTS.md` не даст правильного ответа.

Порядок для Codex выглядит так:

1. Уточни, какая папка указана в `CODEX_HOME`.
2. Проверь глобальный `AGENTS.md` или `AGENTS.override.md` в этой папке.
3. Проверь проектный файл в корне.
4. Запусти Codex из каталога проекта.
5. Отдельно проверь, какой текст попал в текущую сессию.

Команда `/status` не всегда показывает глобальный `AGENTS.md`. Она может показать только проектный файл. Поэтому надпись без глобального файла не доказывает, что глобальные инструкции не применились.

Точные каталоги поиска проектных файлов и полный алгоритм наследования `AGENTS.md` в открытых источниках не подтверждены. Не воспринимай неподтверждённую схему как спецификацию Codex.

## Сравнение Claude Code и Codex

Claude Code читает CLAUDE.md, Codex читает AGENTS.md штатно. Таблица ниже собирает ключевые различия в одном месте.

| Что | Claude Code | Codex |
|-----|------------|-------|
| Файл инструкций | CLAUDE.md | AGENTS.md |
| Импорт AGENTS.md | Через @AGENTS.md в CLAUDE.md | Штатно, без импорта |
| Поиск корня | От текущего каталога вверх | По ближайшему .git |
| Глобальные инструкции | Не предусмотрены | Через CODEX_HOME |

## Почему агент не соблюдает правила из AGENTS.md

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

![Мужчина закрывает лицо перед схемой причин, по которым агент нарушает правила.](https://s3.regru.cloud/crossmark/statejnik/images/guides/agents-md-odin-fajl-pravil/kadr-2.webp)

Первая причина - слишком большой файл. Нерелевантные инструкции увеличивают шум в контексте. Правило про frontend не помогает задаче, где меняется только серверная часть. Для локальных требований подходят path-scoped rules.

Вторая причина - расплывчатая формулировка. «Правильно форматируй код» оставляет много вариантов. Лучше указать точное действие, компонент, импорт и поведение при отсутствии подходящего варианта.

```md
## Frontend

- Для интерактивных элементов используй `GoodButton`, `GoodInput` и `GoodSelect`.
- Не добавляй обычные элементы `<button>`, `<input>` и `<select>`.
- Импортируй их из `@/components/ui`.
- Если подходящего компонента нет, остановись и спроси перед созданием нового.
```

Третья причина - конфликт файлов. Если `AGENTS.md`, `CLAUDE.md` и вложенный файл дают разные указания, Claude Code может выбрать инструкцию произвольно. Один источник истины безопаснее:

```text
AGENTS.md       # общие правила проекта
CLAUDE.md       # @AGENTS.md и дополнения Claude Code
```

Четвёртая причина - ожидание жёсткого запрета. Фраза «никогда не коммить без тестов» остаётся текстовой инструкцией. Она не превращается в системное ограничение.

Claude воспринимает их как контекст, а не как принудительную конфигурацию.

Если действие должно выполняться в фиксированный момент, перенеси контроль в механизм проверки:

- тесты проверяют поведение;
- линтер проверяет стиль;
- hooks запускают действие в нужный момент;
- Git hooks блокируют нежелательный коммит.

Правило в `AGENTS.md` помогает агенту выбрать действие, но не гарантирует его. Для запрета или обязательной проверки нужен механизм, который способен остановить процесс.

## Что проверить, если правило не применилось

заверши текущую сессию, открой новую из корня проекта и проверь расположение файлов. Для глобальных инструкций Codex не используй `/status` как единственную проверку. Заверши активную сессию, открой новую из корня, убедись, что рядом лежат оба файла, и попроси агента пересказать правила - так ты узнаешь, попал ли текст в контекст.

![Собака одобрительно смотрит на чек-лист проверки новой сессии агента.](https://s3.regru.cloud/crossmark/statejnik/images/guides/agents-md-odin-fajl-pravil/kadr-3.webp)

1. **Заверши активную сессию**. Изменение `AGENTS.md` на диске не означает, что уже запущенный агент получил новую версию.

2. **Открой новую сессию**. После изменения файла запусти Claude Code или Codex заново. Проверяй правило только после нового старта.

3. **Перейди в корень проекта**. Убедись, что запуск идёт из каталога, где лежит проектный `AGENTS.md`.

4. **Проверь лишний `.git`**. Найди случайный каталог `.git` внутри проекта. Codex может принять ближайшую папку с ним за корень и загрузить другой набор инструкций.

5. **У Claude Code должны лежать рядом `AGENTS.md` и `CLAUDE.md`**. Внутри `CLAUDE.md` должна быть строка:

```md
@AGENTS.md
```

6. **Проверь глобальный Codex-файл отдельно**. Узнай фактическое значение `CODEX_HOME`. Затем проверь наличие одного из файлов:

```text
$CODEX_HOME/AGENTS.md
$CODEX_HOME/AGENTS.override.md
```

7. **Не делай вывод по `/status`**. Эта команда не всегда показывает глобальный `AGENTS.md` Codex. Отсутствие строки там не равно отсутствию глобальных инструкций.

8. **Попроси агента пересказать правило**. Дай задачу без изменений и попроси назвать команды, ограничения и проверку после работы. Так станет ясно, попал ли текст в контекст.

Запуск из подкаталога и дополнительные файлы в дереве могут дать другой набор правил. Подробнее о поиске файлов читайте в статье про [CLAUDE.md](/guides/claude-md-udalit-ili-perepisat).

## Вопросы и ответы

здесь собраны частые вопросы про AGENTS.md - от определения и написания до настройки под Codex и Claude Code.

`AGENTS.md` - Markdown-файл с постоянными правилами проекта: командами, соглашениями, структурой каталогов и правилами поведения агента.

Это общий файл текстовых инструкций для coding agent. Он помогает передать правила проекта без повторного объяснения в каждой сессии.

Начни с корня проекта. Добавь заголовки и списки. Запиши команды установки, запуска, тестирования и сборки, затем правила стиля, структуру каталогов и проверки после изменений.

Короткий пример содержит разделы с командами, стилем, рабочим процессом и проверками. Команды вроде `npm test` нужно заменить на реальные команды конкретного проекта.

Положи `AGENTS.md` в корень проекта и запускай Codex из этой директории. Для глобальных правил проверь `$CODEX_HOME/AGENTS.md` или `$CODEX_HOME/AGENTS.override.md`.

Codex использует `AGENTS.md` как штатный файл инструкций. Набор правил зависит от расположения файла, текущего каталога и определения корня проекта.

В документации нет подтверждённого формата для описания скиллов в `AGENTS.md`. Не добавляй специальную секцию и синтаксис без отдельной документации.

Создай `AGENTS.md` в корне, добавь правила, создай `CLAUDE.md` с импортом `@AGENTS.md`, запусти инструмент из корня и проверь результат в новой сессии.

В документации нет подтверждённого сравнения этих названий и назначения файлов. Для описанной связки используй именно `AGENTS.md`.

- [How Claude remembers your project - Claude Code Docs](https://code.claude.com/docs/en/memory?utm_source=openai)
- [AGENTS.md - GitHub](https://github.com/agentsmd/agents.md)
- [Pointing CLAUDE.md to AGENTS.md](https://reflex.dev/docs/ai/integrations/agents-md/?utm_source=openai)
- [Automatically reread AGENTS.md within a session when it is modified - GitHub](https://github.com/openai/codex/issues/8547)
- [Repo-root AGENTS.md and .agents/skills are not loaded on session start - GitHub](https://github.com/openai/codex/issues/25651)
- [CLI fails to read AGENTS.md from the global location by default - GitHub](https://github.com/openai/codex/issues/8759)
- [/status shows Agents.md: &lt;none&gt; - GitHub](https://github.com/openai/codex/issues/17498)
- [[BUG] Claude Doesn't Follow Instructions - GitHub](https://github.com/anthropics/claude-code/issues/742)
- [Now it even ignores claude.md - Reddit](https://www.reddit.com/r/ClaudeCode/comments/1qbf1cx/whats_even-the-point-of-claude.md/)
- [Whats even the point of Claude.md - Reddit](https://www.reddit.com/r/ClaudeCode/comments/1qbf1cx/whats_even-the-point-of-claude.md/)
- [Why Anthropic isn't adopted the AGENTS.md standard yet? - Reddit](https://www.reddit.com/r/ClaudeAI/comments/1qia1ns/whats-even-the-point-of-ClaudeAI/)
