newsmode
search
Меню
arrow_back Назад

Best practices for Claude Code - Claude Code Docs

auto_awesomeКраткое саммари

Статья Anthropic собирает лучшие практики работы с Claude Code: дать модели способ верифицировать свой результат, сначала исследовать код и составить план, и только потом писать код, а также передавать конкретный контекст в промптах через файлы (@), изображения, URL и пайпы. Подробно разбирается настройка окружения: эффективный CLAUDE.md (домашний, проектный, локальный, родительские и дочерние каталоги), управление разрешениями (auto-режим, allowlist, sandboxing), CLI-инструменты, MCP-серверы, хуки, skills, кастомные субагенты и плагины. Описаны приёмы сессии: останов клавишей Esc, /rewind для отката, /clear между задачами, агрессивное управление контекстом через /compact и /btw, использование субагентов для расследований и чекпоинтов. Для масштабирования предлагаются неинтерактивный режим (claude -p с JSON и stream-json), worktrees, десктоп-приложение, Claude Code в вебе, команды агентов и fan-out по файлам. Отдельно перечислены типичные провалы: «kitchen sink»-сессии, повторные правки, перегруженный CLAUDE.md, доверие без проверки и бесконечное исследование — с конкретными исправлениями.

Индекс документации. Полный индекс доступен по адресу: https://code.claude.com/docs/llms.txt. Используйте этот файл, чтобы увидеть все доступные страницы, прежде чем углубляться в материал.



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


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


Давайте конкретный контекст в своих промптах

Передавайте насыщенный контент

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


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

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

# Стиль кода - Используйте синтаксис ES-модулей (import/export), а не CommonJS (require) - По возможности применяйте деструктуризацию импортов (например, import { foo } from 'bar') # Рабочий процесс - Обязательно прогоняйте typecheck, когда закончите серию правок кода - Для производительности предпочтительно запускать отдельные тесты, а не весь набор

Общий обзор проекта см. в @README.md, а доступные команды npm — в @package.json. # Дополнительные инструкции - Рабочий процесс Git: @docs/git-instructions.md - Личные переопределения: @~/.claude/my-project-instructions.md

Домашняя папка (~/.claude/CLAUDE.md): применяется ко всем сессиям Claude. Корень проекта (./CLAUDE.md): закоммитьте в git, чтобы делиться с командой. Корень проекта (./CLAUDE.local.md): личные заметки по проекту; добавьте этот файл в .gitignore, чтобы он не попал в командный репозиторий. Родительские каталоги: удобно для монорепозиториев, где автоматически подхватываются и root/CLAUDE.md, и root/foo/CLAUDE.md. Дочерние каталоги: Claude подтягивает дочерние CLAUDE.md по требованию, когда работает с файлами в этих каталогах.

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

Auto-режим: отдельная модель-классификатор анализирует команды и блокирует только то, что выглядит рискованно: расширение границ задачи, неизвестную инфраструктуру или действия, спровоцированные вредоносным контентом. Подходит, когда вы доверяете общему направлению задачи, но не хотите кликать через каждый шаг. Allowlist разрешений: разрешайте конкретные инструменты, которые точно безопасны, например npm run lint или git commit. Sandboxing: включите изоляцию на уровне ОС, ограничивающую доступ к файловой системе и сети, чтобы Claude мог работать свободнее в заданных границах.

Используйте CLI-инструменты

Подключите MCP-серверы

Настройте хуки

Создавайте skills

--- name: api-conventions description: REST API design conventions for our services --- # Соглашения API - Используйте kebab-case в путях URL - Используйте camelCase в JSON-свойствах - Всегда добавляйте пагинацию для эндпоинтов со списками - Версионируйте API в пути URL (/v1/, /v2/)

--- name: fix-issue description: Fix a GitHub issue disable-model-invocation: true --- Проанализируй и исправь GitHub-issue: $ARGUMENTS. 1. Получи детали issue с помощью `gh issue view` 2. Разберись в проблеме, описанной в issue 3. Найди соответствующие файлы в кодовой базе 4. Внеси необходимые изменения для исправления issue 5. Напиши и запусти тесты, чтобы убедиться в работоспособности фикса 6. Убедись, что код проходит линтинг и проверку типов 7. Создай содержательное сообщение коммита 8. Запушь изменения и создай PR

Создавайте кастомных субагентов

--- name: security-reviewer description: Reviews code for security vulnerabilities tools: Read, Grep, Glob, Bash model: opus --- Вы — старший инженер по безопасности. Проверьте код на: - Уязвимости инъекций (SQL, XSS, инъекции команд) - Изъяны в аутентификации и авторизации - Секреты или учётные данные в коде - Небезопасную обработку данных Указывайте конкретные строки и предлагайте исправления.

Устанавливайте плагины


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

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

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

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

Я хочу сделать [краткое описание]. Опроси меня детально с помощью инструмента AskUserQuestion. Расспроси о технической реализации, UI/UX, граничных случаях, опасениях и компромиссах. Не задавай очевидных вопросов, копай в сложные места, которые я мог не учесть. Продолжай интервью, пока не охватим всё, а затем напиши полную спецификацию в SPEC.md.


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

Корректируйте курс рано и часто

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

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

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

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

Используй субагентов, чтобы выяснить, как наша система аутентификации обрабатывает обновление токенов и есть ли у нас существующие OAuth-утилиты, которые мне стоит переиспользовать.

используй субагента, чтобы проверить этот код на граничные случаи

Откатывайтесь по чекпоинтам

Возобновляйте диалоги


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

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

# Разовые запросы claude -p "Explain what this project does" # Структурированный вывод для скриптов claude -p "List all API endpoints" --output-format json # Стриминг для обработки в реальном времени claude -p "Analyze this log file" --output-format stream-json

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

Worktrees: запускайте отдельные сессии CLI в изолированных git-чекаутах, чтобы правки не конфликтовали. Десктоп-приложение: визуально управляйте несколькими локальными сессиями, каждая в своём worktree. Claude Code в вебе: запускайте сессии на облачной инфраструктуре Anthropic в изолированных VM. Команды агентов: автоматическая координация нескольких сессий с общими задачами, обменом сообщениями и тимлидом.

Распараллеливайте работу по файлам

claude -p "<ваш промпт>" --output-format json | your_command

Запускайте автономно в auto-режиме

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


Избегайте типичных провалов

Сессия-«мусорный бак». Вы начинаете с одной задачи, потом спрашиваете Claude о чём-то постороннем, потом возвращаетесь к первой задаче. Контекст забит нерелевантной информацией. Исправление: /clear между несвязанными задачами. Бесконечные правки. Claude сделал что-то не так, вы поправили, он снова ошибся, вы поправили ещё раз. Контекст загрязнён неудачными подходами. Исправление: после двух неудачных коррекций сделайте /clear и напишите более удачный исходный промпт, учитывая то, что узнали. Перегруженный CLAUDE.md. Если ваш CLAUDE.md слишком длинный, Claude игнорирует половину, потому что важные правила тонут в шуме. Исправление: безжалостно урезайте. Если Claude и без инструкции делает что-то правильно, удалите её или превратите в хук. Зазор «доверяй, но проверяй». Claude выдаёт правдоподобную реализацию, которая не обрабатывает граничные случаи. Исправление: всегда обеспечивайте верификацию (тесты, скрипты, скриншоты). Если вы не можете это проверить — не выкатывайте. Бесконечное исследование. Вы просите Claude «исследовать» что-то без чётких рамок. Claude читает сотни файлов, заполняя контекст. Исправление: чётко ограничивайте рамки исследования или используйте субагентов, чтобы изучение не съедало ваш основной контекст.


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

Связанные материалы

Как работает Claude Code: агентский цикл, инструменты и управление контекстом. Расширение Claude Code: skills, хуки, MCP, субагенты и плагины. Типичные рабочие процессы: пошаговые рецепты для отладки, тестирования, PR и не только. CLAUDE.md: храните соглашения проекта и устойчивый контекст.