
AIを使ったプログラミング学習で、やめることは1つだけ。「説明できないまま次に進む」
「このコード、どういう意図で書いたの?」
レビューでそう聞かれたとき、わたしは固まりました。答えられなかったからです。
そのコードは、たしかに動いていました。テストも通っていました。ただ、書いたのはわたしではありません。AIです。わたしがやったのは、出てきたコードを見て「ああ、こういうことをやっているんだな」と思い、そのまま次の作業に進んだことだけでした。
まさか「AIが作ったので採用しました」とは言えません。
もしあなたが今、こんなふうにプログラミングを学んでいるなら、この記事はあなたのために書きました。
AIに「〇〇するコードを書いて」と頼む
貼り付けたら、動いた
動いたので、次に進む
これを何度か繰り返したあと、ふと不安になる。「自分は、何かできるようになっているんだろうか」と。
先に言っておきます。その不安の原因は、AIを使っていることではありません。 そして、原因が分かれば、対処はとてもシンプルです。
この記事でわかることは3つです。
力がつく人とつかない人を分けているのは何か
なぜそうなるのか(高校生約1,000人を対象にした実験の結果を使って説明します)
今日から使える確認の習慣 ―― 貼り付ける前の「3つの質問」
この記事に書いていないことも先に伝えておきます。「AIを使えば速く上達する」とは書きません。あとで説明しますが、それを裏づける根拠を、わたしは見つけられなかったからです。書けるのは「正しく使えば、力がつかなくなるのを避けられる」というところまでです。
情報は2026年9月4日時点で確認したものです。
第1章 結論:AIに書いてもらっていい。やめるのは「説明できないまま次に進む」こと
この章でわかること: 力がつく人とつかない人を分けているのは、AIを使うかどうかではないこと。
結論から書きます。
分かれ目は「AIを使うか、使わないか」ではありません。「出てきたコードを、自分の言葉で説明できるか」です。
だから、やめることは1つだけで足ります。
説明できないまま、次に進まない。
逆に言えば、これさえ守るなら、AIにコードを書いてもらってかまいません。全部書いてもらってもかまいません。ここは誤解されやすいので、はっきり書いておきます。この記事は「AIを使うな」という話ではありません。
なぜ、この1点なのか。理由は2つあります。
1つ目は、実際に測った研究が、そう言っているからです。 次の章で紹介しますが、同じAIを使わせた実験で、使い方を変えただけで結果が正反対になっています。差を生んだのは、AIの性能ではありませんでした。
2つ目は、わたし自身がここで失敗したからです。 冒頭に書いたレビューの場面が、まさにそれです。わたしは「これはこういうことをやっているんだな」で止めて、次に進んでしまいました。この「なんとなく分かった気」が、あとで効いてきます。
ここで一つ、正直に補足します。「説明できるか」という基準は、わたしが思いついたものではありません。SNS上でも、同じことを言っている人がいます。8年目のエンジニアの方が、こう書いていました。
「AIにコード書かせたら身につかない」っていうより、個人的には"出てきたコードを自分で説明できないまま採用する"から身につかない
フォロワー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章だけでも、判断の基準は持ち帰っていただけるように書いたつもりです。手を動かす部分まで必要な方は、続きをどうぞ。