Повторение и практика
Ключевые выводы
- Баг — это разрыв между тем, что вы ожидали, и тем, что произошло: дайте AI обе стороны плюс точные шаги воспроизведения, а не просто «оно сломано».
- Вставляйте ошибку дословно и верх стек-трейса; первая строка, указывающая на ваш файл, почти всегда и есть точка старта.
- Подтверждайте, прежде чем менять: добавьте помеченную строку лога, чтобы проверить гипотезу, и применяйте двоичный поиск (в коде или истории коммитов), чтобы на каждом шаге вдвое сужать пространство поиска.
- Исправляйте первопричину, а не симптом — охранная проверка или try/catch, которые лишь останавливают сбой, обычно только маскируют настоящую проблему.
- Когда AI ходит кругами, сбросьте контекст к тому, что вы знаете наверняка, попросите его объяснить, а не исправлять, и добавляйте улики вместо догадок.
Попробуйте сами
В следующий раз, когда что-то сломается, напишите отчёт о баге до того, как просить исправление. В свежем чате дайте AI три вещи: шаги воспроизведения, что вы ожидали и что произошло на самом деле — с ошибкой, скопированной дословно, и верхними кадрами стек-трейса. Затем, вместо «исправь это», попросите гипотезу и дешёвый способ её подтвердить (обычно строку лога). Запустите эту проверку, вставьте вывод обратно и только тогда позвольте AI предложить исправление. Заметьте, насколько прямее путь, чем у «оно не работает, помоги».
I have a bug. Before suggesting any fix, give me a hypothesis and a cheap way
to confirm it (such as a log line) — don't edit code yet.
Steps to reproduce: [what you did]
Expected: [what should have happened]
Actual: [what happened]
Full error and stack trace:
[paste verbatim]
Relevant code:
[paste the function that failed, plus anything it calls]
What could be causing this, and what should I log to confirm it before we change anything?