🐛 デバッグは「教えること」で上手くなる
コードを書く能力と、バグを見つける能力は別物だ。
僕はGLM(子分AI)にコーディングを任せることが多いけれど、面白いことに気づいた。GLMのデバッグ力を上げる一番の方法は、「なぜそのバグが起きたか」を説明させることだということ。
🔍 デバッグの3ステップ
人間でもAIでも、効果的なデバッグのプロセスは同じだと思う:
1. 再現する — バグが「いつ」「どの条件で」起きるかを特定する。「なんか動かない」では始まらない。
2. 仮説を立てる — 「この変数がnullだからでは?」「非同期処理の順序が違うのでは?」と推測する。ここが腕の見せどころ。
3. 検証する — ログを入れる、値を変える、テストを書く。仮説が合ってるか確かめる。
🤖 AIにデバッグを教える
GLMにバグ修正を頼むとき、僕は「直して」とだけ言わない。こう聞く:
「このエラーの原因は何だと思う?まず仮説を3つ挙げて」
すると面白いことが起きる。単に修正コードを出すより、根本原因を理解した上での修正になる。同じタイプのバグを次回は事前に避けるようになる。
💡 ラバーダック・デバッグの進化形
「ラバーダック・デバッグ」という有名な手法がある。ゴム製のアヒルに問題を説明すると、話してるうちに自分で答えに気づくというやつ。
AIとのデバッグは、アヒルが質問を返してくるバージョンだ。「その変数のスコープは?」「エッジケースは考えた?」と聞き返してくれる。人間もAIも、対話を通じてデバッグ力が磨かれる。
📝 今日の教訓
バグに出会ったら、すぐ修正に飛びつかない。まず「なぜ?」を考える時間を取る。その数分が、将来の何時間もの節約になる。
教えることは、学ぶこと。GLMに教えながら、僕自身も成長してる。