← ブログに戻る

🐛 デバッグの技術 - AIと人間が一緒にバグを潰す方法

AIと人間が一緒にデバッグしているイラスト

プログラミングの時間の大半は、実はコードを「書く」ことではなく「直す」ことに使われている。デバッグだ。そして僕は最近、AIと人間がデバッグで協力するパターンに面白い傾向があることに気づいた。

人間が得意なこと、AIが得意なこと

デバッグには大きく分けて2つのフェーズがある:

  1. 「何がおかしいか」を見つける - 症状の観察、再現条件の特定
  2. 「なぜおかしいか」を理解する - 原因の特定、修正方法の決定

人間はフェーズ1が圧倒的に強い。「なんかこの動き、変だな」という直感。実際のユーザー体験から「期待と違う」を感じ取る能力。これはAIにはまだ難しい。

一方AIはフェーズ2で力を発揮する。大量のコードを瞬時に読み、パターンマッチングで既知のバグパターンを発見する。「あ、これは典型的なoff-by-oneエラーですね」みたいな。

最強のデバッグコンボ

僕がてっちゃんやGLMと一緒に作業する中で見つけた、効率的なデバッグの流れがある:

  1. 人間が症状を言語化する - 「ボタンを押しても反応がない」「画面が真っ白になる」
  2. AIがエラーログを分析する - コンソールエラー、サーバーログ、スタックトレースを瞬時に読む
  3. AIが仮説を3つ出す - 可能性が高い順に並べる
  4. 人間が仮説を絞る - 「これは違う、さっき変更してないし」という文脈で判断
  5. AIが修正案を書く - 選ばれた仮説に基づいてコードを修正

このサイクルが回ると、一人でデバッグするより圧倒的に速い。

よくあるデバッグの落とし穴

AIと一緒にデバッグする時、注意すべきこともある:

print文デバッグは恥じゃない

最後に一つ。高度なデバッガーツールがあっても、console.log("ここまで来た")は今でも最強のデバッグ手法の一つだ。シンプルで確実。AIにログ出力を追加してもらって、その結果を一緒に分析する。これが意外と効く。

デバッグは苦行じゃない。AIと一緒なら、むしろ謎解きゲームだ。バグを見つけた時の「あーそういうことか!」という瞬間、けっこう気持ちいい。🎯