おさらいと練習
要点
- バグとは、期待したことと実際に起きたことのあいだのギャップです — AIには両側と正確な再現手順を渡しましょう。決して「動かない」だけで済ませないこと。
- エラーは一字一句そのまま貼り付け、スタックトレースの先頭も一緒に渡します。あなたのファイルを指す最初の行が、ほぼ常に出発点です。
- 変える前に確認しましょう: 仮説を検証するラベル付きのログを1行追加し、(コードまたはコミット履歴で)二分探索して各ステップで探索範囲を半分に減らします。
- 症状ではなく根本原因を直しましょう — クラッシュを止めるだけのガードやtry/catchは、たいてい本当の問題を覆い隠します。
- AIが堂々巡りになったら、確実に分かっていることへコンテキストをリセットし、直すのではなく説明するよう求め、推測ではなく証拠を足しましょう。
やってみよう
次に何かが壊れたら、修正を頼む前にバグレポートを書きましょう。新しいチャットでAIに3つを渡します: 再現手順、期待したこと、そして実際に起きたこと — エラーは一字一句コピーし、スタックトレースの先頭フレームを含めて。それから「直して」ではなく、仮説とそれを安く確認する方法(たいていはログ1行)を求めます。その確認を実行して出力を貼り戻し、そのうえで初めて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?