Главная / Статьи

AGENTS.md или CLAUDE.md? Что на самом деле содержат эти 592 ведущих репозитория?

Исследование 592 ведущих репозиториев GitHub показывает, что CLAUDE.md в основном является ссылкой на AGENTS.md, а хуки, слой обеспечения соблюдения правил, встречаются гораздо реже, чем документация.

Издатель: REACTAPP.TOP7 мин чтения1652 слов

Источники: AGENTS.md vs CLAUDE.md: We Counted 592 Top Repos — 57% of CLAUDE.md Files Are Just Redirects

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

Ключевые цифры

8 сентября 2026 года исследование охватило 592 самых популярных репозитория, отобранных из шести языковых рейтингов (TypeScript, Python, Go, Rust, Java и JavaScript с устранением дубликатов). Был проведен поиск файла CLAUDE.md и нескольких связанных с ним файлов.

  • 165 репозиториев (27,9%) содержат файл CLAUDE.md.
  • В 94 из этих 165 репозиториев (57,0%) вообще отсутствуют знания, связанные с репозиторием; это перенаправления.
  • Из этих 165 репозиториев 94 (57,0%) совершенно не обладают знаниями о репозиториях. Это перенаправления.
  • 209 репозиториев, что составляет 35,3%, содержат файл AGENTS.md, причем у 93,8% из них имеется реальный контент.
  • В тех репозиториях, где существуют оба файла (132 репозитория), 89 из них указывают CLAUDE.md на AGENTS.md. Только 10 указывают в обратном направлении.
  • Лишь 5,9% репозиториев имеют файл .claude/settings.json, где настраиваются хуки стадии 3 плейбука.
  • Средний размер значимых файлов CLAUDE.md составляет 3 934 байта, а самый большой достигает 66 176 байт.
  • Если исключить перенаправления, то у всего лишь 12,0% ведущих репозиториев имеется файл CLAUDE.md с каким-либо содержимым. Значимый файл AGENTS.md присутствует в 33,1% репозиториев.

    Для тех, кто сейчас начинает использовать этот пособие, выводы противоречивы. Агентам действительно нужен документ знаний с четким управлением версиями, однако в пособии указан неверный файл. Во всех этих репозиториях CLAUDE.md превратился в инструмент совместимости, расположенный перед AGENTS.md — файле, нейтральном с точки зрения поставщика и читаемом всеми основными кодинг-агентами. Проекты, которые уже решили эту проблему, записали свои знания один раз в AGENTS.md и оставили указатель из одной строки.

    Как проводился подсчет

    Основой для выборки послужил отчет о рейтингах на GitHub — топ-100 репозиториев по количеству звезд на каждом из шести языков, которые после удаления дубликатов сократились до 592 уникальных репозиториев. Был запрошен фиксированный набор путей с сайта raw.githubusercontent.com без использования API-ключа, аутентификации или скрапинга. Вопрос заключался лишь в том, существует ли файл и что в нем написано. Затем были загружены все файлы CLAUDE.md и AGENTS.md — 374 файла из 242 репозиториев, которые были прочитаны вручную.

    Именно при чтении выяснилась проблема: медианная длина файла CLAUDE.md оказалась двумя строками, поэтому показатель в 27,9% сам по себе почти ничего не говорит.

    Что содержат эти файлы

    Ни одна из распространенных форматов не представляет собой настоящих знаний:

    • Симлинк в git. Файл состоит из девяти байтов — это просто текст AGENTS.md без завершающего символа новой строки, поскольку git хранит симлинк в виде блока данных, содержащего целевой файл. Примерами могут служить openclaw, dify, ant-design, moby, home-assistant, superset, Stirling-PDF и nushell.
    • Одна строка импорта вида @AGENTS.md, длиной одиннадцать байтов; Claude Code обрабатывает её при загрузке. Подобным образом работают n8n, supabase, grafana, nuxt, storybook, prometheus, traefik, ruff и pdf.js.
    • Одно предложение прозы. В lazygit это представляет собой инструкцию сначала прочитать AGENTS.md, а затем следовать его указаниям. CLI Google Workspace формулирует то же самое, но более подробно.

    Несколько особых случаев имеют значение для тех, кто создает классификаторы. В Docusaurus есть заголовок, за которым следует импорт, и больше ничего. Jest указывает на .github/copilot-instructions.md вместо этого. Ansible состоит из трех строк импорта без какого-либо текста. Zed содержит символическую ссылку на файл с именем .rules.

    После исключения всех файлов, содержащих только перенаправление, в 71 из 592 репозиториев имеется файл CLAUDE.md с информацией о репозитории, что составляет 12,0%. Эти 71 репозитория являются настоящими, причем некоторые из них довольно большие: медианное значение — 3,934 байта, 90-й процентиль — 19,506 байт, максимальное значение — 66,176 байт. Проекты вроде bun, pytorch, swc, gstack и 3x-ui содержат подлинные руководства по эксплуатации, охватывающие команды сборки, карты репозиториев, философию тестирования и правила, действующие в определенных каталогах.

    Где на самом деле хранится эта информация

    В файле AGENTS.md показатели значительно выше. Его фактический процент заполнения составляет 93,8% — 196 из 209 файлов, тогда как у CLAUDE.md он равен 43,0%. Именно эта асимметрия и является ключевой особенностью. Репозиторий, в котором создан файл AGENTS.md, почти всегда заполняет его содержимым. Репозиторий, в котором создан файл CLAUDE.md, чаще всего служит переходом к другому ресурсу.

    132 репозитория, содержащих оба файла, четко показывают эту зависимость:

    • В 89 из них CLAUDE.md является указателем, а AGENTS.md содержит фактическое содержимое.
    • В 10 случаях роли обменянысь: AGENTS.md выполняет функцию перенаправления, а CLAUDE.md — это настоящий файл. К ним относятся Pytorch, bun, milvus, anki и litellm.
    • В 31 репозитории содержимое сохраняется в обоих файлах, что означает двойное хранение одних и тех же институциональных знаний.
    • В 2 репозиториях в обоих файлах присутствуют указатели, что свидетельствует о наличии еще одного файла где-то еще.

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

    Распространение среди языков

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

    • TypeScript: 46,5% и 53,5%.
    • Rust: 33,3% и 43,4%.
    • Go: 32,3% и 37,4%.
    • Python: 25,5% и 31,6%.
    • JavaScript: 19,0% и 23,0%.
    • Java: 10,3% и 22,7%.

    Файл AGENTS.md преобладает во всех языках. У Java наблюдается наибольший разрыв: версии проектов с AGENTS.md встречаются в более чем два раза чаще, чем с CLAUDE.md, а проекты на TypeScript имеют CLAUDE.md в четыре раза чаще, чем проекты на Java. В общей сложности в 43,2% лучших репозиториев существует какой-либо файл с инструкциями для агентов — будь то AGENTS.md, CLAUDE.md, .cursorrules или файл с инструкциями от Copilot. Файл от Copilot присутствует в 9,3% репозиториев. Стандарт .cursorrules практически исчез из этой группы, его использование составляет всего 0,5%, что служит наглядным примером того, наскоро может исчезнуть стандарт, связанный с конкретным поставщиком.

    Остальные компоненты стека Stage-3

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

    Только в 35 из 592 репозиториев (5,9%) имеется файл .claude/settings.json, а ещё в 32 (5,4%) он существует вместе с файлом CLAUDE.md. Именно документация, представляющая собой просто файл, который может написать любой человек, стала общепринятой. Механизм контроля, который фактически определяет, что может делать агент, присутствует лишь примерно в одном репозитории из восемнадцати. Плейбук, безопасность которого зависит от хуков, описывает что-то, что пока почти никто не создал.

    Ограничения данных

    • В качестве примера используются публичные репозитории, отсортированные по количеству звёзд. Подобные плейбуки развертываются в частных корпоративных репозиториях, которые недоступны для просмотра. Там уровень внедрения может быть выше и более систематизированным.
    • Речь идёт о единственной выборке, взятой в состоянии HEAD 8 сентября 2026 года. Процесс внедрения развивается быстро, поэтому уже через месяц проценты будут неточными, причём направление изменений важнее их абсолютного уровня.
  • Файл сам по себе не является показателем эффективности. Наличие файла CLAUDE.md лишь свидетельствует о том, что кто-то его создал, но не доказывает, что кто-то его обновляет или что качество вывода агента улучшилось. Опубликованные исследования ставят под сомнение, действительно ли такие файлы помогают агентам для программирования, и этот показатель ничего об этом не говорит.
  • Файл settings.json является лишь косвенным показателем наличия хуков, а не полным их списком. Любые хуки, определённые в других местах, остаются незамеченными, поэтому 5,9% — это минимальное значение.
  • Решение о том, считать элемент указателем или содержательным, принимается на основе субъективной оценки. После удаления заголовков, импортов и строк перенаправления оставалось 120 символов лишнего текста. Четырнадцать файлов, находящихся ближе всего к этой границе, были проверены вручную; ближайший к ней содержательный файл lazydocker содержит 172 символа реальных флагов сборки. Изменение порогового значения влияет на этот показатель. Вторая проверка 25 репозиториев с учётом актуальных файлов показала, что ошибки возникают в одном направлении: классификатор иногда считает строку перенаправления содержательной, когда она формулируется как инструкция для агента, а не как указание на местоположение документации, как в случае с zeroclaw. Следовательно, 57,0% — это минимальный показатель, а реальная доля указателей немного выше.
  • Есть ещё один случай, который стоит упомянуть. В первом отчёте говорилось, что 27,9% ведущих репозиториев уже использовали CLAUDE.md, и эта информация должна была быть опубликована. Однако именно двухстрочный медианный показатель помешал этому.

    Практические решения

    В каком файле должен храниться контент? Данные указывают на AGENTS.md, при этом CLAUDE.md может служить лишь указателем. Большинство репозиториев с двумя файлами (89 из 132) поступают именно так. Один экземпляр знаний остаётся, и агенты, которые не ищут файлы с уникальными именами Claude, всё равно могут его прочитать.

    Читает ли Claude Code файл AGENTS.md напрямую? Нет, в отличие от CLAUDE.md, из-за чего и существует такая схема указателей. На практике работают два варианта: симлинк в git под названием CLAUDE.md, указывающий на AGENTS.md, или импорт через @AGENTS.md. В проекте new-api даже в своем собственном CLAUDE.md предупреждают, что такой импорт не всегда работает надежно, и рекомендуют агенту открывать файл самостоятельно.

    Является ли уровень внедрения в 27,9% хорошим или плохим? Лучше, чем ожидалось для столь молодой конвенции, но хуже, чем предполагается по стандартам. Два других показателя говорят о большем: 12,0% репозиториев содержат файлы CLAUDE.md с реальным содержимым, а только 5,4% сочетают их с механизмами обеспечения соблюдения правил.

    Почему 31 репозиторий сохраняет оба файла в полном объеме? Различия между копиями никогда не измерялись, и это явно следующая задача для исследования. Дублирование институциональных знаний превращается в риск, когда копии расходятся, а инструменты не предоставляют никаких предупреждений.

    Могут ли другие повторить это? Да. Образец взят из публичного рейтинга звезд, запросы направляются в виде обычных неавторизованных HTTP-запросов на raw.githubusercontent.com, а классификатор занимает примерно 40 строк кода.

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