SpyBara
Go Premium

best-practices.md 2026-09-24 22:57 UTC to 2026-09-25 23:58 UTC

This page contains 2 additions and 2 deletions.

2026
Thu 10 23:00 Mon 14 22:58 Fri 18 23:58 Fri 25 23:58

Лучшие практики для Claude Code

Советы и паттерны для максимального использования Claude Code, от настройки окружения до масштабирования на параллельные сеансы.

Claude Code — это агентивная среда кодирования. В отличие от чатбота, который отвечает на вопросы и ждёт, Claude Code может читать ваши файлы, выполнять команды, вносить изменения и автономно работать над проблемами, пока вы наблюдаете, перенаправляете или полностью отходите в сторону.

Это меняет способ вашей работы. Вместо того чтобы писать код самостоятельно и просить Claude его проверить, вы описываете, что хотите, и Claude понимает, как это построить. Claude исследует, планирует и реализует.

Но эта автономность всё ещё требует кривой обучения. Claude работает в определённых ограничениях, которые вам нужно понимать.

Это руководство охватывает паттерны, которые доказали свою эффективность во внутренних командах Anthropic и для инженеров, использующих Claude Code в различных кодовых базах, языках и окружениях. Чтобы узнать, как агентивный цикл работает под капотом, см. How Claude Code works.


Большинство лучших практик основаны на одном ограничении: контекстное окно Claude заполняется быстро, и производительность деградирует по мере его заполнения.

Контекстное окно Claude содержит весь ваш разговор, включая каждое сообщение, каждый файл, который читает Claude, и каждый вывод команды. Однако это может заполниться быстро. Один сеанс отладки или исследование кодовой базы может сгенерировать и потребить десятки тысяч токенов.

Это важно, потому что производительность LLM деградирует по мере заполнения контекста. Когда контекстное окно почти полное, Claude может начать «забывать» более ранние инструкции или делать больше ошибок. Контекстное окно — это самый важный ресурс для управления. Чтобы увидеть, как сеанс заполняется на практике, посмотрите интерактивное пошаговое руководство того, что загружается при запуске и какие затраты на каждое чтение файла. Отслеживайте использование контекста непрерывно с помощью пользовательской строки состояния, и см. Reduce token usage для стратегий по снижению использования токенов.


Дайте Claude способ проверить свою работу

Claude останавливается, когда работа выглядит завершённой. Без проверки, которую он может запустить, "выглядит завершённой" — это единственный доступный сигнал, и вы становитесь циклом проверки: каждая ошибка ждёт, пока вы её заметите. Дайте Claude что-то, что выдаёт сигнал успеха или неудачи, и цикл закроется самостоятельно. Claude выполняет работу, запускает проверку, читает результат и повторяет итерации до тех пор, пока проверка не пройдёт.

Проверка — это всё, что возвращает сигнал, который Claude может прочитать в разговоре: набор тестов, код выхода сборки, линтер, скрипт, который сравнивает выходные данные с фиксчуром, или скриншот браузера, сравниваемый с дизайном. Запустите /verify самостоятельно после того, как проверка Claude пройдёт, чтобы подтвердить изменение в работающем приложении.

Стратегия До После
Предоставьте критерии проверки "реализовать функцию, которая проверяет адреса электронной почты" "написать функцию validateEmail. примеры тестовых случаев: user@example.com это true, invalid это false, user@.com это false. запустить тесты после реализации"
Проверьте изменения UI визуально "сделать панель управления лучше" "[вставить скриншот] реализовать этот дизайн. сделать скриншот результата и сравнить его с оригиналом. перечислить различия и исправить их"
Решайте коренные причины, а не симптомы "сборка не работает" "сборка не работает с этой ошибкой: [вставить ошибку]. исправить и проверить, что сборка успешна. решить коренную причину, не подавлять ошибку"

После того как проверка существует, решите, насколько жёстко она должна блокировать остановку:

  • В одном запросе: попросите Claude запустить проверку и повторить итерации в одном сообщении, как в таблице выше.
  • На протяжении сеанса: установите проверку как условие /goal. Отдельный оценщик повторно проверяет её после каждого хода, и Claude продолжает работать, пока она не будет выполнена. Если Claude застопорится, Claude Code в конечном итоге остановит запуск с установленной целью — см. как работает оценка /goal.
  • Как детерминированный шлюз: Stop hook запускает вашу проверку как скрипт и блокирует завершение хода до тех пор, пока она не пройдёт. Claude Code переопределяет hook и завершает ход после 8 последовательных блокировок.
  • По второму мнению: verification subagent или dynamic workflow, который проверяет собственные выводы, имеет свежую модель, которая пытается опровергнуть результат, поэтому агент, выполняющий работу, не является тем, кто её оценивает.

Каждый шаг обменивает настройку на внимание. Версия с запросом работает на любой задаче сегодня. Версии /goal и Stop hook — это то, что позволяет неконтролируемому запуску завершиться правильно без вас.

Попросите Claude показать доказательства, а не утверждать успех: выходные данные теста, команду, которую он запустил, и то, что она вернула, или скриншот результата. Проверка доказательств происходит быстрее, чем повторный запуск проверки самостоятельно, и это работает для сеансов, которые вы не наблюдали.


Сначала исследуйте, потом планируйте, потом кодируйте

Позволение Claude сразу перейти к кодированию может привести к коду, который решает неправильную проблему. Используйте Plan Mode для отделения исследования от выполнения.

Рекомендуемый рабочий процесс имеет четыре фазы:

1

Исследуйте

Войдите в Plan Mode, нажав Shift+Tab до тех пор, пока в строке состояния не появится ⏸ plan mode on, или запустите сеанс с помощью claude --permission-mode plan. Claude читает файлы и отвечает на вопросы без внесения изменений.

read /src/auth and understand how we handle sessions and login.
also look at how we manage environment variables for secrets.
2

Планируйте

Попросите Claude создать подробный план реализации.

I want to add Google OAuth. What files need to change?
What's the session flow? Create a plan.

Нажмите Ctrl+G, чтобы открыть план в вашем текстовом редакторе для прямого редактирования перед тем, как Claude продолжит.

3

Реализуйте

Переключитесь из Plan Mode, одобрив план или нажав Shift+Tab, затем позвольте Claude кодировать, проверяя против его плана.

implement the OAuth flow from your plan. write tests for the
callback handler, run the test suite and fix any failures.
4

Зафиксируйте

Попросите Claude зафиксировать с описательным сообщением и создать PR.

commit with a descriptive message and open a PR

Предоставьте конкретный контекст в ваших подсказках

Claude может вывести намерение, но не может читать ваши мысли. Ссылайтесь на конкретные файлы, упоминайте ограничения и указывайте на примеры паттернов.

Стратегия До После
Определите область задачи. Укажите, какой файл, какой сценарий и предпочтения тестирования. "добавить тесты для foo.py" "написать тест для foo.py, охватывающий граничный случай, когда пользователь вышел из системы. избегать мокирования."
Укажите источники. Направьте Claude к источнику, который может ответить на вопрос. "почему ExecutionFactory имеет такой странный api?" "посмотреть через историю git ExecutionFactory и суммировать, как его api пришёл к этому"
Ссылайтесь на существующие паттерны. Укажите Claude на паттерны в вашей кодовой базе. "добавить виджет календаря" "посмотреть, как существующие виджеты реализованы на домашней странице, чтобы понять паттерны. HotDogWidget.php — хороший пример. следовать паттерну для реализации нового виджета календаря, который позволяет пользователю выбрать месяц и переходить вперёд/назад для выбора года. строить с нуля без библиотек, кроме уже используемых в кодовой базе."
Опишите симптом. Предоставьте симптом, вероятное местоположение и то, как выглядит «исправленное». "исправить ошибку входа" "пользователи сообщают, что вход не работает после истечения сеанса. проверить поток аутентификации в src/auth/, особенно обновление токена. написать тест, который не проходит и воспроизводит проблему, затем исправить её"

Расплывчатые подсказки могут быть полезны, когда вы исследуете и можете позволить себе изменить курс. Подсказка вроде "что бы вы улучшили в этом файле?" может выявить вещи, о которых вы не подумали бы спросить.

Предоставьте богатый контент

Вы можете предоставить богатые данные Claude несколькими способами:

  • Ссылайтесь на файлы с @ вместо описания того, где находится код. Claude читает файл перед ответом.
  • Вставляйте изображения напрямую. Скопируйте/вставьте или перетащите изображения в подсказку.
  • Дайте URL-адреса для документации и справочников API. Используйте /permissions для добавления в белый список часто используемых доменов.
  • Передавайте данные путём запуска cat error.log | claude для отправки содержимого файла напрямую.
  • Позвольте Claude получить то, что ему нужно. Скажите Claude вытащить контекст самостоятельно, используя команды Bash, MCP tools или читая файлы.

Настройте ваше окружение

Несколько шагов настройки делают Claude Code значительно более эффективным во всех ваших сеансах. Для полного обзора функций расширения и когда использовать каждую, см. Extend Claude Code.

Напишите эффективный CLAUDE.md

CLAUDE.md — это специальный файл, который Claude читает в начале каждого разговора. Включите команды Bash, стиль кода и правила рабочего процесса. Это даёт Claude постоянный контекст, который он не может вывести только из кода.

Нет требуемого формата для файлов CLAUDE.md, но держите его коротким и удобочитаемым. Например:

# Code style
- Use ES modules (import/export) syntax, not CommonJS (require)
- Destructure imports when possible (eg. import { foo } from 'bar')

# Workflow
- Be sure to typecheck when you're done making a series of code changes
- Prefer running single tests, and not the whole test suite, for performance

Запустите /context для подтверждения того, что Claude загрузил файл. CLAUDE.md загружается каждый сеанс, поэтому включайте только то, что применяется широко. Для знаний о домене или рабочих процессов, которые актуальны только иногда, используйте skills вместо этого. Claude загружает их по требованию без раздувания каждого разговора.

Держите это кратко. Для каждой строки спросите себя: "Привело ли бы удаление этого к ошибкам Claude?" Если нет, удалите. Раздутые файлы CLAUDE.md заставляют Claude игнорировать ваши фактические инструкции!

✅ Включите ❌ Исключите
Команды Bash, которые Claude не может угадать Всё, что Claude может понять, прочитав код
Правила стиля кода, которые отличаются от стандартов Стандартные соглашения языка, которые Claude уже знает
Инструкции по тестированию и предпочитаемые тестовые бегуны Подробная документация API (вместо этого ссылайтесь на документы)
Этикет репозитория (именование ветвей, соглашения PR) Информация, которая часто меняется
Архитектурные решения, специфичные для вашего проекта Длинные объяснения или учебники
Особенности окружения разработчика (требуемые переменные окружения) Описания файл-за-файлом кодовой базы
Общие подводные камни или неочевидные поведения Самоочевидные практики вроде "писать чистый код"

Если Claude продолжает делать что-то, что вы не хотите, несмотря на наличие правила против этого, файл, вероятно, слишком длинный и правило теряется. Если Claude задаёт вам вопросы, которые ответены в CLAUDE.md, формулировка может быть неоднозначной. Относитесь к CLAUDE.md как к коду: проверяйте его, когда что-то идёт не так, регулярно обрезайте его и тестируйте изменения, наблюдая, действительно ли поведение Claude меняется. Для зафиксированного в git CLAUDE.md запустите /doctor и Claude предложит сокращения для контента, который он может вывести из кодовой базы.

Если Claude продолжает пропускать одну инструкцию, добавьте акцент, такой как "IMPORTANT", только к этой строке. Если вы подчёркиваете много строк, ни одна из них не выделяется. Зафиксируйте CLAUDE.md в git, чтобы ваша команда могла внести свой вклад. Файл накапливает ценность со временем.

Файлы CLAUDE.md могут импортировать дополнительные файлы, используя синтаксис @path/to/import. Для правил импорта и мест, где могут находиться файлы CLAUDE.md, см. CLAUDE.md files.

Настройте разрешения

На планах Pro, Max и Team, auto mode — это встроенный начальный режим разрешений для интерактивных сеансов терминала и VS Code: отдельная модель-классификатор проверяет большинство действий вместо вас и блокирует только то, что выглядит рискованно, например расширение области, неизвестная инфраструктура или действия, вызванные враждебным контентом.

В режиме Manual, встроенном начальном режиме разрешений на других планах, Claude Code запрашивает разрешение перед действиями, которые могут модифицировать вашу систему: записи файлов, команды Bash, MCP tools. Это безопасно, но утомительно. После десятого одобрения вы кликаете, не совсем проверяя. Два инструмента сокращают эти прерывания в режиме Manual и применяются также в режиме auto:

  • Белые списки разрешений: разрешить конкретные инструменты, которые вы знаете, что безопасны, например npm run lint или git commit
  • Sandboxing: включить изоляцию на уровне ОС, которая ограничивает доступ к файловой системе и сети, позволяя Claude работать более свободно в определённых границах

Прочитайте больше о permission modes, permission rules и sandboxing.

Используйте CLI tools

CLI tools — это наиболее контекстно-эффективный способ взаимодействия с внешними сервисами. Если вы используете GitHub, установите CLI gh. Claude знает, как его использовать для создания issues, открытия pull requests и чтения комментариев. Без gh, Claude всё ещё может использовать GitHub API, но неаутентифицированные запросы часто попадают на ограничения по частоте.

Claude также эффективен в изучении CLI tools, которые он не знает. Попробуйте подсказки вроде Use 'foo-cli-tool --help' to learn about foo tool, then use it to solve A, B, C.

Подключите MCP servers

С MCP servers, вы можете попросить Claude реализовать функции из трекеров issues, запросить базы данных, анализировать данные мониторинга, интегрировать дизайны из Figma и автоматизировать рабочие процессы.

Установите hooks

Hooks запускают скрипты автоматически в определённых точках рабочего процесса Claude. В отличие от инструкций CLAUDE.md, которые являются рекомендательными, hooks являются детерминированными и гарантируют, что действие происходит.

Claude может писать hooks для вас. Попробуйте подсказки вроде "Write a hook that runs eslint after every file edit" или "Write a hook that blocks writes to the migrations folder." Отредактируйте .claude/settings.json напрямую для конфигурации hooks вручную, и запустите /hooks для просмотра того, что настроено.

Создайте skills

Skills расширяют знания Claude информацией, специфичной для вашего проекта, команды или домена. Claude применяет их автоматически, когда они актуальны, или вы можете вызвать их напрямую с помощью /skill-name.

Создайте skill, добавив директорию с SKILL.md в .claude/skills/:

---
name: api-conventions
description: REST API design conventions for our services
---
# API Conventions
- Use kebab-case for URL paths
- Use camelCase for JSON properties
- Always include pagination for list endpoints
- Version APIs in the URL path (/v1/, /v2/)

Skills также могут определять переиспользуемые рабочие процессы, которые вы вызываете напрямую:

---
name: fix-issue
description: Fix a GitHub issue
disable-model-invocation: true
---
Analyze and fix the GitHub issue: $ARGUMENTS.

1. Use `gh issue view` to get the issue details
2. Understand the problem described in the issue
3. Search the codebase for relevant files
4. Implement the necessary changes to fix the issue
5. Write and run tests to verify the fix
6. Ensure code passes linting and type checking
7. Create a descriptive commit message
8. Push and create a PR

Запустите /fix-issue 1234 для вызова. Используйте disable-model-invocation: true для рабочих процессов с побочными эффектами, которые вы хотите запустить вручную.

Создайте пользовательские subagents

Subagents запускаются в своём собственном контексте с собственным набором разрешённых инструментов. Они полезны для задач, которые читают много файлов или нуждаются в специализированном внимании без загромождения вашего основного разговора.

---
name: security-reviewer
description: Reviews code for security vulnerabilities
tools: Read, Grep, Glob, Bash
model: opus
---
You are a senior security engineer. Review code for:
- Injection vulnerabilities (SQL, XSS, command injection)
- Authentication and authorization flaws
- Secrets or credentials in code
- Insecure data handling

Provide specific line references and suggested fixes.

Скажите Claude использовать subagents явно: "Use a subagent to review this code for security issues."

Установите plugins

Plugins объединяют skills, hooks, subagents и MCP servers в единый устанавливаемый модуль из сообщества и Anthropic. Если вы работаете с типизированным языком, установите code intelligence plugin для предоставления Claude точной навигации по символам и автоматического обнаружения ошибок после редактирования.

Для руководства по выбору между skills, subagents, hooks и MCP, см. Extend Claude Code.


Общайтесь эффективно

Задавайте Claude вопросы, которые вы задали бы другому инженеру, и для более крупных функций позвольте Claude взять интервью у вас и написать спецификацию перед тем, как вы начнёте реализацию.

Задавайте вопросы о кодовой базе

При адаптации к новой кодовой базе используйте Claude Code для обучения и исследования. Вы можете задавать Claude те же вопросы, которые задали бы другому инженеру:

  • Как работает логирование?
  • Как мне создать новую конечную точку API?
  • Что делает async move { ... } на строке 134 файла foo.rs?
  • Какие граничные случаи обрабатывает CustomerOnboardingFlowImpl?
  • Почему этот код вызывает foo() вместо bar() на строке 333?

Использование Claude Code таким образом — это эффективный рабочий процесс адаптации, улучшающий время рамп-апа и снижающий нагрузку на других инженеров. Специальное формирование подсказок не требуется: задавайте вопросы напрямую.

Позвольте Claude взять интервью у вас

Claude задаёт вопросы о вещах, которые вы, возможно, не рассмотрели, включая техническую реализацию, UI/UX, граничные случаи и компромиссы. Замените [brief description] описанием вашей функции перед отправкой подсказки.

I want to build [brief description]. Interview me in detail using the AskUserQuestion tool.

Ask about technical implementation, UI/UX, edge cases, concerns, and tradeoffs. Don't ask obvious questions, dig into the hard parts I might not have considered.

Keep interviewing until we've covered everything, then write a complete spec to SPEC.md.

Как только спецификация завершена, начните свежий сеанс для её выполнения. Новый сеанс имеет чистый контекст, сосредоточенный полностью на реализации, и у вас есть письменная спецификация для справки.

Наиболее полезные спецификации являются самодостаточными: они называют задействованные файлы и интерфейсы, указывают, что находится вне области действия, и заканчиваются этапом сквозной проверки, который доказывает, что функция работает. Время, потраченное на уточнение спецификации, окупается больше, чем время, потраченное на наблюдение за реализацией.


Управляйте вашим сеансом

Разговоры являются постоянными и обратимыми. Используйте это в своих интересах!

Исправляйте курс рано и часто

Лучшие результаты получаются из плотных циклов обратной связи. Хотя Claude иногда решает проблемы идеально с первой попытки, быстрое исправление обычно даёт лучшие решения быстрее.

  • Esc: остановите Claude в середине действия клавишей Esc. Контекст сохраняется, поэтому вы можете перенаправить.
  • Esc + Esc или /rewind: нажмите Esc дважды или запустите /rewind для открытия меню перемотки и восстановления предыдущего разговора и состояния кода, или суммируйте из выбранного сообщения.
  • "Undo that": попросите Claude отменить его изменения.
  • /clear: сбросить контекст между несвязанными задачами. Длинные сеансы с нерелевантным контекстом могут снизить производительность.

Если вы исправили Claude более двух раз на одну и ту же проблему в одном сеансе, контекст загромождён неудачными подходами. Запустите /clear и начните заново с более конкретной подсказкой, которая включает то, что вы узнали. Чистый сеанс с лучшей подсказкой почти всегда превосходит длинный сеанс с накопленными исправлениями.

Управляйте контекстом агрессивно

Claude Code автоматически компактирует историю разговора, когда вы приближаетесь к ограничениям контекста, что сохраняет важный код и решения, освобождая место.

Во время длинных сеансов контекстное окно Claude может заполниться нерелевантным разговором, содержимым файлов и командами. Это может снизить производительность и иногда отвлечь Claude.

  • Используйте /clear часто между задачами для полного сброса контекстного окна
  • Когда автоматическое компактирование срабатывает, Claude суммирует то, что имеет значение, включая паттерны кода, состояния файлов и ключевые решения
  • Для большего контроля запустите /compact <instructions>, например /compact Focus on the API changes
  • Для компактирования только части разговора используйте Esc + Esc или /rewind, выберите контрольную точку сообщения и выберите Summarize from here или Summarize up to here. Первый вариант сжимает сообщения с этой точки вперёд, сохраняя более ранний контекст нетронутым; второй сжимает более ранние сообщения, сохраняя недавние в полном объёме. См. меню перемотки с опциями суммирования.
  • Настройте поведение компактирования в CLAUDE.md с инструкциями вроде "When compacting, always preserve the full list of modified files and any test commands" для обеспечения того, что критический контекст выживает при суммировании
  • Для вопросов, которые не нужно оставлять в контексте, используйте /btw. Ответ никогда не входит в историю разговора, поэтому вы можете проверить деталь без увеличения контекста.

Используйте subagents для исследования

Поскольку контекст — это ваше фундаментальное ограничение, используйте subagents для того, чтобы держать исследование вне его. Когда Claude исследует кодовую базу, он читает много файлов, все из которых потребляют ваш контекст. Subagents запускаются в отдельных контекстных окнах и сообщают обратно суммарные данные:

Use subagents to investigate how our authentication system handles token
refresh, and whether we have any existing OAuth utilities I should reuse.

Вы также можете использовать subagents для проверки после того, как Claude что-то реализует. См. Добавьте шаг состязательного рецензирования.

Перемотайте с контрольными точками

Claude автоматически создаёт снимки файлов перед каждым изменением, поэтому контрольная точка может восстановить их. Дважды нажмите Escape или запустите /rewind для открытия меню перемотки. Вы можете восстановить только разговор, восстановить только код, восстановить оба или суммировать из выбранного сообщения. См. Checkpointing для деталей.

Вместо тщательного планирования каждого хода, вы можете сказать Claude попробовать что-то рискованное. Если это не сработает, перемотайте и попробуйте другой подход. Контрольные точки сохраняются между сеансами, поэтому вы можете закрыть ваш терминал и всё ещё перемотать позже.

Возобновите разговоры

Claude Code сохраняет разговоры локально, поэтому когда задача охватывает несколько сеансов, вам не нужно переобъяснять контекст. Запустите claude --continue для продолжения с самого последнего сеанса или claude --resume для выбора из списка. Дайте сеансам описательные имена, такие как oauth-migration, чтобы вы могли найти их позже. См. Manage sessions для полного набора управления возобновлением, ветвлением и именованием.


Автоматизируйте и масштабируйте

Как только вы эффективны с одним Claude, умножьте ваш выход с параллельными сеансами, неинтерактивным режимом и паттернами fan-out.

Запустите неинтерактивный режим

С claude -p "your prompt", вы можете запустить Claude неинтерактивно, без интерактивной подсказки. Запуск по-прежнему создаёт возобновляемый сеанс, если вы не передадите --no-session-persistence. Неинтерактивный режим — это как вы интегрируете Claude в CI pipelines, pre-commit hooks или любой автоматизированный рабочий процесс. Форматы вывода позволяют вам анализировать результаты программно: простой текст, JSON или потоковый JSON.

# One-off queries
claude -p "Explain what this project does"

# Structured output for scripts
claude -p "List all API endpoints" --output-format json

# Streaming for real-time processing
claude -p "Analyze this log file" --output-format stream-json --verbose

Первая команда выводит простой текст. Формат json возвращает один объект JSON с полем result. Формат stream-json выводит один объект JSON на строку, начиная с события инициализации.

Запустите несколько сеансов Claude

Выберите подход параллелизации, который соответствует тому, сколько координации вы хотите выполнить самостоятельно, и добавьте обмен сообщениями, когда сеансам нужно передавать результаты друг другу:

  • Worktrees: запустите отдельные сеансы CLI в изолированных git checkouts, чтобы правки не конфликтовали
  • Cross-session messaging: позвольте сеансам, которые вы запускаете самостоятельно, передавать результаты друг другу
  • Desktop app: управляйте несколькими локальными сеансами визуально, каждый в своём worktree
  • Use Claude Code in the cloud: запустите сеансы в облаке, на инфраструктуре, управляемой Anthropic, по умолчанию
  • Agent view: исследовательский предпросмотр. Запустите claude agents для отправки сеансов, которые продолжают работать в фоне, и наблюдайте за ними с одного экрана
  • Agent teams: экспериментальная и отключена по умолчанию. Автоматизированная координация нескольких сеансов с общими задачами, обмена сообщениями и лидера команды

Помимо параллелизации работы, несколько сеансов позволяют рабочие процессы, сосредоточенные на качестве. Свежий контекст улучшает проверку кода, поскольку Claude не будет предвзят к коду, который он только что написал.

Например, используйте паттерн Writer/Reviewer:

Session A (Writer) Session B (Reviewer)
Implement a rate limiter for our API endpoints
Review the rate limiter implementation in @src/middleware/rateLimiter.ts. Look for edge cases, race conditions, and consistency with our existing middleware patterns.
Here's the review feedback: [Session B output]. Address these issues.

Вы можете сделать что-то подобное с тестами: пусть один Claude напишет тесты, затем другой напишет код для их прохождения.

Fan out через файлы

Для больших миграций или анализов вы можете распределить работу через много параллельных вызовов Claude. Запустите /batch <instruction> для того, чтобы Claude разделил изменение между 5-30 подагентами. Каждый подагент работает в своём worktree. Чтобы управлять fan-out из вашего собственного скрипта, зациклитесь через claude -p:

1

Сгенерируйте список задач

Попросите Claude написать список файлов, которые нужно мигрировать, в файл, чтобы цикл на следующем шаге мог его прочитать, с подсказкой вроде list all 2,000 Python files that need migrating and save the list to files.txt

2

Напишите скрипт для циклирования через список

for file in $(cat files.txt); do
claude -p "Migrate $file from Python 2 to Python 3. Return OK or FAIL." \
--allowedTools "Edit,Bash(git commit *)"
done
3

Тестируйте на нескольких файлах, затем запустите на всех

Уточняйте вашу подсказку на основе того, что идёт не так с первыми 2-3 файлами, затем запустите на полном наборе. Флаг --allowedTools ограничивает то, что Claude может делать, что важно, когда вы запускаете без присмотра.

Вы также можете интегрировать Claude в существующие конвейеры данных/обработки:

claude -p "<your prompt>" --output-format json | your_command

Запустите автономно с auto mode

Для непрерывного выполнения с проверками безопасности в фоне используйте auto mode. Модель-классификатор проверяет команды перед их запуском, блокируя расширение области, неизвестную инфраструктуру и действия, вызванные враждебным контентом, позволяя обычной работе продолжаться без подсказок.

claude --permission-mode auto -p "fix all lint errors"

Когда классификатор повторно блокирует действия в неинтерактивном запуске с флагом -p, Claude Code не останавливает запуск. См. when auto mode falls back для того, что происходит вместо этого и для пороговых значений.

Добавьте шаг состязательного рецензирования

Чем дольше Claude работает без присмотра, тем больше независимая проверка имеет значение перед тем, как вы считаете работу выполненной. Рецензент, работающий в свежем контексте подагента, видит только diff и критерии, которые вы ему даёте, а не рассуждения, которые произвели изменение, поэтому он оценивает результат на его собственных условиях.

Для проверки корректности запустите встроенный навык /code-review skill, который рецензирует текущий diff на предмет ошибок в свежем подагенте и возвращает результаты в сеанс. Чтобы проверить diff в соответствии с вашим планом, напишите подсказку рецензирования самостоятельно. Назовите работу для проверки, план для проверки и что считается результатом:

Use a subagent to review the rate limiter diff against PLAN.md. Check that
every requirement is implemented, the listed edge cases have tests, and
nothing outside the task's scope changed. Report gaps, not style preferences.

Поскольку рецензент работает как подагент, реализующий сеанс получает пробелы напрямую и может исправить их и пересмотреть без того, чтобы вы копировали результаты между окнами.


Избегайте общих паттернов отказа

Это общие ошибки. Их раннее распознавание экономит время:

  • Сеанс кухонной раковины. Вы начинаете с одной задачи, затем спрашиваете Claude что-то несвязанное, затем возвращаетесь к первой задаче. Контекст полон нерелевантной информации.

    Исправление: /clear между несвязанными задачами.

  • Исправление снова и снова. Claude делает что-то неправильно, вы исправляете, это всё ещё неправильно, вы исправляете снова. Контекст загромождён неудачными подходами.

    Исправление: После двух неудачных исправлений, /clear и напишите лучшую начальную подсказку, включающую то, что вы узнали.

  • Переопределённый CLAUDE.md. Если ваш CLAUDE.md слишком длинный, Claude игнорирует половину его, потому что важные правила теряются в шуме.

    Исправление: Безжалостно обрезайте. Если Claude уже делает что-то правильно без инструкции, удалите это или преобразуйте в hook.

  • Разрыв доверия-затем-проверки. Claude создаёт правдоподобно выглядящую реализацию, которая не обрабатывает граничные случаи.

    Исправление: Всегда предоставляйте проверку (тесты, скрипты, скриншоты). Если вы не можете это проверить, не отправляйте это.

  • Бесконечное исследование. Вы просите Claude "исследовать" что-то без определения области. Claude читает сотни файлов, заполняя контекст.

    Исправление: Определите исследования узко или используйте subagents, чтобы исследование не потребляло ваш основной контекст.


Развивайте вашу интуицию

Паттерны в этом руководстве не высечены в камне. Они являются отправными точками, которые хорошо работают в целом, но могут быть не оптимальны для каждой ситуации.

Иногда вы должны позволить контексту накапливаться, потому что вы глубоко в одной сложной проблеме и история ценна. Иногда вы должны пропустить планирование и позволить Claude понять это, потому что задача исследовательская. Иногда расплывчатая подсказка — это именно то, что нужно, потому что вы хотите увидеть, как Claude интерпретирует проблему перед её ограничением.

Обратите внимание на то, что работает. Когда Claude создаёт отличный выход, заметьте, что вы сделали: структуру подсказки, контекст, который вы предоставили, режим, в котором вы были. Когда Claude борется, спросите почему. Был ли контекст слишком шумным? Подсказка слишком расплывчатой? Задача слишком большой для одного прохода?

Со временем вы разовьёте интуицию, которую никакое руководство не может захватить. Вы будете знать, когда быть конкретным и когда быть открытым, когда планировать и когда исследовать, когда очищать контекст и когда позволить ему накапливаться.

  • How Claude Code works: агентивный цикл, инструменты и управление контекстом
  • Extend Claude Code: skills, hooks, MCP, subagents и plugins
  • Common workflows: пошаговые рецепты для отладки, тестирования, PRs и многого другого
  • CLAUDE.md: сохранять соглашения проекта и постоянный контекст