CLAUDE.md: улучшение Claude Code по наблюдениям Карпатского
Одно файл CLAUDE.md для улучшения работы Claude Code, основанный на наблюдениях Андрея Карпатского по ошибкам кодирования LLM
Требования
- Доступ к Claude Code
- Базовые знания о LLM и их ограничениях
- Опыт работы с инструкциями для ИИ-систем
Определение цели и структуры файла
Определить, что именно улучшить в поведении Claude Code. Фокус на предотвращение типичных ошибок при генерации кода, связанных с пониманием контекста и ограничениями модели. Создать структуру из 3-4 разделов: введение, ключевые улучшения, практические рекомендации, заключение.
Формирование инструкций для Claude Code
Написать блок инструкций, которые помогут модели избегать распространённых ошибок. Включить примеры плохих и хороших промптов, описание ограничений LLM (например, отсутствие понимания длинных контекстов, вероятность галлюцинаций в коде). Использовать формат, понятный Claude Code, с чёткими примерами.
```bash
# Пример инструкции для Claude Code
instructions = """Ты — опытный разработчик. При генерации кода:
1. Всегда проверяй вывод на логические ошибки.
2. Избегай сложных математических вычислений без явного указания.
3. Для работы с файловой системой используй явные пути.
4. При работе с API указывай типы данных и обработку ошибок.
5. Не выдумывай факты — если не уверен, скажи "я не уверен"."""
```Добавление проверок качества кода
Добавить секцию с рекомендациями по проверке кода. Указать на использование статического анализа, тестов и ревью. Сформулировать правила, которые Claude Code должен применять перед выдачей кода: проверка на отсутствие dead code, проверка согласованности имен переменных, проверка соответствия стандартам стиля.
```bash
# Пример проверки качества кода
check_quality = """1. Проверить наличие unused variables.
2. Убедиться в согласованности имен переменных.
3. Проверить соответствие PEP 8 (для Python) или соответствующий стиль.
4. Найти potential security vulnerabilities.
5. Запустить минимальный набор unit-тестов."""
```Тестирование и итерации
Создать пример тестового сценария, где Claude Code может ошибиться, и описать, как исправить вывод. Это поможет настроить модель на более точное поведение. Добавить рекомендации по использованию системных промптов для уточнения задач.
```bash
# Тестовый сценарий для проверки
prompt = "Переделай функцию сортировки, сделав её более эффективной и добавь тесты."
response = claude_code(prompt)
# Проверить, что ответ содержит реальную оптимизацию и тесты
assert "O(n log n)" in response
assert "unit tests" in response
```CLAUDE.md: улучшение Claude Code по наблюдениям Карпатского
Одно файл CLAUDE.md для улучшения работы Claude Code, основанный на наблюдениях Андрея Карпатского по ошибкам кодирования LLM
Предварительные требования
- Доступ к Claude Code
- Базовые знания о LLM и их ограничениях
- Опыт работы с инструкциями для ИИ-систем
Шаг 1: Определение цели и структуры файла
Определить, что именно улучшить в поведении Claude Code. Фокус на предотвращение типичных ошибок при генерации кода, связанных с пониманием контекста и ограничениями модели. Создать структуру из 3-4 разделов: введение, ключевые улучшения, практические рекомендации, заключение.
Шаг 2: Формирование инструкций для Claude Code
Написать блок инструкций, которые помогут модели избегать распространённых ошибок. Включить примеры плохих и хороших промптов, описание ограничений LLM (например, отсутствие понимания длинных контекстов, вероятность галлюцинаций в коде). Использовать формат, понятный Claude Code, с чёткими примерами.
```bash
# Пример инструкции для Claude Code
instructions = """Ты — опытный разработчик. При генерации кода:
1. Всегда проверяй вывод на логические ошибки.
2. Избегай сложных математических вычислений без явного указания.
3. Для работы с файловой системой используй явные пути.
4. При работе с API указывай типы данных и обработку ошибок.
5. Не выдумывай факты — если не уверен, скажи "я не уверен"."""
## Шаг 3: Добавление проверок качества кода
Добавить секцию с рекомендациями по проверке кода. Указать на использование статического анализа, тестов и ревью. Сформулировать правила, которые Claude Code должен применять перед выдачей кода: проверка на отсутствие dead code, проверка согласованности имен переменных, проверка соответствия стандартам стиля.
```bash
```bash
# Пример проверки качества кода
check_quality = """1. Проверить наличие unused variables.
2. Убедиться в согласованности имен переменных.
3. Проверить соответствие PEP 8 (для Python) или соответствующий стиль.
4. Найти potential security vulnerabilities.
5. Запустить минимальный набор unit-тестов."""
## Шаг 4: Тестирование и итерации
Создать пример тестового сценария, где Claude Code может ошибиться, и описать, как исправить вывод. Это поможет настроить модель на более точное поведение. Добавить рекомендации по использованию системных промптов для уточнения задач.
```bash
```bash
# Тестовый сценарий для проверки
prompt = "Переделай функцию сортировки, сделав её более эффективной и добавь тесты."
response = claude_code(prompt)
# Проверить, что ответ содержит реальную оптимизацию и тесты
assert "O(n log n)" in response
assert "unit tests" in response