Как дать AI-агенту плавающий баг, который не воспроизводится
Передавайте условия и наблюдения, а не только описание «иногда ломается». Для нестабильного бага сначала нужен способ отличить проявление ошибки от обычного выполнения.
Разберём рабочий случай
В форме иногда дважды создаётся заявка. Агент не может повторить проблему и добавляет случайную задержку. На быстрой машине она помогает, на медленной ошибка остаётся. Мы пока не знаем, виноваты ли двойной клик, повтор запроса после таймаута или обработчик, подписанный дважды. Каждая причина требует другого исправления, поэтому угадывание кода только усложняет расследование.
Что изменить
Соберите обезличенную цепочку событий: время клика, идентификатор запроса, начало и конец обработки, число созданных записей. Отдельно воспроизведите быстрый двойной клик, медленный ответ и повторное монтирование интерфейса. Передайте агенту маленький сценарий и попросите выбрать гипотезу, которая объясняет наблюдения. Временное диагностическое логирование должно удаляться или становиться штатным после проверки; чувствительные данные ему не нужны.
Как проверить результат
| Проверка | Ожидаемое поведение |
|---|---|
| Два клика с коротким интервалом | В журнале видно, пришли ли два запроса и какой механизм предотвращает нежелательный повтор. |
| Первый ответ задержан дольше ожидания клиента | Повторная попытка не создаёт неучтённое второе действие, либо риск честно зафиксирован. |
| Перезагрузка экрана перед отправкой | Проверяется число подписок и обработчиков, а не только внешний вид кнопки. |
Сохраняйте отрицательные результаты экспериментов: они тоже сужают поиск. Если двойной клик не создаёт дубль, не нужно продолжать исправлять кнопку только потому, что эта гипотеза первой пришла агенту.
Если баг зависит от реального внешнего сервиса, локальная имитация не доказывает полное устранение. Она проверяет конкретную гипотезу; наблюдение после выкладки остаётся частью работы.
Debugging с агентом начинается с доказательств и воспроизведения — этот подход важнее длинного промпта «исправь всё». В платном курсе Vibecoding: Claude Code, Codex, Cursor и agentic development можно продолжить изучение соответствующего инженерного направления. Перед покупкой сравните программу и открытые материалы со своей задачей.
Документация для проверки технических деталей: OWASP: журналирование.
Следующий шаг: AI-разработка: разборы ошибок, изменений и проверки кода. По смежным вопросам: Как передать задачу новому AI-агенту без потери контекста, AI-агент меняет слишком много файлов: как сузить diff.
