8 ответов на главные вопросы об AGENTS.md
AGENTS.md: что это такое, зачем нужен и как написать файл для AI-агента
**AGENTS.md** — это Markdown-файл с инструкциями для AI-агентов, которые работают с кодом внутри репозитория. В нём можно заранее объяснить агенту, как устроен проект, какие команды запускать, какие правила соблюдать и что делать нельзя.
На первый взгляд идея кажется простой: положил текстовый файл рядом с исходным кодом — и нейросеть начинает работать лучше. Но именно здесь многие совершают ошибку. Вместо короткой и понятной инструкции создают ещё один огромный README, который агенту приходится разбирать вместе со всем остальным контекстом проекта.
Хороший AGENTS.md работает иначе. Он экономит время и человеку, и AI-агенту. Вместо того чтобы каждый раз объяснять: «у нас Python 3.12», «тесты запускаются вот так», «эти файлы не трогай», «используй существующий стиль», — правила один раз фиксируются внутри репозитория.
Разберёмся, что такое AGENTS.md, чем он отличается от README, что в него писать и как создать рабочий файл для своего проекта.
Что такое AGENTS.md
AGENTS.md — это обычный текстовый файл в формате Markdown, предназначенный для передачи контекста и инструкций AI coding agents.
Если README.md обычно отвечает человеку на вопросы:
- что это за проект;
- как его установить;
- как начать работу;
- для чего он нужен;
то AGENTS.md объясняет AI-агенту, как именно работать с этим конкретным кодом.
Например, агенту можно сообщить:
- какой язык и стек используются;
- где находится основной код;
- какими командами устанавливаются зависимости;
- как запускать тесты;
- какие файлы нельзя изменять;
- какие правила именования используются;
- что необходимо проверить перед завершением задачи.
Идея проста: агент не должен каждый раз самостоятельно угадывать правила проекта.
Представим небольшой репозиторий:
Человек открывает README.md и получает общее представление о проекте.
AI-агент читает AGENTS.md и получает рабочую инструкцию:
После этого агенту не нужно каждый раз получать те же правила отдельным сообщением.
Зачем нужен AGENTS.md
Главная проблема AI-агентов в программировании — не способность написать код.
Современный агент может создать функцию, переписать модуль, найти ошибку или провести рефакторинг. Проблема начинается, когда он не знает контекст конкретного проекта.
Допустим, вы просите агента добавить новую функцию.
Технически он справляется. Код работает. Но затем оказывается, что:
- в проекте уже есть библиотека для этой задачи;
- агент создал дублирующую реализацию;
- новый код нарушает архитектуру;
- используются неправильные имена;
- тесты находятся в другой директории;
- проект требует строгую типизацию;
- изменён файл, который вообще нельзя было трогать.
Человек-разработчик обычно узнаёт такие правила постепенно, изучая проект.
AI-агенту этот процесс можно сократить.
AGENTS.md становится точкой, где хранится минимальный набор инструкций для работы.
AGENTS.md ускоряет начало работы
Без инструкций агент может потратить значительную часть контекста на изучение репозитория.
Он открывает файлы, анализирует структуру, пытается определить используемые библиотеки и понять правила проекта.
Часть этой информации можно дать сразу.
Например:
Теперь агенту не нужно угадывать, куда поместить новый код.
AGENTS.md уменьшает количество ошибок
Особенно полезны явные ограничения.
Например:
Такие инструкции важнее общих фраз вроде «пиши хороший код».
AI-агент лучше работает с конкретными правилами.
AGENTS.md делает результат более единообразным
Если над проектом работают разные агенты или разработчики используют разные инструменты, правила можно хранить в одном месте.
Например, сегодня код создаётся через Codex, завтра через другой AI coding agent, а часть задач выполняется вручную.
Вместо нескольких отдельных файлов с похожими инструкциями появляется единый источник правил.
Именно поэтому AGENTS.md часто описывают как README для AI-агентов.
Чем AGENTS.md отличается от README.md
Файлы могут находиться рядом, но их задачи разные.
README можно читать перед тем, как решить использовать проект.
AGENTS.md нужен в момент, когда агент уже должен что-то делать.
Например, в README может быть написано:
Это сервис для обработки заказов интернет-магазина.
А в AGENTS.md:
Оба файла полезны, но дублировать их полностью не стоит.
README объясняет проект.
AGENTS.md задаёт правила работы внутри него.
Что писать в AGENTS.md
Жёсткого универсального шаблона нет. Один проект может уместить инструкции в 30 строк, другому понадобится несколько разделов.
Но обычно хороший AGENTS.md состоит из нескольких основных частей.
1. Краткое описание проекта
Не нужно переписывать весь README.
Достаточно нескольких строк:
Задача раздела — быстро дать агенту базовый контекст.
2. Структура проекта
Это особенно полезно для больших репозиториев.
Например:
Можно сразу добавить ограничения:
Чем конкретнее правило, тем меньше вероятность, что агент создаст код в случайном месте.
3. Команды для разработки
Один из самых полезных разделов.
Агенту можно сразу сообщить, как:
- установить зависимости;
- запустить проект;
- выполнить тесты;
- проверить код;
- собрать приложение.
Например:
Лучше писать реальные команды, а не абстрактное:
Перед завершением обязательно проверь код.
Если есть команда, укажите её.
Для агента это гораздо полезнее.
4. Правила написания кода
Здесь фиксируются соглашения конкретного проекта.
Например:
Не обязательно перечислять все правила языка.
AGENTS.md не должен превращаться в учебник Python или TypeScript.
Лучше описывать то, что важно именно для вашего проекта.
Например, если команда использует определённый подход к работе с базой данных, это стоит указать.
Если правило очевидно из официальной документации языка, его можно не дублировать.
5. Ограничения и запреты
Этот раздел часто оказывается полезнее остальных.
AI-агент может выполнить технически правильную задачу, но изменить слишком много.
Например, пользователь просит исправить одну ошибку, а агент заодно начинает рефакторить соседние модули.
Чтобы избежать этого, можно написать:
Такие ограничения уменьшают вероятность неожиданного результата.
6. Правила работы с тестами
Если в проекте есть тесты, лучше прямо объяснить, что от агента требуется.
Например:
Последний пункт особенно полезен.
Агент должен не просто написать:
Всё готово.
Гораздо полезнее получить:
Изменены три файла. Добавлен тест. Выполнена команда pytest tests/orders.
Так результат становится проверяемым.
Как написать AGENTS.md: готовый шаблон
Для большинства небольших проектов можно начать с такого варианта:
Code rules
- Follow existing project conventions.
- Reuse existing utilities.
- Do not introduce unnecessary dependencies.
- Keep changes focused on the task.
Restrictions
- Do not modify generated files.
- Do not change public APIs without approval.
- Do not modify configuration unless required.
Before finishing
- Run relevant tests.
- Run lint.
- Check changed files.
- Report what was changed.
Это не универсальный идеальный файл. Это отправная точка. После нескольких задач обычно становится понятно, каких инструкций агенту постоянно не хватает. Именно их и стоит добавлять.
Пример AGENTS.md для Python-проекта
Предположим, есть небольшой backend на FastAPI.
Структура:
AGENTS.md может выглядеть так:
Такой файл уже даёт агенту значительно больше полезного контекста, чем простой запрос:
Добавь новую функцию.
Где размещать AGENTS.md
Самый очевидный вариант — положить файл в корень репозитория:
Но в больших проектах одного файла может быть недостаточно.
Например:
Корневой файл может содержать общие правила проекта.
Локальный AGENTS.md — правила конкретной части.
Например, в корне:
Use existing project conventions.
Run tests before finishing.
Do not modify infrastructure without approval.
А внутри frontend:
Use React.
Do not use class components.
Run:
npm test
npm run lint
Это удобнее, чем создавать один файл на тысячу строк.
Главная ошибка — превращать AGENTS.md в огромную документацию
Возникает соблазн описать вообще всё:
- историю проекта;
- архитектурные решения пятилетней давности;
- полный список зависимостей;
- правила каждого модуля;
- описание каждой функции.
В результате AGENTS.md становится слишком большим.
Агенту приходится тратить контекст на инструкции, которые могут не иметь отношения к текущей задаче.
Лучше соблюдать простой принцип:
В AGENTS.md должна находиться информация, которая помогает агенту принять правильное решение прямо сейчас.
Если задача касается API, агенту нужна структура API.
Если задача касается frontend, полезны правила frontend.
Если какая-то информация не влияет на работу, её не обязательно добавлять.
Хороший AGENTS.md — это не самая полная документация проекта.
Это наиболее полезная инструкция для выполнения работы.
Какие ошибки чаще всего встречаются
Слишком общие инструкции
Плохой вариант:
Что именно считается чистым кодом?
Какие практики используются?
Что нельзя делать?
Агент вынужден решать самостоятельно.
Лучше:
Конкретные инструкции работают лучше.
Дублирование README
Если в AGENTS.md полностью скопировать README, пользы немного.
Вместо этого стоит оставить только рабочий контекст.
Устаревшие команды
Это одна из самых неприятных проблем.
В файле указано:
npm test
А тесты давно запускаются через другую команду.
Агент честно следует инструкции и получает ошибку.
Поэтому AGENTS.md нужно обновлять вместе с проектом.
Слишком много запретов
Если написать двадцать пунктов:
агент может оказаться в ситуации, когда выполнить задачу невозможно.
Ограничения должны защищать важные части проекта, а не запрещать любую работу.
Нужно ли создавать AGENTS.md для маленького проекта
Не всегда.
Если у вас небольшой скрипт из нескольких файлов и AI-агент используется один раз, отдельный файл может оказаться лишним.
Но AGENTS.md начинает приносить пользу, когда:
- проект развивается;
- задачи повторяются;
- с кодом регулярно работают AI-агенты;
- в проекте есть важные правила;
- агентам постоянно приходится объяснять одно и то же;
- несколько разработчиков используют разные инструменты.
Хороший тест очень простой.
Если вы регулярно пишете агенту:
Сначала посмотри структуру проекта.
Тесты запускаются вот этой командой.
Этот файл не трогай.
Используй существующий сервис.
— эти инструкции уже кандидаты для AGENTS.md.
AGENTS.md — это не волшебная кнопка
Важно понимать: сам по себе файл не превращает AI-агента в опытного разработчика.
Он всё ещё может ошибаться.
Инструкции могут быть неправильно поняты.
Тесты могут не покрывать проблему.
Агент может предложить решение, которое выглядит убедительно, но ломает бизнес-логику.
Поэтому AGENTS.md лучше рассматривать как способ уменьшить количество повторяющихся ошибок.
Он помогает передать агенту то, что уже знает команда.
- Архитектуру.
- Ограничения.
- Команды.
- Правила.
И ожидаемый результат.
Чем чаще AI-агент работает с одним и тем же проектом, тем заметнее становится эффект.
Итог
AGENTS.md — это файл с рабочими инструкциями для AI coding agents. Он помогает агенту быстрее понять проект и работать в рамках существующих правил.
Минимальный AGENTS.md обычно должен содержать:
- краткое описание проекта;
- технологический стек;
- структуру директорий;
- команды установки и запуска;
- команды тестирования и проверки;
- правила написания кода;
- ограничения;
- требования перед завершением задачи.
Не нужно писать огромную энциклопедию.
Начните с нескольких реально полезных инструкций. Затем посмотрите, какие ошибки агент повторяет и какую информацию вам приходится объяснять вручную.
Если одно и то же правило приходится писать AI-агенту второй или третий раз, скорее всего, ему уже пора появиться в AGENTS.md.
Источники: