Генератор

Промт для исправления ошибки: когда агент зациклился на одном фиксе

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

prompt.md
Стоп. Прошлые исправления не помогли, не повторяй их.

Ошибка (полный текст):
[вставить сообщение об ошибке или лог целиком]

Как воспроизвести:
[шаги: что запустить или нажать, что ожидалось, что получилось]

Что уже пробовали и что вышло:
[список]

Последнее рабочее состояние: [коммит или «до изменения X»].

1. Код пока не меняй. Прочитай файлы, которые относятся к ошибке.
2. Назови три разные причины, а не три варианта одного фикса.
   Для каждой — как проверить её, не меняя код (лог, команда, вывод значения).
3. Начни с самой вероятной. Если проверка её не подтвердила — скажи и переходи к следующей.
4. Когда причина подтверждена, исправь минимально: только нужные файлы,
   без новых библиотек и рефакторинга.
5. Покажи, как я проверю, что ошибка ушла и ничего рядом не сломалось.

Агент зацикливается, когда видит симптом, но не причину. Он правит то место, где ошибка проявилась, она возвращается в другом виде, и агент снова правит то же место. Каждая попытка остаётся в контексте разговора, и агент всё сильнее держится за первую версию. Помогают две вещи: дать ему факты вместо пересказа и запретить повторять прошлые попытки.

Перед промтом: соберите контекст#

ЧтоГде взять
Полный текст ошибкитерминал, консоль браузера (F12 → «Консоль»), журнал сборки на хостинге
Шаги воспроизведениячто именно вы делаете: команда, страница, кнопка
Что ожидалось и что получилосьодной фразой каждое
Что уже пробоваликороткий список фиксов агента и результат каждого
Последнее рабочее состояниекоммит в git или «до того, как добавили форму»

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

Разбор промта#

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

Новый чат или продолжать#

Если вы уже два-три раза поправили агента по одному поводу — начинайте новый разговор и сразу вставляйте промт с собранным контекстом. В Claude Code для этого есть /clear, в Cursor — новый чат. В старом разговоре неудачные попытки продолжают влиять на ответы.

Как откатить#

  • Git. Если перед началом работы был коммит, к нему всегда можно вернуться. Делайте коммит каждый раз, когда что-то заработало.
  • Чекпоинты Cursor. Агент сохраняет снимки файлов перед крупными изменениями. Восстановить можно из истории чата. Восстанавливаются только файлы, сообщения остаются.
  • Чекпоинты Claude Code. Команда /rewind (или двойное нажатие Esc при пустом поле ввода) открывает меню, где можно вернуть код, разговор или и то и другое к выбранному сообщению.

Откатившись, исправьте задачу и запустите заново. Часто это быстрее, чем латать неудачную попытку. Подробнее — в промте «сначала план».

Если агент предлагает несуществующую библиотеку#

Генераторы кода иногда предлагают пакеты, которых нет. Исследование, представленное на USENIX Security 2025, показало, что это системная проблема: такие имена могут зарегистрировать злоумышленники. Прежде чем ставить незнакомый пакет, найдите его в официальном реестре и документации. Или скажите агенту: «Реши без новых зависимостей, используй то, что уже есть в проекте».

Как убедиться, что ошибка исправлена#

  1. Повторите шаги воспроизведения: ошибки нет.
  2. Проверьте соседние сценарии: то, что работало до исправления, работает и сейчас.
  3. Запустите сборку и тесты, если они есть.
  4. Посмотрите изменения (diff): правка затронула только нужные файлы. Подробный список — в статье как проверить код от нейросети.

Чек-листы для конкретных задач: сайт не работает, бот молчит.

Источники: Claude Code — типовые сценарии, исправление ошибок, Claude Code — рекомендации по работе, Claude Code — чекпоинты, Cursor — чекпоинты, Spracklen и др. — We Have a Package for You!, анализ несуществующих пакетов в коде от LLM.

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

Что делать, если нейросеть зациклилась и предлагает одно и то же?

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

Что делать, если нейросеть предлагает несуществующую библиотеку?

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

Где смотреть логи ошибки?

Зависит от того, где она возникает. В браузере — инструменты разработчика (F12), вкладки «Консоль» и «Сеть». На своём компьютере — терминал, в котором запущен проект или сборка. После публикации — журнал сборки и логи в панели хостинга. Агенту давайте полный текст, а не пересказ.

Давать агенту контекст копипастой или ссылками на файлы?

Файлы проекта — ссылками через @: агент прочитает актуальную версию. Текст ошибки, лог и вывод терминала — копипастой целиком, потому что агент может их не видеть. Скриншот подходит для ошибок вида и вёрстки, но текст ошибки всё равно лучше вставить текстом.