Болевая Точка
Claude Code, Cursor, GitHub Copilot и другие инструменты AI-кодирования достаточно умны для выполнения большинства задач программирования — но они также часто совершают ошибки, которых «не должны были совершать».
Андрей Карпаты систематически наблюдал типичные ловушки LLM-кодирования в течение последних месяцев и собрал эти наблюдения в файл CLAUDE.md. Участник сообщества forrestchang упаковал его как повторно используемый набор навыков, и за неделю на GitHub он преодолел 102 000 звёзд.
Это не «инструмент» — это «кодекс поведения». Сказать AI-ассистентам по кодированию «что НЕ делать» часто ценнее, чем «что делать».
Разбор Ключевых Правил
Ключевая логика Karpathy Skills: проблемы LLM-кодирования не в «недостаточно умны», а в «паттернах поведения с отклонениями». Вот ключевые категории правил:
1. Не Сверх-Абстрагируйте
LLM склонны создавать уровни абстракции для каждой функции, даже когда проекту нужен простой скрипт.
2. Не Пропускайте Тесты
Сгенерированный LLM код часто «выглядит рабочим», но не имеет тестового покрытия. Файл навыков требует:
- Каждая новая функция должна сопровождаться хотя бы одним тестовым случаем
- При изменении существующего кода сначала проверьте, проходят ли тесты
- Не удаляйте тесты, которые «кажутся избыточными»
3. Не Предполагайте, Что Зависимости Доступны
LLM часто ссылаются на ещё не установленные пакеты или устаревшие API. Правила требуют:
- Проверять package.json / requirements.txt перед ссылкой на новые зависимости
- Для неопределённых API обращаться к документации, а не «генерировать из памяти»
- Фиксация версий: не используйте
*илиlatest
4. Не Игнорируйте Обработку Ошибок
Это самый распространённый дефект в LLM-кодировании:
| Тип Ошибки | Поведение LLM по Умолчанию | Правило Karpathy |
|---|---|---|
| Сетевые запросы | Предполагает всегда успех | Добавить таймаут, повтор, обработчики ошибок |
| Файловые операции | Предполагает файл существует | Проверить существование, обработать отсутствие |
| Пользовательский ввод | Предполагает правильный формат | Валидация, очистка, отказ от невалидного ввода |
| Конкурентные операции | Предполагает нет гонок | Добавить блокировки или атомарные операции |
5. Поддерживайте Единый Стиль Кода
Стиль кода, генерируемого LLM, часто непостоянен в разных контекстах. Правила требуют:
- Следовать существующим соглашениям об именовании проекта
- Не смешивать разные стили в одном файле
- При изменении кода сохранять стиль окружающего кода
Почему 102K Звёзд?
Взрывной рост этого проекта отражает три тренда:
- Распространение Claude Code: Всё больше разработчиков используют Claude Code для ежедневного кодирования, но поведение по умолчанию часто «почти правильное»
- Инженеризация Промпт-Инженерии: От «ручной настройки промптов» к «фиксации лучших практик через CLAUDE.md»
- Влияние Karpathy: Как ведущий технический евангелист в AI, его систематические наблюдения за поведением LLM-кодирования обладают естественной убедительностью
Как Использовать
Метод 1: Поместить в Проект
# В корне вашего проекта
curl -O https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
# Или скопировать содержимое в существующий CLAUDE.md
Метод 2: Глобальная Конфигурация Claude Code
# Глобальный эффект (все проекты)
mkdir -p ~/.claude
cp CLAUDE.md ~/.claude/CLAUDE.md
Метод 3: Комбинирование с Другими Навыками
Этот проект можно комбинировать с mattpocock/skills (48K звёзд, «Навыки для Реальных Инженеров»):
| Проект | Фокус | Лучше Для |
|---|---|---|
| Karpathy Skills | Коррекция поведения LLM-кодирования | Уменьшение багов, генерируемых LLM |
| Matt Pocock Skills | TypeScript/инженерные лучшие практики | Улучшение качества кода |
| Оба вместе | Поведение + качество | Лучшие результаты |
Ограничения
Karpathy Skills — не серебряная пуля:
- Не заменяет code review: AI всё ещё нуждается в человеческом ревью
- Больше правил = сильнее ограничения: В некоторых сценариях может потребоваться временное отключение правил
- LLM эволюционируют: По мере улучшения моделей некоторые правила могут стать избыточными
- Различия проектов: У разных проектов разные стандарты кодирования, требуется кастомизация
План Действий
- Сегодня: Поместите CLAUDE.md в ваш текущий проект Claude Code
- Эта неделя: Наблюдайте за изменениями в поведении AI-кодирования, записывайте, какие правила наиболее эффективны
- Этот месяц: Настройте, добавьте/удалите правила на основе характеристик вашего проекта
- Постоянно: Следите за новыми наблюдениями Karpathy и других технических лидеров о поведении LLM-кодирования
Следующий скачок в инструментах AI-кодирования — не «умнее», а «надёжнее». Karpathy Skills представляет прагматичный путь: вместо того чтобы ждать, пока модели сами научатся не ошибаться, сначала скажите им, каких ловушек следует избегать.