Я чуть было не пролистал это сообщение. Пост в LinkedIn о Markdown-файле, ставшем вирусным на GitHub. Звучало как хайп. Типа, когда кто-то делает скриншот количества звезд и выдает это за революцию.
Затем я проверил репозиторий. 91 000 звезд. Никаких зависимостей. Никакоих этапов сборки. Никакой модели. Просто один файл под названием CLAUDE.md с четырьмя правилами поведения внутри. И эти правила не являются чем-то новым. Вот что меня обеспокоило. Это то, что каждый senior инженер рассказал бы младшему в первый день работы. И все же этот файл сейчас является самым популярным репозиторием на GitHub, и кривая растет. Я немного подумал и вот, что происходит на самом деле.
Что представляет собой этот файл
Форрест Чанг взял четыре наблюдения Андрея Карпатый о том, почему LLM не справляются с программированием, и превратил их в файл CLAUDE.md, который Claude Code считывает в начале каждой сессии. Вот и весь продукт.
Файл находится в корневой директории вашего проекта. Claude Code автоматически его подхватывает. Каждый разработчик в репозитории получает одинаковые поведенческие ограничения. Никакой конфигурации, никакого обслуживания, никаких вызовов API.
Четыре правила
Я перефразирую, потому что принципы кратки, и формулировка — это простая часть.
- Думай, прежде чем писать код. Высказывай свои предположения вслух. Если запрос неоднозначен, спроси. Если существует более простой подход, предложи его. Остановись, когда запутаешься, назови то, что неясно, не выбирай просто одну интерпретацию и не запускай ее.
- Простота прежде всего. Пиши минимальный код, который решает проблему. Никаких спекулятивных абстракций. Никакой гибкости, о которой никто не просил. Тест: назвал бы это senior инженер чрезмерно сложным?
- Хирургические изменения. Меняй только то, что требуется для выполнения задачи. Не улучшай соседний код. Не переписывай то, что не сломано. Каждая измененная строка должна соответствовать запросу.
- Выполнение, ориентированное на цель. Преврати расплывчатые инструкции в проверяемые цели, прежде чем писать хотя бы одну строку. «Добавить валидацию» превращается в «написать тесты для недопустимых входных данных, а затем убедиться, что они проходят».
Вот и все. Вот и весь файл.
Почему это не так очевидно, как кажется
Когда я впервые прочитал эти правила, я подумал: это просто хорошая инженерная дисциплина, записанная на бумаге. Зачем кому-то об этом говорить? Затем я вспомнил свою последнюю неделю работы с кодинг агентами.
Я попросил одного добавить небольшой слой кэширования в конвейер обработки данных Polars. Он переписал сигнатуру функции, ввел шаблон внедрения зависимостей, который я не запрашивал, и обернул кэш в класс, который предоставлял доступ к восьми методам, которые я никогда не буду вызывать. Сам кэш состоял всего из трех строк.
Я попросил другого исправить баг с парсингом даты. Баг он исправил. Заодно переформатировал весь файл, переписал две несвязанные функции с компактного питоновского синтаксиса создания списков на циклы и, проявив инициативу, добавил подсказки типов в функции в другом модуле.
Это не какие-то экзотические ошибки. Это стандартное поведение. Каждый, кто использовал агентов в реальной работе, видел это и тихо исправлял ошибки после. Четыре правила очевидны для опытного инженера. Они не очевидны для модели. Именно этот пробел и заполняет данный файл.
Честные оговорки
На этом месте пост в LinkedIn заканчивается, и начинаются настоящие вопросы.
- Это поведенческий контекст, а не контракт. Claude Code читает файл CLAUDE.md и воспринимает его как инструкцию. Но он не всегда ей следует. Файл повышает вероятность нужного поведения, но не гарантирует конкретный результат. Обсуждения на Reddit, где на это указывают, правы. Цифры вроде «рост точности с 65 до 94 процентов», которые гуляют по интернету, взяты из одного поста в блоге, и я бы не стал ориентировать на них дедлайн.
- Эти принципы не привязаны только к Claude. Они описывают, как должен вести себя любой программный агент. Тот же файл, если изменить имя, работает как правило для Cursor. В репозитории есть оба варианта. Интересен здесь не инструмент, а сами принципы.
- Карпатый не писал этот файл. Он опубликовал наблюдения. Форрест Чанг, автор, превратил их в репозиторий. Карпатый усилил распространение через свои каналы и ни разу не попросил убрать своё имя из заголовка. Вирусный рост объясняется отчасти самими принципами, а отчасти именем на вывеске. Верно и то и другое.
- Репозиторий — это меню, а не шаблон. Четыре правила работают как базовый набор. Они не заменяют инструкции, специфичные для проекта: соглашения об именовании, выбор фреймворков или правила тестирования. Их нужно добавить в существующий файл CLAUDE.md в раздел «Поведенческие рекомендации», а не заменять ими то, что у вас уже есть.
Что на самом деле показывает количество звёзд
Девяносто одна тысяча звёзд у файла в формате Markdown — это не голосование за сам файл. Это голосование за проблему. Каждый разработчик, который пользуется ИИ-помощниками для написания кода, упирался в одни и те же стены: молчаливые предположения, чрезмерное усложнение и расползание задачи. Файл называет эти проблемы простым языком и предлагает исправление, которое можно установить за тридцать секунд. Так накопившееся раздражение за один уикенд нашло выход через один файл.
Именно поэтому вирусным стал этот файл, а не, скажем, более строгий тест поведения агентов. Порог внедрения был таким: могу ли я прямо сейчас скопировать это в свой репозиторий? Ответ был: да. Поэтому 91 000 человек так и сделали.
Что я из этого вынес
Я использую Claude Code для исследовательского кода по квантизации, конвейеров бизнес-аналитики и пары побочных проектов. У этих кодовых баз нет ничего общего. А вот типичные сбои — одни и те же.
Сегодня утром я добавил в свои файлы CLAUDE.md раздел о поведении: по четыре строки в каждом, переформулированные из репозитория. Не потому, что считаю этот файл магическим. А потому, что эти принципы очень точно совпадают с ошибками, которые мне постоянно приходится исправлять.
Более глубокая мысль в том, о чём почти никто не кричит. Навыки, расширения, дообучение, системные промпты: большая часть энергии в инструментах для агентов уходит на добавление новых слоёв. А здесь — шестьдесят пять строк простого английского текста в корне репозитория. Это работает, потому что это не ещё один слой. Это договор. Лучшее улучшение для программных агентов в этом году пока что — файл в формате Markdown. Делайте с этим выводы сами.

