Перейти к основному содержанию
Claude Code — это агентивная среда кодирования. В отличие от чатбота, который отвечает на вопросы и ждёт, Claude Code может читать ваши файлы, выполнять команды, вносить изменения и автономно работать над проблемами, пока вы наблюдаете, перенаправляете или полностью отходите в сторону. Это меняет способ вашей работы. Вместо того чтобы писать код самостоятельно и просить Claude его проверить, вы описываете, что хотите, и Claude понимает, как это построить. Claude исследует, планирует и реализует. Но эта автономность всё ещё требует кривой обучения. Claude работает в определённых ограничениях, которые вам нужно понимать. Это руководство охватывает паттерны, которые доказали свою эффективность во внутренних командах Anthropic и для инженеров, использующих Claude Code в различных кодовых базах, языках и окружениях. Чтобы узнать, как агентивный цикл работает под капотом, см. How Claude Code works.
Большинство лучших практик основаны на одном ограничении: контекстное окно Claude заполняется быстро, и производительность деградирует по мере его заполнения. Контекстное окно Claude содержит весь ваш разговор, включая каждое сообщение, каждый файл, который читает Claude, и каждый вывод команды. Однако это может заполниться быстро. Один сеанс отладки или исследование кодовой базы может сгенерировать и потребить десятки тысяч токенов. Это важно, потому что производительность LLM деградирует по мере заполнения контекста. Когда контекстное окно почти полное, Claude может начать «забывать» более ранние инструкции или делать больше ошибок. Контекстное окно — это самый важный ресурс для управления. Отслеживайте использование контекста непрерывно с помощью custom status line, и см. Reduce token usage для стратегий по снижению использования токенов.

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

Включите тесты, скриншоты или ожидаемые выходные данные, чтобы Claude мог проверить себя. Это самое высокоэффективное, что вы можете сделать.
Claude работает значительно лучше, когда может проверить свою собственную работу, например запустить тесты, сравнить скриншоты и проверить выходные данные. Без чётких критериев успеха он может создать что-то, что выглядит правильно, но на самом деле не работает. Вы становитесь единственным циклом обратной связи, и каждая ошибка требует вашего внимания.
СтратегияДоПосле
Предоставьте критерии проверки”реализовать функцию, которая проверяет адреса электронной почты""написать функцию validateEmail. примеры тестовых случаев: [email protected] это true, invalid это false, [email protected] это false. запустить тесты после реализации”
Проверьте изменения UI визуально”сделать панель управления лучше""[вставить скриншот] реализовать этот дизайн. сделать скриншот результата и сравнить его с оригиналом. перечислить различия и исправить их”
Решайте коренные причины, а не симптомы”сборка не работает""сборка не работает с этой ошибкой: [вставить ошибку]. исправить и проверить, что сборка успешна. решить коренную причину, не подавлять ошибку”
Изменения UI можно проверить с помощью Claude in Chrome extension. Он открывает новые вкладки в вашем браузере, тестирует UI и повторяет итерации, пока код не будет работать. Ваша проверка также может быть набором тестов, линтером или командой Bash, которая проверяет выходные данные. Инвестируйте в то, чтобы ваша проверка была надёжной.

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

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

Исследуйте

Войдите в Plan Mode. Claude читает файлы и отвечает на вопросы без внесения изменений.
claude (Plan Mode)
read /src/auth and understand how we handle sessions and login.
also look at how we manage environment variables for secrets.
2

Планируйте

Попросите Claude создать подробный план реализации.
claude (Plan Mode)
I want to add Google OAuth. What files need to change?
What's the session flow? Create a plan.
Нажмите Ctrl+G, чтобы открыть план в вашем текстовом редакторе для прямого редактирования перед тем, как Claude продолжит.
3

Реализуйте

Переключитесь обратно в Normal Mode и позвольте Claude кодировать, проверяя против его плана.
claude (Normal Mode)
implement the OAuth flow from your plan. write tests for the
callback handler, run the test suite and fix any failures.
4

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

Попросите Claude зафиксировать с описательным сообщением и создать PR.
claude (Normal Mode)
commit with a descriptive message and open a PR
Plan Mode полезен, но также добавляет накладные расходы.Для задач, где область видимости ясна и исправление небольшое (например, исправление опечатки, добавление строки логирования или переименование переменной), попросите Claude сделать это напрямую.Планирование наиболее полезно, когда вы не уверены в подходе, когда изменение модифицирует несколько файлов или когда вы не знакомы с кодом, который модифицируется. Если вы можете описать diff в одном предложении, пропустите план.

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

Чем точнее ваши инструкции, тем меньше исправлений вам потребуется.
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

Запустите /init для генерации стартового файла CLAUDE.md на основе текущей структуры вашего проекта, затем уточняйте со временем.
CLAUDE.md — это специальный файл, который Claude читает в начале каждого разговора. Включите команды Bash, стиль кода и правила рабочего процесса. Это даёт Claude постоянный контекст, который он не может вывести только из кода. Команда /init анализирует вашу кодовую базу для обнаружения систем сборки, фреймворков тестирования и паттернов кода, давая вам прочную основу для уточнения. Нет требуемого формата для файлов CLAUDE.md, но держите его коротким и удобочитаемым. Например:
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
CLAUDE.md загружается каждый сеанс, поэтому включайте только то, что применяется широко. Для знаний о домене или рабочих процессов, которые актуальны только иногда, используйте skills вместо этого. Claude загружает их по требованию без раздувания каждого разговора. Держите это кратко. Для каждой строки спросите себя: “Привело ли бы удаление этого к ошибкам Claude?” Если нет, удалите. Раздутые файлы CLAUDE.md заставляют Claude игнорировать ваши фактические инструкции!
✅ Включите❌ Исключите
Команды Bash, которые Claude не может угадатьВсё, что Claude может понять, прочитав код
Правила стиля кода, которые отличаются от стандартовСтандартные соглашения языка, которые Claude уже знает
Инструкции по тестированию и предпочитаемые тестовые бегуныПодробная документация API (вместо этого ссылайтесь на документы)
Этикет репозитория (именование ветвей, соглашения PR)Информация, которая часто меняется
Архитектурные решения, специфичные для вашего проектаДлинные объяснения или учебники
Особенности окружения разработчика (требуемые переменные окружения)Описания файл-за-файлом кодовой базы
Общие подводные камни или неочевидные поведенияСамоочевидные практики вроде “писать чистый код”
Если Claude продолжает делать что-то, что вы не хотите, несмотря на наличие правила против этого, файл, вероятно, слишком длинный и правило теряется. Если Claude задаёт вам вопросы, которые ответены в CLAUDE.md, формулировка может быть неоднозначной. Относитесь к CLAUDE.md как к коду: проверяйте его, когда что-то идёт не так, регулярно обрезайте его и тестируйте изменения, наблюдая, действительно ли поведение Claude меняется. Вы можете настроить инструкции, добавив акцент (например, “IMPORTANT” или “YOU MUST”), чтобы улучшить соответствие. Зафиксируйте CLAUDE.md в git, чтобы ваша команда могла внести свой вклад. Файл накапливает ценность со временем. Файлы CLAUDE.md могут импортировать дополнительные файлы, используя синтаксис @path/to/import:
CLAUDE.md
See @README.md for project overview and @package.json for available npm commands.

# Additional Instructions
- Git workflow: @docs/git-instructions.md
- Personal overrides: @~/.claude/my-project-instructions.md
Вы можете разместить файлы CLAUDE.md в нескольких местах:
  • Домашняя папка (~/.claude/CLAUDE.md): применяется ко всем сеансам Claude
  • Корень проекта (./CLAUDE.md): зафиксировать в git для совместного использования с вашей командой
  • Родительские директории: полезно для монорепозиториев, где оба root/CLAUDE.md и root/foo/CLAUDE.md автоматически подтягиваются
  • Дочерние директории: Claude подтягивает дочерние файлы CLAUDE.md по требованию при работе с файлами в этих директориях

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

Используйте auto mode для автоматического одобрения, /permissions для добавления в белый список конкретных команд или /sandbox для изоляции на уровне ОС. Каждый вариант снижает прерывания, сохраняя вас в контроле.
По умолчанию Claude Code запрашивает разрешение для действий, которые могут модифицировать вашу систему: записи файлов, команды Bash, MCP tools и т.д. Это безопасно, но утомительно. После десятого одобрения вы не совсем проверяете, вы просто кликаете. Есть три способа снизить эти прерывания:
  • Auto mode: отдельная модель-классификатор проверяет команды и блокирует только то, что выглядит рискованно: расширение области, неизвестная инфраструктура или действия, вызванные враждебным контентом. Лучше всего, когда вы доверяете общему направлению задачи, но не хотите кликать через каждый шаг
  • Белые списки разрешений: разрешить конкретные инструменты, которые вы знаете, что безопасны, например npm run lint или git commit
  • Sandboxing: включить изоляцию на уровне ОС, которая ограничивает доступ к файловой системе и сети, позволяя Claude работать более свободно в определённых границах
Прочитайте больше о permission modes, permission rules и sandboxing.

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

Скажите Claude Code использовать CLI tools, такие как gh, aws, gcloud и sentry-cli, при взаимодействии с внешними сервисами.
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

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

Установите hooks

Используйте 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

Создайте файлы SKILL.md в .claude/skills/ для предоставления Claude знаний о домене и переиспользуемых рабочих процессов.
Skills расширяют знания Claude информацией, специфичной для вашего проекта, команды или домена. Claude применяет их автоматически, когда они актуальны, или вы можете вызвать их напрямую с помощью /skill-name. Создайте skill, добавив директорию с SKILL.md в .claude/skills/:
.claude/skills/api-conventions/SKILL.md
---
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 также могут определять переиспользуемые рабочие процессы, которые вы вызываете напрямую:
.claude/skills/fix-issue/SKILL.md
---
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

Определите специализированных помощников в .claude/agents/, которых Claude может делегировать для изолированных задач.
Subagents запускаются в своём собственном контексте с собственным набором разрешённых инструментов. Они полезны для задач, которые читают много файлов или нуждаются в специализированном внимании без загромождения вашего основного разговора.
.claude/agents/security-reviewer.md
---
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

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

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

Способ, которым вы общаетесь с Claude Code, значительно влияет на качество результатов.

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

Задавайте Claude вопросы, которые вы задали бы старшему инженеру.
При адаптации к новой кодовой базе используйте Claude Code для обучения и исследования. Вы можете задавать Claude те же вопросы, которые задали бы другому инженеру:
  • Как работает логирование?
  • Как мне создать новую конечную точку API?
  • Что делает async move { ... } на строке 134 файла foo.rs?
  • Какие граничные случаи обрабатывает CustomerOnboardingFlowImpl?
  • Почему этот код вызывает foo() вместо bar() на строке 333?
Использование Claude Code таким образом — это эффективный рабочий процесс адаптации, улучшающий время рамп-апа и снижающий нагрузку на других инженеров. Специальное формирование подсказок не требуется: задавайте вопросы напрямую.

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

Для более крупных функций позвольте Claude взять интервью у вас в первую очередь. Начните с минимальной подсказки и попросите Claude взять интервью у вас, используя инструмент AskUserQuestion.
Claude задаёт вопросы о вещах, которые вы, возможно, не рассмотрели, включая техническую реализацию, UI/UX, граничные случаи и компромиссы.
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, как только заметите, что он идёт не в том направлении.
Лучшие результаты получаются из плотных циклов обратной связи. Хотя Claude иногда решает проблемы идеально с первой попытки, быстрое исправление обычно даёт лучшие решения быстрее.
  • Esc: остановите Claude в середине действия клавишей Esc. Контекст сохраняется, поэтому вы можете перенаправить.
  • Esc + Esc или /rewind: нажмите Esc дважды или запустите /rewind для открытия меню перемотки и восстановления предыдущего разговора и состояния кода, или суммируйте из выбранного сообщения.
  • "Undo that": попросите Claude отменить его изменения.
  • /clear: сбросить контекст между несвязанными задачами. Длинные сеансы с нерелевантным контекстом могут снизить производительность.
Если вы исправили Claude более двух раз на одну и ту же проблему в одном сеансе, контекст загромождён неудачными подходами. Запустите /clear и начните заново с более конкретной подсказкой, которая включает то, что вы узнали. Чистый сеанс с лучшей подсказкой почти всегда превосходит длинный сеанс с накопленными исправлениями.

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

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

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

Делегируйте исследование с помощью "use subagents to investigate X". Они исследуют в отдельном контексте, сохраняя ваш основной разговор чистым для реализации.
Поскольку контекст — это ваше фундаментальное ограничение, 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.
Subagent исследует кодовую базу, читает релевантные файлы и сообщает обратно с выводами, всё без загромождения вашего основного разговора. Вы также можете использовать subagents для проверки после того, как Claude что-то реализует:
use a subagent to review this code for edge cases

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

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

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

Запустите claude --continue для продолжения с того места, где вы остановились, или --resume для выбора из недавних сеансов.
Claude Code сохраняет разговоры локально. Когда задача охватывает несколько сеансов, вам не нужно переобъяснять контекст:
claude --continue    # Resume the most recent conversation
claude --resume      # Select from recent conversations
Используйте /rename для присвоения сеансам описательных имён, таких как "oauth-migration" или "debugging-memory-leak", чтобы вы могли найти их позже. Относитесь к сеансам как к ветвям: разные рабочие потоки могут иметь отдельные, постоянные контексты.

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

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

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

Используйте claude -p "prompt" в CI, pre-commit hooks или скриптах. Добавьте --output-format stream-json для потокового вывода JSON.
С claude -p "your prompt", вы можете запустить Claude неинтерактивно, без сеанса. Неинтерактивный режим — это как вы интегрируете 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

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

Запустите несколько сеансов Claude параллельно для ускорения разработки, запуска изолированных экспериментов или запуска сложных рабочих процессов.
Есть три основных способа запуска параллельных сеансов:
  • Claude Code desktop app: Управляйте несколькими локальными сеансами визуально. Каждый сеанс получает свой собственный изолированный worktree.
  • Claude Code on the web: Запустите на защищённой облачной инфраструктуре Anthropic в изолированных VMs.
  • 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 -p для каждой. Используйте --allowedTools для определения области разрешений для пакетных операций.
Для больших миграций или анализов, вы можете распределить работу через много параллельных вызовов Claude:
1

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

Попросите Claude перечислить все файлы, которые нужно мигрировать (например, list all 2,000 Python files that need migrating)
2

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

for file in $(cat files.txt); do
  claude -p "Migrate $file from React to Vue. 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
Используйте --verbose для отладки во время разработки и отключите его в production.

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

Для непрерывного выполнения с проверками безопасности в фоне используйте auto mode. Модель-классификатор проверяет команды перед их запуском, блокируя расширение области, неизвестную инфраструктуру и действия, вызванные враждебным контентом, позволяя обычной работе продолжаться без подсказок.
claude --permission-mode auto -p "fix all lint errors"
Для неинтерактивных запусков с флагом -p, auto mode прерывает работу, если классификатор повторно блокирует действия, поскольку нет пользователя для отката. См. when auto mode falls back для пороговых значений.

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

Это общие ошибки. Их раннее распознавание экономит время:
  • Сеанс кухонной раковины. Вы начинаете с одной задачи, затем спрашиваете 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: сохранять соглашения проекта и постоянный контекст