※本記事内のスクリーンショットは、生成AIとの学習過程を記録したものです
〜新しいOJTのやり方としての可能性〜
ここ1か月ほど、筆者はスマートフォンで見つけたPythonクイズをきっかけに、生成AIと対話しながら学習方法の実験を続けてきました。
内容としては、Instagramやリール動画などに出てくる短いPythonクイズを見て、「これは何が出力されるのか」「なぜそうなるのか」を生成AIと一緒に確認していく、というものです。
クイズはこんな感じ。
問題(インドの人が作っていますね)。
こんなクイズがしょっちょう流れてきます。かなりの頻度です。
そして、ChatGPTからの答えは、こんな感じです。
問題をコピペするると、答えをこんな感じで教えてくれます。
これにいちいち目にとめることは、ただの暇つぶしのようにも見えるかもしれません。
しかし実際に生成AIと続けてみると、このやり方は単なるクイズ学習ではなく、非常に実践的で、しかも今後の教育やOJTの形を変える可能性を持っていると感じました。後述しますが、実は問題と回答が一致しない例も少なからずあって、それをChatGPTと二人三脚で見つけて、二人(?)でワイワイとやったりもしました。
本稿では、筆者がこの方法で学んでみて見えてきたことを、4つの視点で整理します。
1)これはどういう手順で学習するのか?
この学習方法の流れは、非常にシンプルです。
まず、SNSなどで見つけた短いPythonクイズを用意します。
たとえば、
-
このコードは何を出力するのか
-
エラーになるのか
-
なぜその結果になるのか
といった、数行のコードと選択肢だけの問題です。
次に、その問題を生成AIに見せて、自分の予想と照らし合わせながら確認していきます。
ここで重要なのは、正解だけを聞くのではなく、
-
なぜそうなるのか
-
自分はどこで勘違いしたのか
-
C++や他言語と何が違うのか
-
実務ではどう考えるべきか
まで掘り下げることです。
つまり、単なる「答え合わせ」ではなく、
クイズを入口にして、思考の癖や理解のズレを可視化し、その場で修正していく学習になっています。
実際の流れとしては、だいたい次のようになります。
学習の流れ
-
Pythonクイズを見る
-
自分なりに答えを予想する
-
生成AIに答えと理由を確認する
-
分からなかった点を追加で質問する
-
他言語との違いや実務での意味まで広げる
-
次の問題に進む
このやり方の良いところは、1問あたりの負担が小さいことです。
長い教材を読むよりも、短いコード片を1つずつ確実に理解していくので、日々続けやすいのです。
2)この方法で学習するメリット
この方法のメリットは、思っていた以上に多くあります。
第一に、学習のハードルが低いこと
数行のクイズなら、移動中でも、ちょっとした空き時間でも取り組めます。
「今日は勉強するぞ」と大きく構えなくても始められるため、継続しやすいのが大きな利点です。
第二に、自分の勘違いがよく見えること
たとえば筆者の場合、C++の感覚でPythonを見てしまい、
-
関数の定義順がもっと厳しいはずだ
-
出力の仕組みはこうだろう
-
型の扱いはこうなるはずだ
と考えていた場面が何度もありました。
しかし生成AIと対話すると、
「それはC++では自然だが、Pythonでは違う」
という形で、自分の思考の前提がはっきり見えてきます。
これは本や動画を一方的に見るだけでは得にくい体験です。
自分の誤解を、自分の言葉で質問し、その場で解消できるからこそ、理解が深まります。
第三に、正解だけで終わらないこと
普通のクイズは、正解・不正解で終わってしまいがちです。
しかし生成AIを使うと、
-
なぜその答えになるのか
-
似た問題ではどうなるのか
-
実務ではどう書くのが読みやすいのか
-
そもそもこの問題文は正しいのか
といったところまで掘り下げられます。
実際、SNS上のPythonクイズには、選択肢が間違っているものや、出題ミスと思われるものも少なくありません。
そこで「問題側がおかしいのではないか」と疑い、コメント欄やAIの説明と照合する経験は、むしろ非常に実務的でした。
第四に、学びが対話になること
分からないときにすぐ聞ける相手がいる、というのは大きなことです。
しかも相手は怒らず、何度でも、違う角度から説明してくれます。
これは新人教育や独学において、想像以上に価値があります。
3)実際に、筆者が学んだこと
1か月近くこの方法を続けてみて、筆者が特に感じた学習ポイントは次の通りです。
まず、Pythonは「見た目以上に型が重要」であること
Pythonは動的型付けなので、C++ほど型を強く意識しなくてよいように見えます。
しかし実際には、
-
文字列と数値の違い
-
input() は常に文字列を返すこと
-
int と float の混在
-
文字列の繰り返しと数値計算の違い
など、型を見誤ると簡単に間違えます。
つまり、Pythonは型宣言が少ないぶん、見抜く力が必要なのだと分かりました。
次に、インデントは「見た目」ではなく「構造」だということ
Pythonではインデントが実行単位を決めます。
これは知識としては知っていても、実際に短いクイズをたくさん解くと、理解が具体的になります。
-
どの else がどの if に対応しているか
-
関数の中なのか外なのか
-
ネストされた条件がどう動くのか
こうしたことを繰り返し見ることで、コードの構造を目で追う力が少しずつついてきました。
さらに、C++との違いがよく見えたこと
筆者はもともとC++的な感覚でコードを見ていたため、Pythonの柔らかさに何度も戸惑いました。
しかしその戸惑いを生成AIとの対話で言語化していくうちに、
-
C++は定義や型に厳密
-
Pythonは実行時評価が多く柔軟
-
その代わり、読み手の理解力がより問われる
という違いが見えてきました。
これは単にPythonを学んだというより、
言語ごとの思想の違いを体感した
という方が近いかもしれません。
そして何より、「問題を疑う」視点を学んだこと
SNSのクイズには、ときどき出題ミスがあります。
選択肢に正解が存在しないこともありました。
そのときに、
-
自分が間違っているのか
-
問題文が間違っているのか
-
実際に仕様上どうなのか
を確認する習慣がついたのは、非常に大きな収穫でした。
現場でも、仕様書・資料・指示が常に正しいとは限りません。
だからこそ、鵜呑みにせず、確認し、対話し、納得する姿勢が重要です。
この学習法は、その感覚を自然に鍛えてくれました。
4)まとめ〜新しいOJTのやり方の可能性について
筆者は、この「生成AIとPythonクイズで学ぶ」というやり方は、単なる個人学習にとどまらず、今後のOJTのあり方にも大きな可能性があると感じています。
従来のOJTは、どうしても
-
先輩が忙しい
-
質問しづらい
-
同じ説明を何度もするのが大変
-
教える側の力量にばらつきがある
といった課題を抱えがちです。
一方で、生成AIを補助役として使えば、
-
まずは本人がクイズや小課題に取り組む
-
分からない点をAIに確認する
-
それでも重要な部分だけを人に相談する
-
学習ログや質問内容から理解度を把握する
という流れが作れます。


