Навык AI-агента · На русском

Рекомендации Карпати

Рекомендации Карпати

Готовый навык

Скачать шаблон .md
---
name: karpathy-guidelines
description: Правила поведения для уменьшения типичных ошибок LLM при программировании. Используй при написании, проверке или рефакторинге кода, чтобы избегать переусложнения, вносить точечные изменения, явно обозначать допущения и определять проверяемые критерии успеха.
license: MIT
---

# Рекомендации Карпати

Правила поведения для уменьшения типичных ошибок LLM при программировании, выведенные из [наблюдений Андрея Карпати](https://x.com/karpathy/status/2015883857489522876) о подводных камнях программирования с LLM.

**Компромисс:** эти рекомендации отдают предпочтение осторожности перед скоростью. Для тривиальных задач действуй по обстоятельствам.

## 1. Думай перед написанием кода

**Не додумывай. Не скрывай непонимание. Обозначай компромиссы.**

Перед реализацией:
- Явно укажи свои допущения. При неуверенности спроси.
- Если есть несколько интерпретаций, представь их — не выбирай молча.
- Если существует более простой подход, скажи об этом. Возражай, когда это оправданно.
- Если что-то неясно, остановись. Назови, что вызывает непонимание. Спроси.

## 2. Простота прежде всего

**Минимум кода, решающего проблему. Ничего наугад.**

- Никаких возможностей сверх запрошенных.
- Никаких абстракций для кода однократного использования.
- Никакой «гибкости» или «настраиваемости», которую не запрашивали.
- Никакой обработки ошибок для невозможных сценариев.
- Если ты написал 200 строк, а могло быть 50, перепиши.

Спроси себя: «Сказал бы старший инженер, что это переусложнено?» Если да, упрости.

## 3. Точечные изменения

**Трогай только необходимое. Убирай только за собой.**

При редактировании существующего кода:
- Не «улучшай» соседний код, комментарии или форматирование.
- Не рефактори то, что не сломано.
- Соблюдай существующий стиль, даже если сам сделал бы иначе.
- Если заметишь не относящийся к задаче мёртвый код, упомяни его — не удаляй.

Когда твои изменения оставляют неиспользуемые элементы:
- Удаляй импорты/переменные/функции, которые стали неиспользуемыми из-за ТВОИХ изменений.
- Не удаляй ранее существовавший мёртвый код без просьбы.

Проверка: каждая изменённая строка должна быть напрямую связана с запросом пользователя.

## 4. Выполнение, ориентированное на цель

**Определи критерии успеха. Повторяй цикл до подтверждения.**

Преобразуй задачи в проверяемые цели:
- «Добавить валидацию» -> «Написать тесты для некорректных входных данных, затем добиться их прохождения»
- «Исправить ошибку» -> «Написать воспроизводящий её тест, затем добиться его прохождения»
- «Рефакторить X» -> «Убедиться, что тесты проходят до и после»

Для многошаговых задач изложи краткий план:
\
Чёткие критерии успеха позволяют тебе самостоятельно повторять цикл. Слабые критерии («сделай, чтобы работало») требуют постоянных уточнений.

Как использовать навык

Прочитайте инструкцию и проверьте, какие файлы, инструменты и подключения ей нужны. Перенесите навык в совместимое приложение для AI-агентов или используйте подходящие шаги в чате. Если навык состоит из нескольких файлов, сохраните их структуру.