Перейти к содержимому
Оформить зарубежную карту за $49 Перейти
>AISTUDY_
AUTHORСвежий выпуск №031 → Git и конвейер для агента

Модуль 2.2 · Урок 5

Урок 5: Tips & Tricks — Продвинутые техники и оптимизация

40 мин Проверено 24 октября 2026
Практика
Содержание
2.2 / Урок 5 из 5

Чему вы научитесь

  • Работать с 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.

МодельInputOutputКогда использовать
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 рекомендуются три паттерна изолированной работы:

  1. Делегирование разведки субагенту: попросите Claude «используй субагента, чтобы исследовать, как наша система аутентификации обрабатывает обновление токенов, и есть ли у нас готовые OAuth-утилиты». Субагент прочитает десятки файлов в отдельном контекстном окне (часто на быстрой Haiku 5.5) и вернёт в основную сессию только сжатую выжимку с путями и номерами строк.
  2. Интерактивный fan-out через /batch: для массовых миграций введите /batch migrate src/ from Solid to React. Claude проведёт разведку, предложит план декомпозиции и после вашего одобрения запустит от 5 до 30 параллельных субагентов, каждый в собственном изолированном git worktree, с автоматической проверкой тестов и подготовкой PR.
  3. Скриптовый конвейер через 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 CodeCopilot
МодельSonnet 5.5 (Pro) / Opus 5.5 (Max) / Haiku 5.5Claude Sonnet 5.5, Opus 5.5 (Pro+ / Max), GPT-6.1 Sol / GPT-5.3-Codex, Gemini 3.8 Flash
ИнтерфейсCLI в терминале + расширения VS Code / JetBrainsIDE-плагин и 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/$200Free (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. [+] Урок 1: Установка и первый запуск
  2. [+] Урок 2: Базовые команды и правильная формулировка задач
  3. [+] Урок 3: Workflow Explore-Plan-Code и управление контекстом
  4. [+] Урок 4: Автоматизация с hooks и CLAUDE.md
  5. [+] Урок 5: Продвинутые техники и оптимизация

Что дальше?

  • Модуль М2.3 — Antigravity CLI (agy, Google; потребительский Gemini CLI закрыт)
  • Модуль М2.4 — Codex CLI
  • Модуль М2.5 — Cursor и IDE-агенты
  • Модуль М2.7 — MCP (Model Context Protocol) для расширения возможностей

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

  1. Начните с маленьких задач (добавление функции, исправление ошибки)
  2. Создавайте CLAUDE.md для каждого проекта
  3. Регулярно используйте /compact в длительных сеансах
  4. Всегда проверяйте план перед одобрением
  5. Смотрите дифы внимательно
  6. Не бойтесь запрашивать изменения в плане

Вы готовы использовать Claude Code профессионально!