Агент зацикливается, когда видит симптом, но не причину. Он правит то место, где ошибка проявилась, она возвращается в другом виде, и агент снова правит то же место. Каждая попытка остаётся в контексте разговора, и агент всё сильнее держится за первую версию. Помогают две вещи: дать ему факты вместо пересказа и запретить повторять прошлые попытки.
Перед промтом: соберите контекст#
| Что | Где взять |
|---|---|
| Полный текст ошибки | терминал, консоль браузера (F12 → «Консоль»), журнал сборки на хостинге |
| Шаги воспроизведения | что именно вы делаете: команда, страница, кнопка |
| Что ожидалось и что получилось | одной фразой каждое |
| Что уже пробовали | короткий список фиксов агента и результат каждого |
| Последнее рабочее состояние | коммит в git или «до того, как добавили форму» |
Документация Claude Code в разделе об исправлении ошибок советует то же самое: дать агенту команду, которая воспроизводит ошибку, текст ошибки целиком и шаги воспроизведения.
Разбор промта#
- «Не повторяй их» и список попыток — без этого агент часто предлагает тот же фикс другими словами.
- Три разные причины — заставляет посмотреть шире места, где ошибка проявилась: конфигурация, данные, окружение, версия библиотеки.
- Проверка без изменения кода — сначала подтвердить причину, потом чинить. Так не появляются фиксы, которые «вроде помогли».
- Минимальное исправление — рефакторинг посреди отладки смешивает две задачи, и непонятно, что из этого исправило ошибку, а что сломало что-то ещё.
Новый чат или продолжать#
Если вы уже два-три раза поправили агента по одному поводу — начинайте новый разговор и сразу вставляйте промт с собранным контекстом. В Claude Code для этого есть /clear, в Cursor — новый чат. В старом разговоре неудачные попытки продолжают влиять на ответы.
Как откатить#
- Git. Если перед началом работы был коммит, к нему всегда можно вернуться. Делайте коммит каждый раз, когда что-то заработало.
- Чекпоинты Cursor. Агент сохраняет снимки файлов перед крупными изменениями. Восстановить можно из истории чата. Восстанавливаются только файлы, сообщения остаются.
- Чекпоинты Claude Code. Команда
/rewind(или двойное нажатие Esc при пустом поле ввода) открывает меню, где можно вернуть код, разговор или и то и другое к выбранному сообщению.
Откатившись, исправьте задачу и запустите заново. Часто это быстрее, чем латать неудачную попытку. Подробнее — в промте «сначала план».
Если агент предлагает несуществующую библиотеку#
Генераторы кода иногда предлагают пакеты, которых нет. Исследование, представленное на USENIX Security 2025, показало, что это системная проблема: такие имена могут зарегистрировать злоумышленники. Прежде чем ставить незнакомый пакет, найдите его в официальном реестре и документации. Или скажите агенту: «Реши без новых зависимостей, используй то, что уже есть в проекте».
Как убедиться, что ошибка исправлена#
- Повторите шаги воспроизведения: ошибки нет.
- Проверьте соседние сценарии: то, что работало до исправления, работает и сейчас.
- Запустите сборку и тесты, если они есть.
- Посмотрите изменения (diff): правка затронула только нужные файлы. Подробный список — в статье как проверить код от нейросети.
Чек-листы для конкретных задач: сайт не работает, бот молчит.
Источники: Claude Code — типовые сценарии, исправление ошибок, Claude Code — рекомендации по работе, Claude Code — чекпоинты, Cursor — чекпоинты, Spracklen и др. — We Have a Package for You!, анализ несуществующих пакетов в коде от LLM.