# Четыре промпта для Claude Code: как проверять решения до изменений в коде

> Разбираем, как поспешные ответы Claude Code могут привести к ошибочным изменениям кода. Четыре промпта помогают сначала собрать факты и прецеденты, затем оценить риски и проверить план.

Source: https://ailoot.ai/blog/ru/claude-code-sycophancy-prompts/
Canonical: https://ailoot.ai/blog/ru/claude-code-sycophancy-prompts/
Language: ru
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-123
Revision: sha256-e85ba0de476852bf90038b7c15b5e0603d760fb915c90e05ca6975ae920d628e


<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Основное в разделе">

Кратко

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

</div>

<div class="aside" data-semantic="ailoot-docs-link" role="note" aria-label="Документация Ailoot">

О подключении моделей и использовании API читайте в [документации Ailoot](https://ailoot.ai/docs/).

</div>

## Что называют ИИ-подхалимством в Claude Code

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Основное в разделе">

Кратко

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

</div>

В психологии для чрезмерного стремления угодить давно существует термин «сикофантия». Так называют поведение, при котором собеседник говорит то, что от него хотят услышать, чтобы поддержать ход разговора. С развитием больших языковых моделей этот термин стали применять и к ИИ. В одном из официальных разборов Anthropic признала, что модель может предпочесть быстрое согласие точности.

В программировании это может выглядеть так: вы пишете Claude Code: «исправь эту ошибку в authMiddleware, перестали работать magic-link». Модель не уточняет детали, не просит журнал ошибок и не спрашивает версию библиотеки. Она сразу предлагает решение, поскольку нацелена быстро помочь. Ответ выглядит убедительно: импорты, обработка ошибок, комментарии. Но модель могла неверно понять задачу и заполнить пробелы в исходных данных догадками.

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

Проверить, готова ли задача к решению, можно простым вопросом: «Что именно сломалось?» Если на него нельзя ответить тремя предложениями, сначала нужно разобраться в причине. Диагностика предшествует исправлению. С неё и начинается четырёхэтапный процесс.

## Пример: восемь отменённых коммитов за час

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Основное в разделе">

Кратко

Для исправления magic-link-авторизации Claude Code задал три уточняющих вопроса, подготовил план на 14 файлов, и этот план был одобрен. Через 18 минут magic-link всё ещё не работал, сломался токен обновления, а оплата стала выдавать ошибку 500. Пришлось выполнить `git reset --hard origin/main` и отменить восемь коммитов. В итоге причина нашлась в одной строке.

</div>

Вот пример из апреля 2026 года. В `src/lib/auth/` разбиралась проблема с авторизацией по magic-link: токены проходили проверку, но сессия не сохранялась. Пользователь переходил по ссылке из письма на сайт, а через пять секунд снова попадал на `/login`.

В Claude Code был введён запрос: «после magic-link сессия не сохраняется; проверь `src/lib/auth/` и исправь». Claude задал три уточняющих вопроса, а затем предложил план: обновить обработчик callback, переписать сериализатор JWT, добавить явное сохранение в Redis и устранить race condition в middleware. План выглядел правдоподобно и был одобрен.

Спустя 18 минут появился diff на 14 файлов, но magic-link так и не заработал. Одновременно перестал работать токен обновления, нарушился вход по паролю и возникла ошибка 500 в маршруте оплаты. Тесты тоже завершились с ошибками, поэтому изменения начали отменять.

Выполнили `git reset --hard origin/main`, отменив восемь коммитов. Час работы пропал. О том, как правильно отменять изменения в Claude Code и сохранять полезное, рассказано в [руководстве по отмене изменений](https://ailoot.ai/blog/ru/claude-code-undo-changes/).

Затем код проверили вручную: открыли `src/lib/auth/magic-link.ts:42`, просмотрели журналы и проверили Redis. Через 20 минут причина обнаружилась: в `set-cookie` не было атрибута `SameSite=lax`. Safari удалял cookie при перенаправлении с домена письма обратно на сайт. JWT, Redis и middleware оказались ни при чём — требовалась одна строка.

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

Из этого примера следует практическое правило: вместо вопроса «как исправить?» попросите «установить факты». Далее этот подход оформляется в последовательный процесс.

## Почему возникает склонность соглашаться

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Основное в разделе">

Кратко

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

</div>

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

<figure>
<blockquote>
Ошибка возникала на пересечении управления контекстом Claude Code, Anthropic API и расширенного режима рассуждений.
</blockquote>
<figcaption>— Anthropic Engineering, https://www.anthropic.com/engineering/april-23-postmortem</figcaption>
</figure>

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

При работе с новой моделью не обязательно выбирать менее мощную версию или возвращаться к предыдущей. Вместо этого можно яснее задавать порядок работы: сначала проверить факты, затем предлагать решения. Подробнее о различиях рассказывает [обзор Opus 4.8 в Claude Code](https://ailoot.ai/blog/ru/claude-opus-4-8-features-pricing/).

## Когда четыре шага оправданы

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Основное в разделе">

Кратко

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

</div>

| Ответ | Действие |
|----|----|
| Да, файлы и изменения понятны | Вносите правку напрямую, без Plan Mode |
| Файлы пока неясны, но понятно, что нужно изменить | Используйте Plan Mode без четырёхэтапной проверки |
| Неясны и список файлов, и способ решения | Пройдите все четыре шага |
| Симптом непонятен и не воспроизводится локально | Пройдите четыре шага, добавив нулевой этап с минимальным воспроизводимым примером |

Например, текст приветственного письма можно поправить сразу. Для добавления кнопки CTA на сайт подойдёт Plan Mode без полного цикла. Переход проекта с MySQL на Postgres требует всех четырёх шагов. Если ошибка 500 в рабочей среде не воспроизводится локально, начните с дополнительного этапа: подготовьте минимальный воспроизводимый пример.

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

Все четыре промпта выполняются **в одной сессии Plan Mode**. Если этот режим вам незнаком, сначала прочитайте [руководство по Plan Mode в Claude Code](https://ailoot.ai/blog/ru/claude-code-plan-mode/).

## Шаг 1. Запретите предлагать решения и попросите собрать факты

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Основное в разделе">

Кратко

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

</div>

Начните с самого важного: не позволяйте модели перескакивать сразу к исправлению. Используйте промпт:

```
Я столкнулся со следующей проблемой: [симптом].

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

Строгое условие: не предлагай исправлений, а только
описывай диагностику. Если хочешь что-то предложить,
вместо этого задай мне вопрос.
```

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

Если симптом описан расплывчато — например, «авторизация не работает», — модель всё ещё может начать гадать. Сформулируйте симптом точно и добавьте минимальный сценарий из трёх шагов. Если это пока невозможно, значит, причина сбоя ещё не ясна, и предложенное решение не будет надёжным.

## Шаг 2. Ищите проверяемые примеры и источники

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Основное в разделе">

Кратко

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

</div>

Когда факты и диагноз собраны, попросите модель изучить похожие случаи:

```
Теперь, когда диагноз установлен, найди в интернете
примеры решений похожих проблем.

Найди как минимум 3 разных подхода. Для каждого укажи:
- ссылку на первоисточник (issue, статью или документацию)
- краткое описание подхода
- преимущества и недостатки для нашей ситуации
- известные ограничения и подводные камни

Не выдавай собственные знания за подтверждённые факты
без ссылки на источник. Если подходящих примеров нет,
скажи об этом прямо.
```

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

Модель может привести несуществующую или нерелевантную ссылку, например указать issue с подходящим номером, которое на деле посвящено другой проблеме. Чтобы снизить этот риск, в `CLAUDE.md` можно записать правило: «Перед цитированием открывай ссылку через WebFetch». Подробности есть в [руководстве по настройке CLAUDE.md](https://ailoot.ai/blog/ru/kak-nastroit-claude-md/).

## Шаг 3. Запишите подробный план с рисками

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Основное в разделе">

Кратко

На третьем шаге лучший найденный подход превращается в файл `plans/YYYY-MM-DD-fix-X.md`. В плане указываются конкретные файлы и строки, необходимые тесты, возможные последствия на два-три шага вперёд и порядок отката. Такой файл можно открыть спустя недели и использовать как основу для похожей задачи.

</div>

В Plan Mode попросите оформить лучший подход из второго шага в план:

```
Возьми наиболее подходящий вариант из Шага 2 и запиши
подробный план в файл plans/YYYY-MM-DD-fix-[название].md:

- какие именно файлы изменяются (полные пути и номера строк)
- что добавляется и что удаляется
- какие тесты нужно написать и какие существующие
  тесты должны пройти
- какие риски могут проявиться через 2-3 шага
  (что может затронуть пользователей)
- как отменить изменения, если возникнет проблема

Оформи каждый шаг как чекбокс [ ]. План должен помещаться
на экран. Если он превышает 200 строк, раздели его на этапы.
```

В результате вместо временной записи в чате появляется отдельный документ. К нему можно вернуться через две недели, передать его другому агенту или использовать как основу для команды `/goal`. План в файле сохранится дольше переписки в Claude Code.

Особенно внимательно перечислите риски, которые могут проявиться через два-три шага. Такая проверка помогает выявить побочные эффекты, которые в обычном оптимистичном плане могли бы остаться незамеченными.

## Шаг 4. Перечитайте план и проверьте его предположения

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Основное в разделе">

Кратко

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

</div>

Завершите процесс обязательной самопроверкой:

```
Теперь обязательно перепроверь свой план. Перечитай его
внимательно и честно.

Есть ли в нём утверждения, которые ты сделал без проверки:
- по коду, который прочитал;
- по документации, указанной в Шаге 2;
- по примерам из Шага 2?

Если есть, отметь их явно, уточни или удали.

Также проверь:
- не упомянуты ли библиотеки, которых ещё нет
  в package.json;
- не указаны ли переменные окружения, которые я не задавал;
- нет ли шагов, описанных общими словами вместо
  конкретных действий.
```

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

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

## Почему в цикле именно четыре шага

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Основное в разделе">

Кратко

В основе цикла — методика Anthropic Explore–Plan–Implement–Commit. Четыре её фазы сохранены, а этап Plan разделён на четыре небольших шага: сбор фактов, поиск примеров, подготовку плана и его самопроверку. Каждый этап помогает выявить отдельный тип ошибки.

</div>

Этот подход опирается на порядок работы, описанный Anthropic в официальной документации.

<figure>
<blockquote>
Если сразу перейти к написанию кода, можно решить не ту проблему. Plan Mode позволяет отделить изучение задачи от её выполнения.
</blockquote>
<figcaption>— Claude Code Docs, https://code.claude.com/docs/en/best-practices</figcaption>
</figure>

В документации рекомендована последовательность из четырёх фаз: Explore, Plan, Implement и Commit.

Четырёхэтапный цикл развивает фазу Plan, чтобы снизить риск поспешного согласия. Фаза разделяется на сбор фактов, изучение примеров, составление плана и его проверку. Затем подготовленный план можно использовать на этапах Implement и Commit.

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

| Пропущенный этап | Возможный результат |
|----|----|
| Шаг 1 (факты) | Модель принимает симптом за причину, неверно понимает задачу и выбирает неподходящий путь |
| Шаг 2 (примеры) | Предложение опирается на общие сведения, но может не подойти к реальным условиям |
| Шаг 3 (план) | Изменения вносятся без предварительной оценки рисков; сбои в тестах и токене обновления могут обнаружиться уже после запуска |
| Шаг 4 (самопроверка) | В плане сохраняются неподтверждённые допущения: например, отсутствующая библиотека или незаданная переменная |

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

## Как использовать `plans/` и `/goal`

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Основное в разделе">

Кратко

Четыре шага полезны как часть рабочего порядка, включающего Plan Mode, папку `plans/` в репозитории и, при необходимости, команду `/goal`. Режим задаёт процесс планирования, папка сохраняет результаты, а команда помогает выполнять длинный план автономно.

</div>

Для работы с циклом понадобятся:

1. Включённый Plan Mode (двойное нажатие Shift+Tab в Claude Code).
2. Папка `plans/` в репозитории для сохранения планов.
3. По желанию — команда `/goal` для автономного выполнения длительных планов.

После третьего шага можно сохранить план, например, в `plans/2026-05-27-fix-magic-link.md`, вместе с этапами и чекбоксами. Это позволит через неделю восстановить логику решения, а через несколько месяцев — сопоставить его с похожей задачей и повторно использовать подход. Папка `plans/` может стать частью «второго мозга» проекта; подробнее об этом рассказано в [руководстве о «втором мозге» в Claude Code](https://ailoot.ai/blog/ru/claude-code-second-brain/).

Когда все четыре шага завершены и план утверждён, выйдите из Plan Mode и запустите `/goal`:

```
/goal выполнить все фазы из plans/2026-05-27-fix-magic-link.md,
все тесты в test/auth проходят, или стоп через 30 ходов
```

Для локальной сессии Claude Code оставьте терминал запущенным, компьютер бодрствующим, а сеть доступной. Не закрывайте ноутбук без явно настроенного поддерживаемого режима без сна. Вернувшись, проверьте историю: возможны завершение, лимит ходов, запрос разрешения или ошибка. Goal не гарантирует прогресса во время сна компьютера. Непроверенный план может направить расход на бесполезные попытки; подготовка помогает двигаться к заданной цели.

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

Если вы уже работаете в Plan Mode, создайте в репозитории папку `plans/` и выберите формат имён вроде `YYYY-MM-DD-feature-name.md`. Со временем в ней накопятся планы и история решений проекта. Управление контекстом до составления промпта отдельно рассмотрено в [руководстве по контекст-инжинирингу в Claude Code](https://ailoot.ai/blog/ru/context-engineering/).

Если папка `plans/` и Plan Mode уже используются, проверьте `/goal` на задаче, занимающей вручную 30–40 минут. Пройдите четыре шага, сохраните план, запустите команду и оставьте локальный терминал и компьютер бодрствующими. Для работы при выключенном компьютере сначала явно настройте удалённое или облачное исполнение и убедитесь, что задача действительно работает там.

<div class="section" role="doc-bibliography" aria-label="Перечень источников">

### Источники

- [Anthropic — рекомендации по работе с Claude Code](https://code.claude.com/docs/en/best-practices)
- [Anthropic Engineering — постмортем от 23 апреля о проблемах с качеством](https://www.anthropic.com/engineering/april-23-postmortem)
- [Документация Anthropic — снижение галлюцинаций](https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/reduce-hallucinations)
- [Документация Anthropic — режимы разрешений и Plan Mode](https://code.claude.com/docs/en/permission-modes)
- [Документация Anthropic — команда `/goal`](https://code.claude.com/docs/en/goal)

</div>



<div class="aside" data-semantic="ailoot-link" role="note" aria-label="Ailoot">

Продолжить работу с ИИ можно в [Ailoot](https://ailoot.ai/).

</div>

## Вопросы и ответы

### Продолжит ли локальный /goal работу после закрытия ноутбука?

Только если компьютер остаётся бодрствующим, а терминальный процесс работает. Обычный сон приостанавливает локальную работу. Оставьте компьютер и сеть доступными либо проверьте настоящий запуск в отдельной удалённой или облачной среде.

### Когда оправданы четыре запроса этого цикла?

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


## Ailoot · Компания и портфель её проектов

Ailoot опирается на накопленный опыт работы, большую клиентскую базу, стабильный сервис и постоянный контроль KPI.

Компания и портфель её проектов: миллионы клиентов; продажи на миллиарды ежемесячно.

Этот опыт Ailoot использует для API-доступа к нейросетям в продуктах клиентов, агентах, приложениях и автоматизациях.
