Как перестать ругаться на Claude и заставить его писать код по стандартам Калпати
Знакомая ситуация: просишь нейронку поправить опечатку в одном методе, а в ответ получаешь переписанную половину проекта с кучей новых абстракций и удаленными комментариями? Кажется, Андрей Калпати (тот самый, из OpenAI и Tesla) тоже от этого устал. Он опубликовал свои наблюдения о том, как LLM «галлюцинируют» в коде, а сообщество быстро упаковало это в конкретный инструмент для Claude.
Речь идет о репозитории andrej-karpathy-skills. Это набор жестких инструкций, которые превращают Claude из самоуверенного стажера в дисциплинированного мидла.
Что не так с обычным Claude Code
Калпати подметил несколько вещей, которые бесят любого разработчика. Модели часто делают за нас ложные предположения и молча бегут их реализовывать. Если нейронка чего-то не понимает, она не спрашивает, а просто выдумывает. В итоге мы получаем переусложненный код, лишние зависимости и удаленные куски логики, которые «просто мешались».
Этот проект решает проблему через файл CLAUDE.md. Идея в том, чтобы задать модели четкие границы дозволенного до того, как она нажмет первую клавишу на клавиатуре.
Четыре правила выживания для ИИ
В основе репозитория лежат четыре принципа. Они кажутся очевидными, но именно их отсутствие заставляет нас тратить часы на ревью сгенерированного мусора.
Сначала думай, потом кодь
Это про запрет на скрытые предположения. Инструкция заставляет Claude проговаривать свои действия. Если есть неоднозначность — модель обязана спросить, а не гадать. Если есть более простой способ решить задачу — она должна предложить его, а не городить огород. Главное тут — право на «стоп-слово»: модель может открыто сказать, что запуталась, и попросить уточнений.
Простота превыше всего
Нейронки обожают оверинжиниринг. Они пишут универсальные фабрики там, где хватило бы одной функции. Принцип Simplicity First запрещает добавлять фичи «на будущее» или создавать абстракции для кода, который используется один раз. Если 200 строк можно сократить до 50 без потери смысла — модель должна это сделать.
Хирургическая точность
Мой «любимый» грех нейронок — когда они прицепом к задаче решают «прибраться» в соседних методах. В итоге диффы раздуваются, а в мастере оказывается куча нерелевантных изменений. Теперь правило простое: трогаем только то, что просили. Не рефакторим рабочее, не меняем чужой стиль кодинга, даже если он кажется ужасным. Удалил переменную? Убери только её, а не весь файл.
Цель определяет путь
Калпати заметил, что LLM отлично работают циклами, пока не достигнут конкретной цели. Вместо абстрактного «исправь баг», мы учим модель сначала написать тест, который воспроизводит ошибку, а потом фиксить её до тех пор, пока тест не позеленеет. Это превращает императивные приказы в декларативные цели с проверяемым результатом.
Как это добавить в свой проект
Есть два пути, и оба занимают меньше минуты.
Если вы используете CLI-интерфейс Claude Code, можно установить это как плагин:
/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills
После этого правила станут глобальными для всех ваших проектов.
Второй вариант — просто закинуть файл CLAUDE.md в корень своего репозитория. Claude автоматически подхватывает инструкции из этого файла.
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
Станет ли работа медленнее
Авторы честно предупреждают: эти правила смещают баланс в сторону качества, а не скорости. Если вам нужно просто поправить опечатку в README, такие строгости ни к чему. Но на сложных задачах, где цена ошибки — пара часов дебага, этот подход экономит уйму времени.
Интересно, что инструкции можно и нужно дополнять под свои нужды. Например, добавить требование всегда использовать TypeScript strict mode или ссылаться на ваш конкретный файл с типами ошибок.
Кому это пригодится
В первую очередь тем, кто использует Claude для написания кода прямо в терминале или через IDE-агентов. Если вы устали от того, что нейронка игнорирует ваши стандарты или втихую меняет логику в соседних модулях, конфиг Калпати — самый быстрый способ привести её в чувство.
Проект не про магию, а про дисциплину. Это своего рода линтер для поведения ИИ, который помогает ему оставаться в рамках задачи и не воображать себя архитектором вселенной там, где нужно просто поправить API-эндпоинт.
Учитывая, что у репозитория уже почти 8 тысяч звезд, проблема «самоуправства» нейронок актуальна для многих. Попробовать стоит хотя бы ради того, чтобы увидеть, насколько чище станут ваши пулл-реквесты.
