CLAUDE.md: Улучшение поведения Claude Code на основе наблюдений Андрея Карпатого
Пошаговое руководство по оптимизации работы Claude Code с учётом типичных ошибок LLM при программировании, основанное на практике Андрея Карпатого.
Требования
- Базовое знакомство с Claude Code
- Понимание ограничений больших языковых моделей в генерации кода
- Базовые знания программирования на Python или другом языке
Определите контекст и задачу до генерации кода
Перед каждым запросом к Claude Code чётко формулируйте цель: что именно нужно сделать, какие ограничения есть, какие библиотеки использовать. Это снижает вероятность генерации неподходящего кода и уменьшает необходимость доработки. Используйте структурированный промпт с явными инструкциями.
Пример структурного промпта:
```
Решите задачу [описание задачи].
Используйте Python. Обрабатывайте входные данные из файла input.txt.
Возвращайте результат в формате JSON с полями: name, value, timestamp.
```Используйте промпты с явными инструкциями по качеству
CLAUDE часто генерирует код с ошибками синтаксиса, неэффективными алгоритмами или неправильным использованием API. Добавьте в промпт явные требования: проверить типы данных, убедиться в корректности вызовов функций, указать предпочтительные стили кода. Это помогает модели быть более осторожной и проверяющей результат.
Пример улучшенного промпта:
```
Напишите функцию sum_list(lst) на Python.
Требования:
- Возвращать сумму элементов списка.
- Обрабатывать пустой список (возвращать 0).
- Использовать только стандартные библиотеки.
- Добавьте docstring с описанием параметров и возвращаемого значения.
```Внедрите цикл проверки и верификации кода
После получения кода из Claude Code обязательно проверьте его самостоятельно. Используйте локальные инструменты (pytest, linter, formatter) для автоматической проверки. Если код не проходит проверку, попросите модель переписать проблемные участки. Это создаёт итеративный процесс качества, который снижает количество ошибок в продакшене.
Пример проверки кода:
```bash
# Запуск тестов
pytest test_file.py -v
# Проверка форматирования
black --check test_file.py
# Линтер
semgrep --config=rule-set.json test_file.py
```Ограничьте контекст и фокус на конкретные задачи
CLAUDE Code может «забыть» детали из длинного разговора. Если задача сложная, разбейте её на подзадачи. Для каждой подзадачи создавайте отдельный промпт с чёткими инструкциями. Это предотвращает накопление ошибок и делает процесс разработки более предсказуемым.
Пример разбиения задачи:
```
1. Создайте функцию factorial(n) — рекурсивная реализация.
2. Напишите тесты для функции factorial.
3. Оптимизируйте функцию factorial с использованием мемоизации.
```Используйте Claude Code для инструкций, а не только для кода
Не полагайтесь только на генерацию кода. Claude Code может помочь с архитектурным планированием, выбором библиотек, написанием документации и написанием тестов. Чередуйте генерацию кода с анализом и планированием — это развивает вашу самодостаточность как разработчика.
Пример использования для планирования:
```
Составьте план разработки приложения с фазами: дизайн, реализация, тестирование, оптимизация.
Для каждой фазы укажите ожидаемые артефакты.
```CLAUDE.md: Улучшение поведения Claude Code на основе наблюдений Андрея Карпатого
Пошаговое руководство по оптимизации работы Claude Code с учётом типичных ошибок LLM при программировании, основанное на практике Андрея Карпатого.
Предварительные требования
- Базовое знакомство с Claude Code
- Понимание ограничений больших языковых моделей в генерации кода
- Базовые знания программирования на Python или другом языке
Шаг 1: Определите контекст и задачу до генерации кода
Перед каждым запросом к Claude Code чётко формулируйте цель: что именно нужно сделать, какие ограничения есть, какие библиотеки использовать. Это снижает вероятность генерации неподходящего кода и уменьшает необходимость доработки. Используйте структурированный промпт с явными инструкциями.
Пример структурного промпта:
Решите задачу [описание задачи]. Используйте Python. Обрабатывайте входные данные из файла input.txt. Возвращайте результат в формате JSON с полями: name, value, timestamp.
Шаг 2: Используйте промпты с явными инструкциями по качеству
CLAUDE часто генерирует код с ошибками синтаксиса, неэффективными алгоритмами или неправильным использованием API. Добавьте в промпт явные требования: проверить типы данных, убедиться в корректности вызовов функций, указать предпочтительные стили кода. Это помогает модели быть более осторожной и проверяющей результат.
Пример улучшенного промпта:
Напишите функцию sum_list(lst) на Python. Требования:
- Возвращать сумму элементов списка.
- Обрабатывать пустой список (возвращать 0).
- Использовать только стандартные библиотеки.
- Добавьте docstring с описанием параметров и возвращаемого значения.
Шаг 3: Внедрите цикл проверки и верификации кода
После получения кода из Claude Code обязательно проверьте его самостоятельно. Используйте локальные инструменты (pytest, linter, formatter) для автоматической проверки. Если код не проходит проверку, попросите модель переписать проблемные участки. Это создаёт итеративный процесс качества, который снижает количество ошибок в продакшене.
Пример проверки кода:
```bash
# Запуск тестов
pytest test_file.py -v
# Проверка форматирования
black --check test_file.py
# Линтер
semgrep --config=rule-set.json test_file.py
## Шаг 4: Ограничьте контекст и фокус на конкретные задачи
CLAUDE Code может «забыть» детали из длинного разговора. Если задача сложная, разбейте её на подзадачи. Для каждой подзадачи создавайте отдельный промпт с чёткими инструкциями. Это предотвращает накопление ошибок и делает процесс разработки более предсказуемым.
```bash
Пример разбиения задачи:
- Создайте функцию factorial(n) — рекурсивная реализация.
- Напишите тесты для функции factorial.
- Оптимизируйте функцию factorial с использованием мемоизации.
Шаг 5: Используйте Claude Code для инструкций, а не только для кода
Не полагайтесь только на генерацию кода. Claude Code может помочь с архитектурным планированием, выбором библиотек, написанием документации и написанием тестов. Чередуйте генерацию кода с анализом и планированием — это развивает вашу самодостаточность как разработчика.
Пример использования для планирования:
Составьте план разработки приложения с фазами: дизайн, реализация, тестирование, оптимизация. Для каждой фазы укажите ожидаемые артефакты.