マガジン

AIにコードの説明を書かせて自分が理解する学習法

遊びをつくる

執筆にClaudeを使用しています。

既存の木製ビー玉コースを保ちながら、一つの青い橋を慎重に足す手元
記事のテーマをもとに制作したAI生成イラスト。

AIが生成したコードをそのまま貼り付けて動かしているうちは、次のゲームを作るたびに同じ質問を繰り返す羽目になります。「なぜこう書くのか」が腑に落ちていないからです。この記事では、AIに「コードを書かせる」のではなく「コードを説明させる」という使い方を具体的に解説します。 説明を読むだけでなく、説明の内容を自分の言葉で確認するまでを一連の流れとして行うことで、同じパターンが出てきたときに自力で対処できるようになります。プログラミングの教本を読むよりも状況に即した説明が得られるのが、この方法の実用的な強みです。 ゲームを作りたい人がAIと作業するときに生まれやすい「動いているけど意味がわからない」という状態を解消することが、この記事のゴールです。

この記事の目次
  1. なぜ「説明させる」のか
  2. 説明を引き出すプロンプトの型
  3. 説明を受けたあとに自分でやること
  4. 詰まりやすい場面と対処
  5. この方法を続けるための判断基準
  6. 次の行動

なぜ「説明させる」のか

AIにコードを書かせると、正しく動くものが出てきます。ただし、そのコードの中にある判断——なぜこの関数を使うのか、なぜここでループするのか——は出力結果には含まれていません。

人間がコードを読んで理解するときは、文法の知識と「こういう場面ではこう書く」という経験則の両方が必要です。AIは後者を大量に持っているので、「この行は何をしているか」「なぜこう書くのが一般的か」をその場で聞けば、経験則ごと教えてもらえます。読んでいる本には載っていない「なぜ」を即座に補えるのが、このやり方の核心です。

説明を引き出すプロンプトの型

AIにコードを説明させるとき、「このコードを説明して」とだけ頼むと、コメントを付けただけの返答が来ることがあります。自分が知りたい粒度の説明を得るには、質問の型を使い分けることが重要です。

行単位で聞く型

次の1行が何をしているか、JavaScriptを知らない人にもわかるように説明してください。
[コード1行を貼る]

この型は、見慣れない記法や短い式が出てきたときに使います。たとえば canvas.getContext('2d') の意味が分からないときに使うと、「キャンバス要素に対して2D描画の命令を受け付ける準備をする」という機能の説明と、「なぜgetContextという名前か」という背景まで返ってきます。

意図を聞く型

次のコードは何のために書かれているか、目的を1〜2文で教えてください。
[コードのブロックを貼る]

この型はまとまったロジックの役割を把握したいときに向いています。処理の詳細より「このブロックがゲーム全体の中でどう機能しているか」を先に知りたい場面で使います。

別の書き方を聞く型

このコードを別の書き方にするとしたら、どんな選択肢がありますか。それぞれの長所と短所も教えてください。
[コードを貼る]

同じ結果を得る書き方が複数あることを知ると、「この場面ではなぜこちらを選ぶのか」という判断基準が身につきます。たとえばfor文とforEachの違い、setTimeout と requestAnimationFrame の違いといった選択肢を比べることで、コードを読むときの解像度が上がります。

失敗例を聞く型

このコードはどんなミスをすると動かなくなりますか。よくある間違いを教えてください。
[コードを貼る]

これは理解度を確認するのに特に有効です。どこが壊れやすいかを知っていると、自分でデバッグするときに当たりをつけやすくなります。

説明を受けたあとに自分でやること

AIの説明を読んで「なるほど」と思った時点では、まだ理解は定着していません。次のステップを踏むことで、「読んだだけ」から「使えるようになった」へ移行できます。

1. 自分の言葉で言い直す

AIの説明を読み終えたら、その内容を自分の言葉でチャットに入力してみます。「つまり、この行は〇〇するために△△という仕組みを使っている、ということですか?」と確認すると、理解が正しいかどうかをAIが即座に返してくれます。間違えていれば訂正が来るので、誤解のまま進むことを防げます。

2. 小さく書き換えて動かす

説明を受けたコードの数値や文字列を少し変えて、結果がどう変わるか確認します。たとえばキャラクターの移動速度を決めている変数の値を変えて再実行するだけでも、「この変数がここに効いているのか」という手応えが得られます。これは説明だけでは届かない「動きの感覚」を補うものです。

3. 次のコードを書く前に予想する

同じパターンが次に出てきたとき、「たぶんこういう意味だろう」と予想してからAIに確認する習慣をつけます。最初から答えを求めると理解が深まりにくいですが、予想してから答え合わせをすると記憶への定着が違います。完全に合っていなくてもよく、ずれている部分に気づくことが学習になります。

詰まりやすい場面と対処

説明が長すぎてどこを読めばいいか分からない

「3行以内で説明してください」や「初心者向けに短く」という条件を加えると、分量を絞った返答が来ます。逆に短すぎて意味が取れないときは「もう少し具体的に」と追加で聞けば掘り下げられます。

説明を読んでも用語が分からない

説明の中に知らない単語が出てきたら、その場でその単語だけを抜き出して質問します。「コールバックとは何ですか」「スコープという言葉の意味を教えてください」のように、一問一答で潰していくと芋づる式に理解が広がります。

同じことを何度も聞いている気がする

これは定着していないサインです。説明を聞いたあとに自分の言葉で言い直す手順(前述)が抜けている可能性が高いです。加えて、理解した内容をメモファイルに「自分の言葉で」書き残しておくと、次に同じパターンが出たときに参照できます。AIへの質問とメモへの書き出しを組み合わせると、繰り返しの質問が減っていきます。

コード全体が大きくなってきて説明しづらい

対象を絞ることが重要です。ファイル全体を貼って「説明して」と頼むより、気になるひとつの関数だけを切り出して質問する方が的確な説明が返ってきます。理解できていないブロックを一つずつ解消していく形で進めると、大きなコードも少しずつ把握できます。

この方法を続けるための判断基準

説明させる学習を続ける意味があるかを判断するシンプルな基準は、「3か月前に分からなかったコードが今は読めるか」です。新しい機能を追加するたびにAIに頼む回数が増えていくのではなく、同じ種類の問題は自分で解けるようになっているかが確認のポイントです。

AIを使って開発する以上、完全に「頼らない」状態を目指す必要はありません。ただし、説明を受けたものを自分の中に積み上げていくことで、AIへの質問の質が上がります。「このコードを書いて」という依頼から「この部分の設計についてどちらが良いか」という相談ができるようになると、作れるゲームの幅が広がります。

次の行動

まず手元にある動いているゲームのコードから、意味が分かっていない1行を選んで「この行が何をしているか初心者向けに説明してください」とAIに聞いてみてください。説明を読んだら、その内容を自分の言葉でAIに返して合っているか確認する、という2ステップを一度試すだけで感覚がつかめます。理解が積み上がってきたら、アソバースにゲームを投稿して実際のプレイヤーの反応を確かめる次のステップに進めます。