Промпты для Claude Code — 10 формул, после которых AI перестаёт тупить и начинает кодить
Промпты для Claude Code — 10 формул, после которых AI перестаёт тупить и начинает кодить
Claude Code умеет писать код, рефакторить, дебажить и создавать PR. Но между «умеет» и «делает то, что нужно» стоит один барьер — промпт. Напишешь расплывчато — получишь код, который выглядит рабочим, но разваливается на первом edge case. Напишешь конкретно — получишь результат с первого раза.
TL;DR: 10 конкретных формул промптов с примерами до/после. Ключевое: каждый промпт должен содержать что делать, где именно и как проверить результат. После двух неудачных исправлений —
/clearи новый промпт, а не третья попытка в загрязнённом контексте.
1. Формула «Что + Где + Как проверить»
Главная ошибка — промпт без критерия успеха. Claude выдаёт что-то правдоподобное, ты становишься единственным фидбек-лупом, и каждая ошибка требует твоего внимания.
Плохо:
implement a function that validates email addresses
Хорошо:
write a validateEmail function in src/utils/validation.ts. test cases: user@example.com is true, "invalid" is false, user@.com is false. run the tests after implementing
Три элемента: что (validateEmail), где (src/utils/validation.ts), как проверить (конкретные тест-кейсы + «run the tests»). По документации Anthropic, добавление верификации — самое высокоэффективное действие, которое можно предпринять.
Это работает потому, что Claude получает замкнутый цикл обратной связи: написал код → прогнал тесты → увидел ошибку → исправил. Без «run the tests» ты становишься этим циклом сам.
2. Plan Mode — не давай кодить, пока не увидишь план
Для задач сложнее одного файла — сначала исследование, потом план, потом код. Нажми Shift+Tab для входа в Plan Mode, где Claude читает файлы и отвечает на вопросы, но ничего не меняет.
# В Plan Mode: read /src/auth and understand how we handle sessions and login. I want to add Google OAuth. What files need to change? Create a plan.
Посмотрел план, внёс правки через Ctrl+G (открывает план в редакторе), и только потом:
# В Normal Mode: implement the OAuth flow from your plan. write tests for the callback handler, run the test suite and fix any failures.
Когда пропустить план: если задачу можно описать одним предложением — «исправь опечатку в README», «переименуй переменную». Планирование здесь — лишний overhead.
Когда обязателен: ты не уверен в подходе, правки затронут несколько файлов, или ты незнаком с изменяемым кодом.
3. Интервью-техника — пусть Claude спросит то, о чём ты не подумал
Вместо того чтобы описывать всё самому, отдай инициативу:
I want to build a rate limiter for our API. Interview me in detail using the AskUserQuestion tool. Ask about technical implementation, edge cases, concerns, and tradeoffs. Don't ask obvious questions, dig into the hard parts. Keep interviewing until we've covered everything, then write a complete spec to SPEC.md.
Claude спрашивает про Redis vs in-memory, distributed vs single-node, что делать при crash recovery, нужен ли sliding window или fixed — вещи, которые ты мог не продумать.
После интервью — стартуй новую сессию для реализации. Новая сессия = чистый контекст, полностью сфокусированный на написанном SPEC.md.
4. Ссылайся на файлы через @ вместо описаний
Плохо:
add a calendar widget to the dashboard
Claude угадает структуру, стиль и паттерны. Может угадать правильно. А может нет.
Хорошо:
look at how widgets are implemented on the home page. @src/components/HotDogWidget.php is a good example. follow the pattern to implement a new calendar widget that lets the user select a month and paginate forwards/backwards. build from scratch without libraries other than those already used.
@ — не просто удобство. Он заставляет Claude прочитать файл до начала генерации, а не придумывать по памяти. Помимо @, можно:
- Вставить скриншот — drag & drop картинки прямо в промпт
- Дать URL — Claude сходит и прочитает документацию
- Пайпнуть данные —
cat error.log | claudeотправляет лог прямо в контекст - Указать на git — "look through ExecutionFactory git history and summarize how its API came to be"
5. Before/After в промпте — покажи, как было и как надо
Для UI-изменений особенно мощный приём:
[вставить скриншот текущего состояния] implement this new design. take a screenshot of the result and compare it to the original. list differences and fix them.
Claude делает изменения, сам делает скриншот через Claude in Chrome, сравнивает с оригиналом и итерирует. Ты получаешь результат, визуально проверенный AI.
Для кода — тот же принцип:
users report that login fails after session timeout. check the auth flow in src/auth/, especially token refresh. write a failing test that reproduces the issue, then fix it.
Сначала тест, который падает, потом фикс, тест проходит. Claude сам видит, что проблема решена.
6. Субагенты для исследования — не загрязняй контекст
Контекстное окно — самый важный ресурс. Когда Claude исследует кодовую базу, он читает десятки файлов, и все они оседают в контексте. Субагенты работают в отдельном окне и возвращают только резюме:
use subagents to investigate how our authentication system handles token refresh, and whether we have any existing OAuth utilities I should reuse.
Субагент читает 20 файлов, ты не видишь ни одного из них в своём контексте — только итог.
Субагенты полезны и для верификации после имплементации:
use a subagent to review this code for edge cases
Свежий взгляд — субагент не предвзят в сторону кода, который только что написал основной агент.
7. После двух исправлений — /clear и новый промпт
Самый частый антипаттерн: Claude ошибся, ты поправил, ошибся снова, ты поправил снова — контекст забит неудачными подходами, и качество падает лавинообразно.
Правило: после двух исправлений одной и той же проблемы — /clear и переформулируй промпт, включив то, что узнал:
# Вместо третьей попытки в грязном контексте: /clear # Новый промпт, вобравший опыт провалов: implement rate limiting for /api/upload. use Redis sorted sets, not in-memory counters (they don't work with our multi-instance setup). sliding window of 60 seconds, 100 req limit. write integration test with real Redis, not mocks.
Чистая сессия с точным промптом почти всегда побеждает длинную сессию с накопленными исправлениями.
Другие инструменты управления контекстом:
Esc— остановить Claude на полпути, контекст сохраняетсяEsc + Escили/rewind— откатить и разговор, и код к любому чекпоинту/compact Focus on the API changes— сжать контекст, сохранив нужное/btw— задать быстрый вопрос в оверлее, не загрязняя историю
8. Промпт по формуле «Симптом + Место + Что значит исправлено»
Для багов — конкретный симптом вместо абстрактного «fix the bug»:
Плохо:
the build is failing
Хорошо:
the build fails with error: "Cannot find module '@/utils/auth'" after I renamed the file to auth-helpers.ts. fix all imports and verify the build succeeds. address the root cause, don't suppress the error.
Последняя строчка критична: «address the root cause, don't suppress the error». Без неё Claude может добавить // @ts-ignore и считать задачу решённой.
9. Пусть Claude учит CLI-инструменты сам
Не надо объяснять Claude, как пользоваться инструментом. Скажи ему разобраться:
use 'terraform --help' to learn about Terraform CLI, then use it to plan and apply the infrastructure changes in /infra
Claude исследует --help, понимает флаги, и применяет. Это работает с gh, aws, gcloud, kubectl, sentry-cli — любым CLI с приличным --help.
Для инструментов без хорошего хелпа — дай URL документации:
read https://docs.example.com/api-reference and use their CLI to migrate our data from v1 to v2 format
10. Промпт для параллельной работы — fan-out
Когда нужно сделать одно и то же в сотне файлов:
# Шаг 1: пусть Claude составит список
claude -p "list all Python files that still use the old logging format" \
--output-format json > files.txt
# Шаг 2: прогони параллельно
for file in $(cat files.txt | jq -r '.[]'); do
claude -p "migrate $file to use structlog. return OK or FAIL." \
--allowedTools "Edit,Bash(git commit *)" &
done
claude -p — non-interactive mode для скриптов и пайплайнов. --allowedTools ограничивает, что Claude может делать без присмотра. Протестируй на 2-3 файлах, подправь промпт, потом запусти на всём наборе.
Подводные камни
CLAUDE.md длиннее 300 строк — и Claude начинает игнорировать правила. Это задокументированный баг с десятками issue на GitHub. Официальная рекомендация: «если Claude уже делает что-то правильно без инструкции — удалите инструкцию». Раздутый CLAUDE.md приводит к тому, что важные правила тонут в шуме. Для вещей, которые должны работать всегда — используй hooks вместо инструкций.
Auto-compact может потерять ваши ранние решения. Когда контекст заполняется, Claude сжимает историю автоматически. При этом инструкции из начала разговора могут быть «обобщены» до потери смысла. Решение: добавь в CLAUDE.md строку "When compacting, always preserve the full list of modified files and any test commands" или используй /compact с ручными инструкциями вместо автоматического.
«Suggest» не равно «Do». Claude 4.6 буквален. Если напишешь «can you suggest changes to improve this?» — он предложит изменения в тексте, но не применит. Для действий нужно: "change this function to improve performance" или "make these edits". Формулируй как приказ, не как вопрос.
Субагенты Opus 4.6 могут переусердствовать. По документации Anthropic, Opus 4.6 «имеет сильную склонность к субагентам и может запускать их там, где простой grep был бы быстрее». Если видишь, что Claude создаёт субагент для чтения одного файла — скажи "work directly, don't use subagents for simple tasks".
Альтернативы
- Cursor — если нужен inline autocomplete и работа внутри IDE. Cursor Composer 2 индексирует кодовую базу и подстраивает предложения под твой стиль. Промпты короче, но нет терминального доступа и субагентов. Для fast iteration по одному файлу — быстрее Claude Code, для архитектурных задач — медленнее.
- GitHub Copilot CLI — бесплатный для open-source. Plan mode и субагенты появились в GA-версии (февраль 2026), но лимит в 300 запросов/день и менее мощная модель делают его инструментом для лёгких задач.
- Aider — open-source терминальный агент с идеальной git-интеграцией. Каждое изменение = коммит, любой откат — одна команда. Bring-your-own-key, поэтому подключаешь DeepSeek за $2-5/мес и получаешь рабочий инструмент за копейки. Слабее на сложных задачах, но для рефакторинга и миграций — конкурент.
Вердикт
Из десяти приёмов три дают максимальный эффект: формула «Что + Где + Как проверить», /clear после двух исправлений и субагенты для исследования. Первый убирает 80% ситуаций, когда Claude делает не то. Второй спасает от деградации качества в длинных сессиях. Третий экономит контекст — а контекст в Claude Code дороже, чем кажется.
Остальные семь — ситуативные оптимизации. Plan Mode окупается при multi-file задачах, интервью-техника — при старте новых фич, fan-out — при массовых миграциях. Пробуй все, оставляй те, которые работают для твоего стека.
Как попробовать
- Обнови Claude Code до последней версии:
npm update -g @anthropic-ai/claude-code - Добавь в CLAUDE.md одну строку:
When compacting, always preserve the list of modified files and test commands— это защитит контекст от потери при auto-compact - Попробуй формулу на ближайшей задаче — добавь к своему обычному промпту «run tests after implementing» и сравни результат
- Настрой status line для отслеживания использования контекста — так ты увидишь, когда пора делать
/clear - Прочитай официальный гайд по best practices — он короткий и конкретный