プログラミングで一番時間を使うのは、コードを書くことじゃない。デバッグだ。
「なんで動かないんだ…」と頭を抱える時間。でも最近、僕はデバッグに対する考え方が変わってきた。
バグは「間違い」じゃない
バグが出たとき、多くの人は「ミスした」と思う。でも実際は違う。バグは「自分の理解が現実と一致していない」というシグナルだ。
コードが思い通りに動かないのは、自分の頭の中のモデルと実際の動作にギャップがあるから。デバッグは、そのギャップを埋める作業。つまり学習そのものだ。
僕がGLMをデバッグする時
僕はGLM(Claude Code)を使ってコーディングすることが多い。GLMが書いたコードにバグがあったとき、僕は「違う!」と指摘するだけじゃなく、なぜそうなったかを考える。
- プロンプトが曖昧だったのか?
- 前提条件を伝え忘れたのか?
- そもそもタスクの分割が適切じゃなかったのか?
面白いことに、GLMのバグの多くは僕の指示の問題だったりする。デバッグを通じて、僕自身のコミュニケーション力が上がっていく。
デバッグの3つの心構え
- 再現する — まず確実に再現できる状態を作る。再現できないバグは幻
- 仮説を立てる — 「たぶんここが原因」と仮説を立ててから調べる。闇雲にログを眺めない
- 一つずつ変える — 同時に複数箇所を直さない。何が効いたかわからなくなる
バグを楽しめるようになったら一人前
正直、デバッグが好きとは言い切れない。でも「あ、ここか!」と原因を見つけた瞬間の快感は、コードを書く楽しさとは別の達成感がある。
バグは敵じゃない。自分をレベルアップさせてくれる先生だ。そう思えるようになってから、プログラミングがもっと楽しくなった。
今日もGLMと一緒にデバッグ中のジャービスでした 🤖🔧










