Модуль 2.2 · Урок 5
Урок 5: Tips & Tricks — Продвинутые техники и оптимизация
Содержание
- Чему вы научитесь
- Работа с Git
- Сценарий 1: Написание commit message
- Сценарий 2: Решение конфликтов слияния
- Сценарий 3: Обзор Pull Request
- Оптимизация затрат
- Таблица: Стоимость разных моделей (API, октябрь 2026)
- Стратегия 1: Используйте /compact
- Схема: способы экономии токенов
- Стратегия 2: Переключайтесь на Haiku для простых задач
- Стратегия 3: Будьте конкретны в запросах
- Стратегия 4: Начните новую сессию
- Многофайловые изменения
- Пример: Добавление новой функции
- Масштабирование: субагенты для разведки, /batch и headless-цикл claude -p
- Частые ошибки и как их избежать
- [-] Ошибка 1: Слишком расплывчатые задачи
- [-] Ошибка 2: Не проверять план перед кодированием
- [-] Ошибка 3: Игнорирование тестов
- [-] Ошибка 4: Слишком большие задачи за раз
- [-] Ошибка 5: Не использовать /compact в длинных сеансах
- Сравнение с другими инструментами
- Claude Code vs GitHub Copilot (октябрь 2026)
- Aider — уже история
- Cheat Sheet: Самые используемые команды
- Попробуйте сами
- Ключевые выводы
- Заключение курса
- Что дальше?
- Рекомендации для практики
Чему вы научитесь
- Работать с git через Claude Code: PR, commit messages, конфликты
- Оптимизировать затраты и скорость работы
- Использовать Claude для многофайловых изменений
- Избегать распространённых ошибок
- Сравнение Claude Code с другими инструментами
Работа с Git
Сценарий 1: Написание commit message
Claude может написать хороший commit message на основе изменений:
$ claude
> write a clear commit message for the changes you made
Claude:
┌────────────────────────────────────────────────────────┐
│ Based on the code changes, here's the commit message: │
│ │
│ feat: add email validation to user registration │
│ │
│ - Add RFC 5322 compliant email regex pattern │
│ - Validate email before saving user to database │
│ - Add comprehensive tests for validation │
│ - Update user schema with email constraints │
│ │
│ Closes #145, #148 │
└────────────────────────────────────────────────────────┘
You: looks good, apply it
Сценарий 2: Решение конфликтов слияния
Если у вас есть конфликт при merge:
$ git merge feature/new-auth
# CONFLICT (content merge): Merge conflict in src/auth.py
$ claude
> we have a merge conflict in src/auth.py, please resolve it
Claude:
┌────────────────────────────────────────────────────────┐
│ I'll analyze the conflict and resolve it... │
│ │
│ [+] Conflict at lines 45-67: │
│ - Your version: old authentication method │
│ - Feature branch: new JWT implementation │
│ - Resolution: use feature branch version (better) │
│ │
│ [+] Conflict at lines 120-130: │
│ - Both added similar tests │
│ - Resolution: combine best from both versions │
│ │
│ [+] Fixed: src/auth.py (removed conflict markers) │
│ [+] Tests pass: 42/42 │
│ [+] Ready to continue with merge │
└────────────────────────────────────────────────────────┘
Сценарий 3: Обзор Pull Request
$ claude
> review this PR branch against main. what changed?
Claude:
┌────────────────────────────────────────────────────────┐
│ Analyzing PR: feature/caching │
│ (comparing with main) │
│ │
│ Summary of changes: │
│ [+] 4 files modified, 2 created │
│ [+] +245 lines, -89 lines │
│ │
│ Key changes: │
│ 1. services/cache.py (NEW) │
│ - Redis-based caching utility │
│ - 150 lines, well-documented │
│ │
│ 2. api/users.py (MODIFIED) │
│ - Added @cache decorator to get_user() │
│ - Improves response time by ~500% │
│ │
│ 3. tests/test_cache.py (NEW) │
│ - 45 test cases │
│ - 95% coverage │
│ │
│ Issues found: │
│ [!] Warning: cache TTL hardcoded to 3600 │
│ Suggestion: make it configurable via .env │
│ │
│ [!] Missing: docstring for CacheManager class │
│ Should explain cache invalidation strategy │
│ │
│ Overall assessment: Good PR, minor improvements needed
└────────────────────────────────────────────────────────┘
Оптимизация затрат
Таблица: Стоимость разных моделей (API, октябрь 2026)
Цены за 1 млн токенов по code.claude.com/docs/en/model-config и benchlm.ai/anthropic/api-pricing. На подписке Pro и в API по умолчанию работает Sonnet 5.5, на Max — Opus 5.5.
| Модель | Input | Output | Когда использовать |
|---|---|---|---|
Haiku 5.5 (claude-haiku-5-5) | $0,10/1M (до 100K промпта; свыше — $0,50/1M) | $0,50/1M (до 100K; свыше — $2,50/1M) | Простые правки, фоновые субагенты, быстрый поиск (у Haiku 4.5 — $1 / $5) |
Sonnet 5.5 / Sonnet 5 (claude-sonnet-5-5) | $2/1M (кеш $0,10/1M) | $10/1M | Большинство задач кодирования (по умолчанию на Pro и Team Standard) |
Opus 5.5 (claude-opus-5-5) | $4/1M (кеш $0,20/1M) | $20/1M | Сложная архитектура, глубокая отладка и ревью (по умолчанию на Max; у Opus 5 — $5 / $25) |
Fable 5.1 / Fable 5 (claude-fable-5-1) | $10/1M (кеш $0,25/1M) | $50/1M | Тяжёлые исследовательские задачи (по выбору, не по умолчанию) |
Окно контекста у Haiku 5.5, Sonnet 5.5, Opus 5.5 и Fable 5.1 — 1 млн токенов, общедоступно. Для максимальной экономии используйте гибридный алиас /model opusplan: планирование выполняет Opus 5.5, а написание кода по утверждённому плану — Sonnet 5.5.
Стратегия 1: Используйте /compact
# Сеанс длится долго → контекст растёт
/status
# Input tokens: 185,000 (слишком много)
/compact
# Input tokens: 42,000 (экономия 77%)
# Продолжайте работу с меньшими затратами
Экономия: 77% токенов при сохранении всей информации о кодовой базе
Схема: способы экономии токенов
flowchart LR
A["Экономия токенов"] --> B["Короткий контекст\n/compact в длинных сессиях\n/clear для нового старта"]
A --> C["Точные запросы\nУказывать конкретный файл\nИзбегать 'improve the code'"]
A --> D["AGENTS.md\nОбъяснить проект один раз\nClaude не переспрашивает"]
Стратегия 2: Переключайтесь на Haiku для простых задач
/model claude-haiku
> fix the typo in the error message
Claude (fast!): Fixed in 2 seconds, costs $0.0001 instead of $0.0005
Стратегия 3: Будьте конкретны в запросах
# [-] Дорого: расплывчатая задача
> improve the code
# Claude прочитает ВСЮ кодовую базу, потратит много токенов
# [+] Дешево: конкретная задача
> optimize the database query in models/user.py that retrieves all users
# Claude прочитает только релевантный файл
Стратегия 4: Начните новую сессию
# Длинная сессия: сотни тысяч токенов в окне (лимит — 1M, GA)
# Лучше: начать новую сессию
/clear
# Или вообще:
exit
claude # Новая сессия, чистый контекст
Многофайловые изменения
Claude отлично работает с изменениями в нескольких файлах одновременно:
Пример: Добавление новой функции
$ claude
> add a new "search" feature that filters users by email, name, and role.
> implement it properly with API endpoint, database query, tests, and docs
Claude's execution:
┌────────────────────────────────────────────────────────┐
│ Planning: 5 files to modify/create │
│ │
│ 1. schemas/search.py (NEW) │
│ SearchRequest, SearchResponse Pydantic models │
│ │
│ 2. services/search.py (NEW) │
│ search_users() business logic │
│ │
│ 3. api/users.py (MODIFY) │
│ @router.post("/search") endpoint │
│ │
│ 4. tests/test_search.py (NEW) │
│ 20 test cases │
│ │
│ 5. README.md (MODIFY) │
│ Add search endpoint documentation │
│ │
│ [[+]] Proceed [?] Ask for changes [E] Edit plan
Claude отслеживает все изменения и убедится, что они согласованы.
Масштабирование: субагенты для разведки, /batch и headless-цикл claude -p
По мере роста кодовой базы самый быстрый способ сжечь контекст — заставить основную сессию самостоятельно читать десятки файлов. В Claude Code Best Practices рекомендуются три паттерна изолированной работы:
- Делегирование разведки субагенту: попросите Claude «используй субагента, чтобы исследовать, как наша система аутентификации обрабатывает обновление токенов, и есть ли у нас готовые OAuth-утилиты». Субагент прочитает десятки файлов в отдельном контекстном окне (часто на быстрой
Haiku 5.5) и вернёт в основную сессию только сжатую выжимку с путями и номерами строк. - Интерактивный fan-out через
/batch: для массовых миграций введите/batch migrate src/ from Solid to React. Claude проведёт разведку, предложит план декомпозиции и после вашего одобрения запустит от 5 до 30 параллельных субагентов, каждый в собственном изолированном git worktree, с автоматической проверкой тестов и подготовкой PR. - Скриптовый конвейер через
claude -p: для автоматизации в bash или CI используйте неинтерактивный флаг-pс ограничением разрешённых инструментов и JSON-выводом:
for file in $(cat files-to-migrate.txt); do
claude -p "Migrate $file from React to Vue. Return OK or FAIL." \
--allowedTools "Edit,Bash(git commit *)" \
--output-format json
done
Частые ошибки и как их избежать
[-] Ошибка 1: Слишком расплывчатые задачи
# Плохо
> fix the API
# Правильно
> fix the GET /api/users endpoint which crashes with "index out of range"
> when the database is empty
Проблема: Claude не знает, что именно чинить
Решение: Даже одна ссылка на ошибку экономит время
[-] Ошибка 2: Не проверять план перед кодированием
Claude предлагает:
[[+]] Proceed [?] Ask for changes
# НЕПРАВИЛЬНО: сразу нажимаете [[+]]
# ПРАВИЛЬНО: прочитайте план, задайте вопросы
Проблема: Claude может неправильно понять требование
Решение: Потратьте 10 секунд на проверку плана
[-] Ошибка 3: Игнорирование тестов
Claude сообщает:
[-] Tests failed: 3/20
# НЕПРАВИЛЬНО: просить применить коммит всё равно
# ПРАВИЛЬНО:
> why did these tests fail? please fix them
Проблема: Код может быть сломан
Решение: Убедитесь, что тесты проходят
[-] Ошибка 4: Слишком большие задачи за раз
# Плохо
> refactor entire authentication system, add JWT, implement refresh tokens,
> write tests, update documentation, and deploy to production
# Хорошо
> refactor authentication to use JWT tokens with proper error handling
# (потом отдельно)
> add refresh token functionality
# (потом отдельно)
> write comprehensive tests for JWT implementation
Проблема: Сложно управлять, легко сломать
Решение: Разбейте на 2-3 задачи
[-] Ошибка 5: Не использовать /compact в длинных сеансах
# После 20 задач контекст огромный
/status
# Input tokens: 450,000 (!!)
# Каждая следующая операция медленная и дорогая
# РЕШЕНИЕ: используйте /compact
/compact
Сравнение с другими инструментами
Claude Code vs GitHub Copilot (октябрь 2026)
| Аспект | Claude Code | Copilot |
|---|---|---|
| Модель | Sonnet 5.5 (Pro) / Opus 5.5 (Max) / Haiku 5.5 | Claude Sonnet 5.5, Opus 5.5 (Pro+ / Max), GPT-6.1 Sol / GPT-5.3-Codex, Gemini 3.8 Flash |
| Интерфейс | CLI в терминале + расширения VS Code / JetBrains | IDE-плагин и CLI (npm i -g @github/copilot, Node.js 22+) |
| Контекст | 1M токенов (Haiku 5.5 / Sonnet 5.5 / Opus 5.5 / Fable 5.1, GA) | Зависит от выбранной модели |
| Стоимость | Pro $20/мес или Max $100/$200 | Free (2000 completions/мес); Pro $10; Pro+ $39; Max $100; Business $19/место; Enterprise $39/место (docs.github.com/en/copilot) |
| Для кого | Разработчики, любящие CLI и автономные воркфлоу | Кто уже в GitHub / VS Code / JetBrains |
| Скорость | Глубже на многофайловых задачах | Быстрее на inline-автодополнении |
Когда использовать Claude Code:
- Большие рефакторинги
- Работа с большими кодовыми базами
- Сложная логика, требующая анализа
- Предпочитаете CLI
Когда использовать Copilot:
- Быстрые автодополнения в IDE
- Команда уже на GitHub
- Нужен CLI без смены экосистемы
Aider — уже история
Последний релиз Aider — август 2025. В 2026 это не текущий инструмент курса. Следующий модуль после Claude Code — Antigravity CLI (agy, модуль 2.3), затем Codex CLI (2.4). Не ставьте Aider как «следующий шаг».
Cheat Sheet: Самые используемые команды
# Управление сессией
/help # Справка
/status # Статус и затраты
/cost # Показать расходы
/clear # Сбросить историю
/compact # Сжать контекст
# Файлы и модели
/model claude-opus-5-5 # Переключить модель (или opusplan / sonnet / haiku)
/effort high # Задать глубину рассуждений
/btw <вопрос> # Быстрый вопрос без добавления в историю сессии
/rewind # Откатиться к чекпоинту (или Esc+Esc)
/read path/to/file.py # Прочитать файл
/init # Инициализация CLAUDE.md
# Быстрые команды (без ввода)
> fix the syntax error in utils.py
> write tests for the search function
> what files are in this project?
> add logging to the main function
> explain how database.py works
> optimize the query in models.py
Попробуйте сами
Задание 1: Оптимизация затрат
claude
> make several changes to your project
/status
# Посмотрите затраты
/compact
# Применить компрессию
/status
# Посмотрите новые затраты (должны быть ниже)
Задание 2: Многофайловая задача
> add a new validation utility that checks:
> - email format
> - password strength (min 8 chars, uppercase, number)
> - phone number
> create proper tests for all cases
Задание 3: Git workflow
# Если есть git репозиторий:
> write a commit message for the recent changes
# Или создайте ветку с конфликтом и:
> resolve the merge conflicts
Ключевые выводы
- Claude отлично работает с git для commits, reviews, конфликтов
- Используйте
/compactдля длительных сеансов и экономии - Переключайтесь на Haiku для простых быстрых задач
- Многофайловые изменения отслеживаются автоматически
- Будьте конкретны в запросах для экономии токенов
- Частые ошибки: расплывчатые задачи, большие куски работы, игнорирование тестов
- Claude Code лучше для больших задач, Copilot — для автодополнения в IDE и своего CLI
- Aider больше не текущий инструмент (последний релиз — август 2025)
Заключение курса
Вы прошли путь от установки Claude Code до продвинутого использования:
- [+] Урок 1: Установка и первый запуск
- [+] Урок 2: Базовые команды и правильная формулировка задач
- [+] Урок 3: Workflow Explore-Plan-Code и управление контекстом
- [+] Урок 4: Автоматизация с hooks и CLAUDE.md
- [+] Урок 5: Продвинутые техники и оптимизация
Что дальше?
- Модуль М2.3 — Antigravity CLI (
agy, Google; потребительский Gemini CLI закрыт) - Модуль М2.4 — Codex CLI
- Модуль М2.5 — Cursor и IDE-агенты
- Модуль М2.7 — MCP (Model Context Protocol) для расширения возможностей
Рекомендации для практики
- Начните с маленьких задач (добавление функции, исправление ошибки)
- Создавайте CLAUDE.md для каждого проекта
- Регулярно используйте
/compactв длительных сеансах - Всегда проверяйте план перед одобрением
- Смотрите дифы внимательно
- Не бойтесь запрашивать изменения в плане
Вы готовы использовать Claude Code профессионально!