CLAUDE.md по заветам Карпаты: 65 строк, которые превратили Claude Code в адекватного джуна
Пока все спорят, заменит ли ИИ разработчиков, сообщество тихо решает более прикладную задачу: как заставить агентского Клода перестать писать лишний код, додумывать требования и ломать то, что его не просили трогать. Один файл на 65 строк стал самым цитируемым ответом последних недель.
Что произошло и почему это важно
Разработчик Форрест Чанг взял пост Андрея Карпаты от 26 января 2026 года, где тот описал свой опыт перехода с 80% ручного кодинга на 80% агентского, и упаковал его претензии к LLM в файл CLAUDE.md. Это не инструмент, не фреймворк и не очередная библиотека. Это 65 строк поведенческих правил, которые Claude Code читает в начале сессии и использует как контекст для всех последующих ответов.
Репозиторий forrestchang/andrej-karpathy-skills за две недели прыгнул с 39 тысяч звёзд (на 15 апреля) до 71 тысячи и стал первым в недельном рейтинге Coding AI Leaderboard. В глобальном рейтинге GitHub он сейчас на 337 месте. Важный нюанс: Карпаты к файлу отношения не имеет, он только сформулировал болячки, Чанг превратил их в правила.
Три жалобы Карпаты, из которых всё выросло
В исходном посте Карпаты назвал три повторяющихся проблемы агентского кодинга. Первая: модели молча делают неверные допущения и продолжают работать с ними, не задавая вопросов и не проговаривая неопределённость. Вторая: они любят переусложнять код и API, раздувать абстракции и не убирать мёртвый код. Третья: они иногда меняют или удаляют комментарии и код, который сами не до конца понимают, как побочный эффект основной задачи. Четвёртое наблюдение из того же поста стало отдельным принципом: LLM отлично справляются, когда есть чёткий критерий успеха и они могут крутиться в цикле до проверки.
Четыре принципа внутри файла
Think before coding. Правило дословно: не додумывай, не скрывай непонимание, проговаривай развилки. Если запрос «добавь экспорт пользовательских данных» допускает разные интерпретации (CSV или JSON, какие поля, куда складывать), модель обязана сначала задать уточняющие вопросы, а не писать четыре файла вслепую.
Simplicity first. Минимум кода, который решает задачу. Ничего спекулятивного. В EXAMPLES.md показан классический антипаттерн: на просьбу написать функцию расчёта скидки неограниченный Клод рожает абстрактный класс DiscountStrategy, наследников PercentageDiscount и FixedDiscount, dataclass DiscountConfig и калькулятор на 30+ строк. Правильный ответ умещается в одну функцию из трёх строк.
Surgical changes. Трогай только то, что должен. Убирай только свой мусор. Если тебя попросили починить баг с пустыми email в валидаторе, не надо заодно рефакторить форматирование, добавлять непрошеные подсказки и переписывать проверки. Только целевое исправление.
Goal-driven execution. Определи критерии успеха и крутись в цикле, пока не проверишь результат. Каждое действие превращается в пару «шаг, проверка»: сделал, убедился, пошёл дальше. На просьбу «почини аутентификацию» правильный ответ не «сейчас посмотрю код», а «вот три шага, вот как я проверю каждый».
Как поставить это себе за 30 секунд
Для нового проекта достаточно одной команды curl, которая кладёт CLAUDE.md в корень. Claude Code подхватывает файл автоматически при старте сессии, для других инструментов типа OpenCode или Hermes его переименовывают в AGENTS.md.
Чтобы включить правила сразу во всех проектах, репозиторий оформлен как плагин маркетплейса Claude Code. Две команды: /plugin marketplace add forrestchang/andrej-karpathy-skills и /plugin install andrej-karpathy-skills@karpathy-skills. После этого ничего копировать не нужно, скилл активен везде.
Для Cursor есть отдельный файл .cursor/rules/karpathy-guidelines.mdc с флагом alwaysApply: true. Cursor не читает CLAUDE.md и папку .claude-plugin, поэтому команды, которые живут на двух инструментах, вынуждены поддерживать правила в двух местах. Авторы честно документируют этот компромисс в CURSOR.md.
Где это сломается
У файла нет механизма принуждения. Это контекст, а не код. Он влияет на вывод модели, но не гарантирует его. Сам README предупреждает, что правила смещают поведение в сторону осторожности, и для массовых простых задач это будет замедлять работу: лишние уточняющие вопросы там, где можно было просто сделать.
Вторая проблема: путаница с авторством. В пересказах файл часто называют «CLAUDE.md от Карпаты», хотя Карпаты его не писал и не одобрял публично. Это важно понимать, когда оцениваешь, стоит ли тащить правила в свой рабочий процесс.
Кому это реально полезно
Разработчикам, которые делают нетривиальную работу с Claude Code, где одно тихое неверное допущение агента стоит часа разбирательств. Если вы каждый день ловите себя на том, что модель навернула абстракций там, где нужна была функция в три строки, или снесла ваш комментарий при рефакторинге соседнего метода, 65 строк в корне проекта могут закрыть заметную часть этих сценариев.
Ссылки
Репозиторий: https://github.com/forrestchang/andrej-karpathy-skills
Исходный пост Карпаты: https://x.com/karpathy/status/2015883857489522876
Разбор от AlphaSignal: https://x.com/AlphaSignalAI/status/2046639434720854496
