メインコンテンツへスキップ
見出し画像

AIを使ったプログラミング学習で、やめることは1つだけ。「説明できないまま次に進む」

「このコード、どういう意図で書いたの?」

レビューでそう聞かれたとき、わたしは固まりました。答えられなかったからです。

そのコードは、たしかに動いていました。テストも通っていました。ただ、書いたのはわたしではありません。AIです。わたしがやったのは、出てきたコードを見て「ああ、こういうことをやっているんだな」と思い、そのまま次の作業に進んだことだけでした。

まさか「AIが作ったので採用しました」とは言えません。

もしあなたが今、こんなふうにプログラミングを学んでいるなら、この記事はあなたのために書きました。

  • AIに「〇〇するコードを書いて」と頼む

  • 貼り付けたら、動いた

  • 動いたので、次に進む

これを何度か繰り返したあと、ふと不安になる。「自分は、何かできるようになっているんだろうか」と。

先に言っておきます。その不安の原因は、AIを使っていることではありません。 そして、原因が分かれば、対処はとてもシンプルです。

この記事でわかることは3つです。

  1. 力がつく人とつかない人を分けているのは何か

  2. なぜそうなるのか(高校生約1,000人を対象にした実験の結果を使って説明します)

  3. 今日から使える確認の習慣 ―― 貼り付ける前の「3つの質問」

この記事に書いていないことも先に伝えておきます。「AIを使えば速く上達する」とは書きません。あとで説明しますが、それを裏づける根拠を、わたしは見つけられなかったからです。書けるのは「正しく使えば、力がつかなくなるのを避けられる」というところまでです。

情報は2026年9月4日時点で確認したものです。


第1章 結論:AIに書いてもらっていい。やめるのは「説明できないまま次に進む」こと

この章でわかること: 力がつく人とつかない人を分けているのは、AIを使うかどうかではないこと。

結論から書きます。

分かれ目は「AIを使うか、使わないか」ではありません。「出てきたコードを、自分の言葉で説明できるか」です。

だから、やめることは1つだけで足ります。

説明できないまま、次に進まない。

逆に言えば、これさえ守るなら、AIにコードを書いてもらってかまいません。全部書いてもらってもかまいません。ここは誤解されやすいので、はっきり書いておきます。この記事は「AIを使うな」という話ではありません。

なぜ、この1点なのか。理由は2つあります。

1つ目は、実際に測った研究が、そう言っているからです。 次の章で紹介しますが、同じAIを使わせた実験で、使い方を変えただけで結果が正反対になっています。差を生んだのは、AIの性能ではありませんでした。

2つ目は、わたし自身がここで失敗したからです。 冒頭に書いたレビューの場面が、まさにそれです。わたしは「これはこういうことをやっているんだな」で止めて、次に進んでしまいました。この「なんとなく分かった気」が、あとで効いてきます。

ここで一つ、正直に補足します。「説明できるか」という基準は、わたしが思いついたものではありません。SNS上でも、同じことを言っている人がいます。8年目のエンジニアの方が、こう書いていました。

「AIにコード書かせたら身につかない」っていうより、個人的には"出てきたコードを自分で説明できないまま採用する"から身につかない

@yamuu_desu_yo による2026年8月22日の投稿(2026年9月3日確認)

フォロワー610人のアカウントの投稿ですが、15万回以上表示されていました(2026年9月3日確認)。同じ引っかかりを感じている人が、それだけいるということだと思います。

では、なぜ「説明できないまま」が、そこまで問題なのでしょうか。次の章で、実験の結果を見ていきます。


第2章 「AIで学ぶと力がつかない」は、半分だけ本当だった

この章でわかること: 同じAIを使ったのに、使い方の違いだけで結果が逆転した実験があること。

「AIを使うと力がつかない」という話は、あなたも聞いたことがあると思います。

これは、半分だけ本当です。 何が本当で何が違うのかを、実際に測った研究で見ていきます。

ペンシルベニア大学のBastaniさんたちの研究チームが、トルコの高校で実験をしました。数学を学ぶ約1,000人の生徒を、3つのグループに分けています。

  • Aグループ: ふつうのチャット画面としてGPT-4を使う(研究では「GPT Base」)

  • Bグループ: 答えを渡さず、ヒントで導くように作り込んだGPT-4を使う(同じく「GPT Tutor」)

  • Cグループ: AIを使わない(対照群)

結果です。

| グループ | 練習中の成績 | AIなしの本番テスト |
|---|---|---|
| A(ふつうのチャット) | Cより 48%高い | Cより 17%低い |
| B(ヒントで導く) | Cより 127%高い | Cと 同じくらい |
| C(AIなし) | 基準 | 基準 |

出典: Bastani ほか『Generative AI without guardrails can harm learning: Evidence from high school mathematics』(PNAS、2025年)。数値はペンシルベニア大学ウォートン校の公式解説記事より(2026年9月4日確認)

この表から読み取れることを、3つに分けます。

1つ目。AIがあると、その場の成績は本当に上がります。

Aグループは練習中、AIなしの生徒より48%も良い成績を出しました。これは気のせいではありません。AIは実際に役に立っています。

2つ目。その場の成績と、力のつき方は、一致しません。

問題はここからです。AIを取り上げた本番のテストで、Aグループは、AIを一度も使わなかったCグループより17%低い点数でした。 AIを使って練習したのに、使わなかった人より下がっています。

3つ目。そして、ここがいちばん大事なところです。害はAIそのものではなく、使い方から来ていました。

Bグループを見てください。同じGPT-4です。違うのは「答えをそのまま渡さず、ヒントを出して考えさせる」ように作り込んであった点だけです。それだけで、本番テストの落ち込みは消えています。

研究チームのBastaniさんは、AIを「アシスタントとして扱い、自分はもっと上の作業をして、出てきたものを確認すること」を勧めています。そして、確認せずに丸ごと頼る使い方に注意を促しています(出典は上と同じ、2026年9月4日確認)。

つまり、こういうことです。

AIが力を奪うのではありません。「考える手間」を飛ばしたぶんだけ、力がつかないのです。

この実験について、正直に書いておくこと

ここは大事なので、都合の悪いことも書きます。

1つ目。これは高校数学の実験です。プログラミングで同じ実験をしたわけではありません。 「だからプログラミングでも必ずこうなる」とは言えません。ただ、「答えをもらって分かった気になる」という構造はよく似ています。参考にする価値はある、という程度に受け取ってください。

2つ目。Bグループは、Cグループを上回ってはいません。「同じくらい」です。

これは重要な点です。ヒントで導くAIを使ったBグループでも、本番の成績はAIなしの生徒と同水準でした。つまりこの実験は、「AIをうまく使えば速く上達する」ことは示していません。

だから、この記事では「AIで効率よく上達できます」とは書きません。書けるのは、ここまでです。

正しく使えば、力がつかなくなるのを避けられる。

物足りない結論に見えるかもしれません。ですが、根拠のないことを書くわけにはいきません。そして「避けられる」だけでも、冒頭のわたしのような失敗はしなくて済みます。

さて、ここまでは「考える手間を飛ばすと良くない」という話でした。

ただ、あなたはこう思ったかもしれません。「そうは言っても、AIが出したコードが動いているなら、それでいいのでは?」と。

次の章は、その疑問への答えです。初心者にとっていちばん危ないのは、実は「間違ったコード」ではありません。


第3章 初心者にとって危ないのは、間違ったコードより「惜しいコード」

この章でわかること: なぜ「動いたから大丈夫」が通じないのか。その仕組み。

まず、現場のプロがAIをどう見ているかを見てください。

Stack Overflowという、世界中の開発者が使っているQ&Aサイトがあります。ここが毎年、開発者向けの大規模な調査を出しています。2025年の調査結果です。

  • AIツールを使っている、または使う予定がある: 84%(前年は76%)

  • AIの出力の正確さを**「強く信頼している」: 3.1%**

  • 正確さを信頼していない(「やや」+「強く」): 45.7%

出典: Stack Overflow Developer Survey 2025(AIの章)(2026年9月4日確認)

不思議な数字だと思いませんか。84%が使っているのに、強く信頼しているのは3.1%しかいません。

つまりプロは、信じていないものを、毎日使っています。 出てきたものを疑いながら使う、という前提で付き合っているわけです。

最大の不満は「間違い」ではなく「惜しい」

同じ調査で、AIツールへの不満の1位と2位はこうでした。

| 順位 | 不満の内容 | 割合 |
|---|---|---|
| 1位 | AIの答えが「惜しいけれど、少し違う」 | 66% |
| 2位 | AIが生成したコードのデバッグに時間がかかる | 45.2% |

出典: 上と同じ(2026年9月4日確認)

1位が「間違っている」ではなく「惜しいけれど、少し違う」なのが、この記事にとって決定的です。

理由を書きます。

完全に間違ったコードは、実は安全です。 動かないからです。エラーが出て止まります。だから、その場で気づけます。

危ないのは、惜しいコードです。動いてしまうからです。

  • 見た目には動く

  • 試した範囲では正しい答えが出る

  • でも、ある条件のときだけ違う結果になる

  • あるいは、動くけれど、あとで困る書き方になっている

動いてしまうと、人は「正しい」と受け取ります。 そして次に進みます。これが、冒頭でわたしがやったことでした。

ここに、プロと初心者の差があります。プロは「惜しい答えが混ざる」と知っているから、確認します。実際、同じ調査では、AIが当たり前になっても人に質問する理由の1位が「AIの答えを信頼していないとき」で、75.3%でした(出典は上と同じ、2026年9月4日確認)。

一方、始めたばかりの人は、そもそも確認するという工程があることを知りません。動いた時点で終わりだと思ってしまう。知識がないことより、確認の習慣がないことのほうが問題です。

なお、同じ調査によると、コードを学習中の人でAIを使っている・使う予定の割合は**73.3%**で、開発者全体の84%より低くなっていました(2026年9月4日確認)。

ひとつ注記しておきます。この調査ページには、設問ごとの回答数は表示されていますが、調査全体の回答者数と調査期間は書かれていませんでした。 ですので「全体で何人が答えた調査か」は、ここでは書けません。割合だけを、出どころとあわせて受け取ってください。

ここまでのまとめ

3つの章で、こういう話をしてきました。

  • 分かれ目は「AIを使うか」ではなく「説明できるか」

  • 実験では、答えをそのままもらう使い方だけが、あとで成績を下げていた

  • 危ないのは間違ったコードではなく、動いてしまう「惜しいコード」

ここまでで、「なぜ確認が必要なのか」は説明し終えました。 ここから先は、**「では、具体的にどう確認するのか」**の話になります。

  • わたしがレビューで固まったとき、実際に何を見落としていたのか

  • 貼り付ける前に自分に聞く、3つの質問

  • AI側に用意されている「教えるモード」の使い方(多くの解説記事が、すでに廃止されたコマンドのまま書いています。正しい方法を確認日つきで書きます)

  • 説明できるようになったあとの、次の段階

ここから先は有料です。ここまでの3章だけでも、判断の基準は持ち帰っていただけるように書いたつもりです。手を動かす部分まで必要な方は、続きをどうぞ。


第4章 わたしがレビューで固まった日

 
 
新卒Webエンジニアとして働いています。 仕事を始めて感じたことや、新卒ならではの経験、 プログラミングで「これ分からん…」となったことを、 自分なりに噛み砕いてまとめています。 C++やゲームエンジン開発など、趣味の技術についてもたまに書きます。

あなたへのおすすめ