РАЗРАБОТКА

Лишний AGENTS.md: как инструкции ломают работу ИИ-агентов

91 из 100 файлов AGENTS.md содержат хотя бы один дефект конфигурации, из-за которого ИИ-агенты тратят больше токенов и хуже пишут код.

✍️ Редакция iTech News | 18.06.2026 | ⏱ 4 мин | Источник: The Register
🐛

Исследователи изучили 100 популярных open source-проектов и выяснили: в 91 случае файлы AGENTS.md содержали хотя бы одну типовую ошибку конфигурации. Для команд, которые уже посадили ИИ-агентов на написание кода, это неприятная новость: чем длиннее и шумнее инструкция, тем больше токенов сгорает впустую и тем хуже агент держит фокус на задаче.

О проблеме сообщает The Register со ссылкой на препринт группы исследователей из Федерального института Минас-Жерайс в Бразилии. Авторы работы, Хелиу Виктор Ф. душ Сантуш, Витор Коста, Жоау Эдуарду Монтадон, Лусиана Лурдис Силва и Марку Тулиу Валенти, просмотрели около 532 тысяч файлов, чтобы собрать датасет из 100 популярных репозиториев, где есть файлы AGENTS.md или CLAUDE.md. Итог для сторонников «чем подробнее промпт, тем умнее агент» получился отрезвляющий: разросшиеся инструкции чаще мешают, чем помогают.

Главная находка исследования — так называемые configuration smells, то есть «запахи» конфигурации. Самым частым оказался Lint Leakage: он встретился в 62 процентах файлов. Речь о случаях, когда разработчики дублируют в AGENTS.md правила, которые и так проверяются линтерами, форматтерами и статическим анализом. Если проект уже жестко прогоняет код через eslint, prettier, mypy, ruff или аналогичные инструменты, просьба «соблюдай стиль», «не нарушай форматирование» и «проверяй типы» внутри инструкции для агента выглядит как забота, но по факту превращается в налог на контекст. Модель тратит токены на повторение того, что машина и без нее проверит надежнее.

На втором месте — Context Bloat, которым заражены 42 процента файлов. Здесь проблема еще прозаичнее: разработчики пытаются предусмотреть все сценарии сразу и превращают конфиг в мини-устав проекта. В результате важные указания тонут в потоке второстепенных правил, а стоимость каждой сессии растет просто потому, что агент каждый раз читает лишние десятки, а иногда и сотни строк. Не случайно Anthropic ранее советовала держать такие инструкции в пределах 200 строк. Это не эстетика и не культ минимализма, а вполне прикладная рекомендация: длинный контекст съедает окно модели и снижает связность ответов.

Третьим по распространенности стал Skill Leakage — 35 процентов. Это уже про неправильную упаковку знаний. Команды складывают в общий файл сведения о редких инструментах, нестандартных скриптах и специальных практиках, которые нужны не всегда, а только для отдельных задач. Но если этот багаж подгружается в каждой сессии, агент получает лишний шум еще до начала работы. Исследователи считают, что такие инструкции логичнее выносить в отдельные skill-файлы и подключать по запросу. Иначе получается знакомая многим корпоративная сцена: на короткий вопрос разработчика ему в ответ выдают регламент на 14 страниц, чеклист, гайдлайн и ссылку на старую wiki, половина которой уже неактуальна.

Есть и другие типовые проблемы. Blind References — когда файл ссылается на внешние документы или URL, но не объясняет, в какой момент к ним вообще нужно обращаться. Init Fossilization — это инструкции, которые когда-то имели смысл на старте проекта, а потом остались лежать как цифровые окаменелости. Наконец, Conflicting Instructions — прямые противоречия внутри одного набора правил. Для живого разработчика это раздражающий, но решаемый бардак. Для агента — еще и дополнительный источник неопределенности: модель пытается одновременно следовать взаимоисключающим требованиям и в итоге либо делает хуже, либо начинает «галлюцинировать» компромисс, которого никто не просил.

Контекст у этой истории шире, чем один набор markdown-файлов. За последний год рынок активно продавал идею, что правильный контекстный файл почти магически превращает LLM в дисциплинированного джуниора, который знает стиль команды, правила релизов и любимые команды в терминале. Но данные, которые приводит The Register, бьют по этому романтическому сценарию. Несколько месяцев назад исследователи из ETH Zurich уже изучали влияние context-файлов на работу агентов и пришли к неудобному выводу: инструкции, написанные людьми, увеличивали затраты и улучшали качество кода примерно на 4 процента, а инструкции, сгенерированные самими LLM, вообще давали небольшой отрицательный эффект — около 3 процентов. Иначе говоря, дополнительный контекст не бесплатен, а его польза сильно переоценена.

Для русскоязычных команд вывод довольно практичный. Если у вас уже есть файлы AGENTS.md, их стоит ревьюить так же жестко, как CI-конфиги или terraform-модули. Из инструкции имеет смысл оставлять только то, что агент не узнает из кода, тестов и автоматических проверок: критичные архитектурные ограничения, реальные запреты, порядок использования нестандартных инструментов, правила безопасности и несколько действительно важных соглашений команды. Все остальное лучше либо формализовать в инструментах, либо выносить в отдельные подключаемые документы. Это особенно важно для компаний, где агентные IDE и coding assistants уже считаются способом экономить время senior-разработчиков: шумный конфиг быстро превращает экономию в счет за токены и длинную переписку с моделью, которая честно старается выполнить вообще все.

Следующий этап здесь напрашивается сам собой: после линтеров для кода индустрия, похоже, придет к линтерам для агентных инструкций. И это будет полезнее большинства советов по «промпт-инжинирингу»: когда AGENTS.md становится короче, яснее и ближе к реальным ограничениям проекта, выигрывает не только модель, но и сама команда, которая наконец видит, какие правила ей действительно нужны. Проверить исходный материал и препринт, на который он ссылается, можно в публикации The Register.

Поделиться: Telegram X LinkedIn