Claude Code — от нуля до оркестратора
Главная идея
Claude Code — это не автодополнение кода. Это автономный агент, который читает ваш проект, понимает архитектуру, пишет код, запускает тесты и деплоит. Один инструмент вместо команды из 3-5 человек.
1 Что такое Claude Code и чем отличается от Cursor/Copilot/Codex
На рынке десятки AI-инструментов для кода. Но они принципиально различаются по модели взаимодействия. Понимание этого различия — ключ к выбору правильного инструмента.
Три модели взаимодействия
| Модель | Инструменты | Суть | Аналогия |
|---|---|---|---|
| Автодополнение | Copilot, Tabnine | Дописывает за вами строчки кода | T9 в телефоне |
| AI-IDE | Cursor, Windsurf | Вы показываете файл, AI правит | Редактор с ассистентом |
| Агент | Claude Code, Codex | Вы описываете задачу, агент решает сам | Наёмный разработчик |
Сравнение: Claude Code vs конкуренты (март 2026)
| Критерий | Claude Code | Cursor | Copilot | Codex |
|---|---|---|---|---|
| Интерфейс | Терминал (CLI) | IDE (VS Code fork) | Плагин IDE + CLI | CLI + веб |
| Автономность | Высокая | Средняя | Низкая | Высокая |
| Субагенты | Да (встроенные) | Нет | Нет | Ограниченно |
| Контекст проекта | Весь проект (CLAUDE.md) | Открытые файлы + .cursorrules | Текущий файл + контекст | Sandbox-копия репо |
| Git-интеграция | Полная (commit, push, PR) | Через IDE | Полная (GitHub native) | Полная (PR-based) |
| Цена (Pro) | $20/мес | $20/мес | $10/мес | $20/мес (ChatGPT Pro) |
| Headless (cron) | Да | Нет | Нет | Через API |
Ключевое отличие Claude Code:
Claude Code работает в терминале, а значит имеет доступ ко всему, к чему имеете доступ вы: файловая система, git, npm, docker, ssh, curl. Это не плагин в IDE — это полноценный разработчик с доступом к вашему компьютеру.
2 Установка и первый проект
Шаг 1: Установка Node.js и Claude Code
Claude Code — это npm-пакет. Нужен Node.js 18+.
# Проверить Node.js
node --version # нужно v18+ (рекомендуется v22)
# Установить Claude Code глобально
npm install -g @anthropic-ai/claude-code
# Проверить установку
claude --version # claude-code v1.x.x
Шаг 2: Авторизация
При первом запуске Claude Code попросит авторизоваться через Anthropic Console.
# Зайти в папку проекта и запустить
cd ~/my-project
claude
# Откроется браузер для авторизации
# После авторизации — интерактивный режим
Шаг 3: Первый промпт
Начните с простого — попросите объяснить проект.
# Хорошие первые промпты:
"Объясни структуру этого проекта. Какие основные модули и как они связаны?"
"Найди все TODO в коде и создай список задач"
"Добавь тесты для модуля auth. Используй pytest."
Важно: Claude Code будет запрашивать разрешение на каждое действие: чтение файлов, запуск команд, запись файлов. Это нормально. Позже вы настроите автоматические разрешения.
Шаг 4: Настройка разрешений и модели
# Разрешить Bash-команды для проекта
claude config set allowedTools "Bash(*)" --project
# Или только конкретные
claude config set allowedTools "Bash(npm*),Bash(git*),Bash(python*)" --project
# Выбрать модель
claude config set model opus --project # для сложных задач
claude config set model sonnet --project # быстрее и дешевле
3 CLAUDE.md — точка максимального рычага
CLAUDE.md — файл в корне проекта, который Claude Code читает при каждом запуске. Без него агент — новичок. С правильным CLAUDE.md — senior-разработчик, знающий ваш проект наизусть.
Структура идеального CLAUDE.md
# Проект: [название]
> Одна строка описания проекта
## Стек
Python 3.11 / FastAPI / PostgreSQL 16 / Redis 7 / Docker
## Быстрые команды
```bash
docker-compose up -d # Запуск
poetry run pytest # Тесты
poetry run alembic upgrade head # Миграции
```
## Структура
```
src/
api/ # FastAPI роуты
models/ # SQLAlchemy модели
services/ # Бизнес-логика
tasks/ # Celery задачи
```
## Правила
- Все миграции через Alembic (не raw SQL)
- Тесты обязательны для бизнес-логики
- Коммиты: conventional commits
- Деплой: push в main = автодеплой
Иерархия файлов настроек
| Файл | Уровень | Git | Для чего |
|---|---|---|---|
| CLAUDE.md | Корень проекта | Коммитится | Основной контекст проекта |
| .claude/rules/*.md | Подпапка | Коммитится | Детальные правила по темам |
| .claude/settings.json | Подпапка | Коммитится | Разрешения, модель, MCP-серверы |
| .claude.local/ | Локально | НЕ коммитится | Личные настройки, секреты |
Антипаттерны CLAUDE.md
Пустой или отсутствующий CLAUDE.md
Claude Code каждый раз начинает с нуля. Тратит время на изучение проекта.
Слишком длинный (500+ строк)
Тратит контекст. Выносите детали в .claude/rules/ файлы.
50-150 строк: стек, структура, команды, правила
Достаточно для контекста, не перегружает. Детали — в отдельных файлах.
Правило 80/20:
80% качества работы Claude Code определяется CLAUDE.md. Потратьте 30 минут на его создание — и каждая сессия будет на порядок эффективнее. Это самая высокая отдача на вложенное время.
4 Промптинг: как говорить с AI
Принципы эффективного промптинга
| Принцип | Плохо | Хорошо |
|---|---|---|
| Action-oriented | "Что ты думаешь о нашем API?" | "Добавь rate limiting к /api/search. Используй Redis token bucket." |
| Scope-limited | "Перепиши весь проект на TypeScript" | "Перепиши модуль auth/ на TypeScript. Остальное не трогай." |
| Конкретный результат | "Сделай лучше" | "Оптимизируй SQL-запрос в search/fts.py. Сейчас 2 сек, нужно <200мс." |
| Формат результата | "Сделай тесты" | "Напиши pytest-тесты для UserService. Покрой CRUD + edge cases." |
| Ограничения | "Добавь фичу X" | "Добавь фичу X. НЕ трогай модуль Y. НЕ меняй БД-схему." |
Tone Calibration: подбор тона под задачу
Тон промпта влияет на поведение агента. Три режима:
# Исследование (мягкий, открытый):
"Изучи модуль collector/ и объясни, как работает pipeline скачивания. Какие слабые места?"
# Действие (директивный, конкретный):
"В collector/batch_downloader.py замени sync-вызовы subprocess на async. Используй asyncio.create_subprocess_exec. Запусти тесты."
# Дебаг (системный, пошаговый):
"Команда `poetry run harvester scan-all` падает с 429. Найди все HTTP-запросы к YouTube. Покажи текущие задержки. Предложи фикс."
Шаблоны промптов для типичных задач
| Задача | Шаблон промпта |
|---|---|
| Новая фича | "Добавь [фича]. Требования: [1,2,3]. Не трогай: [ограничения]. Запусти тесты." |
| Баг-фикс | "[Описание бага]. Воспроизведение: [шаги]. Ожидаемое: [X]. Найди причину и пофикси." |
| Рефакторинг | "Рефакторь [модуль]. Цель: [читаемость/перф]. Сохрани API. Тесты должны пройти." |
| Деплой | "Задеплой на [сервер]. Проверь health check. Если ошибка — откати." |
| Документация | "Обнови README: добавь секцию [X]. Формат: таблица. Тон: для новичков." |
Правило "3 предложения":
Идеальный промпт — 1-3 предложения. Что сделать + ограничения + результат. Не пишите эссе — агент справится с лаконичной задачей лучше, чем с многостраничной инструкцией.
5 Planning Mode и Workflow
Planning Mode: думай перед кодом
Для сложных задач сначала попросите план, потом реализацию. Это экономит токены и даёт лучший результат.
# Шаг 1: Планирование
"Составь план добавления системы уведомлений. Не пиши код — только план: какие файлы создать, какие изменить, какие зависимости."
# Шаг 2: Ревью плана (вы корректируете)
"Хороший план. Но вместо WebSockets используй SSE. Начинай реализацию."
# Шаг 3: Реализация по плану
# Claude Code выполняет согласованный план
Форма дифа: описывайте "было — стало"
Для максимальной точности описывайте желаемый результат как разницу между текущим и целевым состоянием.
# Формат "было - стало":
"В pages.py роут /search возвращает только FTS-результаты.
Сейчас: query -> FTS -> results
Нужно: query -> FTS + pgvector -> merged results, sorted by combined score.
Формула: combined = 0.4 * fts_score + 0.6 * cosine_similarity"
Когда прерывать Claude Code
| Ситуация | Действие | Почему |
|---|---|---|
| Идёт не туда | Escape, скорректируйте | Раннее вмешательство экономит токены |
| Зацикливается | Escape + переформулируйте | Повтор действий = нужна другая формулировка |
| Трогает чужие файлы | Escape + укажите границы | Добавьте "НЕ трогай: [файлы]" |
| Всё отлично | Не трогайте | Прерывание = потеря контекста |
Ежедневный workflow предпринимателя
# Утро: проверка состояния
cd ~/my-project && claude
"Покажи git log за вчера. Какие тесты падают? Есть открытые issues?"
# Работа: 2-3 задачи из бэклога
"Реализуй фичу X из issue #42. Acceptance criteria в issue."
# Ревью: проверка результата
"Покажи все изменения. Запусти тесты. Сделай коммит."
# Вечер: деплой
"Задеплой на продакшн. Проверь health check."
6 Практическое задание
Задание: создать CLAUDE.md и решить реальную задачу
Два обязательных шага. Время: 30-45 минут.
Шаг 1: Создайте CLAUDE.md (15 мин)
Откройте ваш рабочий проект (или создайте новый: mkdir ~/test-project && cd ~/test-project && git init)
Создайте CLAUDE.md по шаблону из секции 3 этого модуля
Включите минимум: стек, структуру, команды запуска, 3-5 правил проекта
Запустите claude и спросите: "Прочитай CLAUDE.md и объясни, что ты знаешь о проекте"
Шаг 2: Решите реальную задачу (15-30 мин)
Выберите задачу из бэклога: баг, фича или скрипт автоматизации
Сформулируйте промпт: что сделать + ограничения + ожидаемый результат
Дайте задачу Claude Code и наблюдайте за процессом решения
Проверьте результат, попросите написать тесты и сделать коммит
# Пример сессии:
cd ~/my-saas-project
claude
"В api/routes/users.py эндпоинт GET /users не поддерживает пагинацию.
Добавь пагинацию: параметры page и per_page (default 20, max 100).
Верни total_count в заголовке X-Total-Count.
Напиши тесты. Не трогай другие эндпоинты."
Deliverable:
После выполнения: (1) работающий CLAUDE.md в проекте, (2) решённая реальная задача с коммитом, (3) понимание workflow Claude Code. Вы готовы к ежедневному использованию.
Итог модуля
Claude Code — не автодополнение, а автономный агент. Он понимает проект целиком через CLAUDE.md и решает задачи самостоятельно. Ваша роль — формулировать задачи и проверять результат.
Три ключевых навыка: (1) написать хороший CLAUDE.md, (2) формулировать точные промпты из 1-3 предложений, (3) использовать Planning Mode для сложных задач. Освоив это, вы продуктивнее 90% разработчиков.
В следующем модуле мы научимся масштабировать мощь Claude Code через субагентов — параллельную работу нескольких AI на одной задаче.