不完全な生成AIをつかって学ぶこと
先にポンコツ生成AIによる要約。
公開後修正して、AIによる要約をこの記事の最初に持って来ました。
お時間ある方は、この要約がどの程度正しいか読み進めてみてください。
生成AIで誤答連発?!
友人がこんな記事を紹介していました。
この学校では授業の中で生成AI (Chat-GPTなど)を積極的に使った取り組みをされているようです。
ところが、その中で学年の半数超から同じような誤答が出てきたことに気づいた教員。
生成AIによって誤解が生じていることに気づいただけでなく、生成AIがなぜその誤答を出したかを調べ、元ソースと思われるホームページの会社にもコンタクトをとって訂正、その後生成AIをつかって学習する上での注意点なども生徒と確認できたとのこと。
素晴らしい取り組みだなぁと思います。
技術とのイタチごっこ
前にもどっかに書きましたが、高校時代に古典の教員がとても厳しく、
毎回予習をしておかないと”酷い目”(詳細略)にあう、そんな授業でした。
その是非以上に僕はとにかく古典ができず、毎回ビクビクしながら授業を受けていたわけです。(その教員には卒業後めちゃくちゃお世話になる)
当時ようやっと「常時接続」のインターネットが我が家にやってきた時代、僕は閃きました。
古典の教科書の内容の現代語訳が載っているページを探し出し、
100%満点の予習をして授業にのぞみました。ググってコピペです。
よせばいいのに、そのノートを高校生の僕は得意げにクラスで自慢していました。
僕の周りにいるような連中は、やはり僕の周りにいるような連中ですから、そのノートを一言一句写したノートが、クラス中の僕のような男子に広まりました。
しかしいざ授業が始まると、いつもはトンチンカンな答えばかりのはずなのに、次々に完璧な現代語訳が続き、4人目くらいのMくんが回答したとき、教員に
「これ、自分で調べてないな。他のクラスのノートをみただろ?」
と、勘づかれました。
クラス中の同じノートを持つ男子に緊張がはしりました。
小学校、中学校も同じだったMくんは、こともあろうに
「かわけんのノートを見ました」
と、のたまいました。
結局うまく言い逃れができて”酷い目”にこそ合わなかったものの、
「次からはところどころ間違ったノートにしよう」
と、18歳のかわけんは学びました。
「今後何があってもMくんにノートは見せるまい」
と、18歳のかわけんは学びました。
まだまだ、「ググる」なんて言葉がなかった時代、教員も思いつかないズルを思いついた18歳の自分を褒めた上でドロップキックしてやりたいです。
そんなふうに、技術とズルとはイタチごっこな訳です。
ズルで終わらないために、冒頭のような取り組みは素晴らしいと思います。
プログラミング学習
「プログラミング学習」について、僕はなんの専門知識もないのですが、
↑の画像のようにブロックを組み合わせることでプログラムを作成するアプリケーションやサービスなどが「プログラミングの入り口」となることは多いようです。
また教育目的だけでなく、実用されるレベルでも視覚的・感覚的にプログラミング出来るようなシステムもあるようで、↓のような昔ながらの「黒い画面にプログラミング言語の羅列」だけが「プログラミング」ではなくなってきているらしい。
生成AIにプログラミングしてもらう
これはまた別の友人から教わったのですが、工場の製造管理などの過程で、その場その場でプログラムを組むのがその友人の職場では当たり前になっている、とのこと。
「お前、いつプログラミングなんて勉強した?」
と聞くと、最初に基本的なことだけ詳しい人に教えてもらい、実際にプログラミングするのはChat-GPT (生成AI)を使っていると言います。
こう見えて「アプリケーションの設計」で修士論文を書いたアタクシ、
自慢じゃないですがプログラムは1行も書けません。何度かチャレンジしようと試みたものの、その度に結局は逃げ回ってきました。
ところがこの生成AIでのプログラミングなら僕にもできそうです。
ちょうど、車のカメラを切り替えるためにあれこれDIYしようとしていたので、
Arduino (アルデュイーノ)という「もっとシンプルに、もっと安価に、技術者でない学生でもデジタルなものを作ることができるようにする」ことを目的として開発されたシステムを使って電子工作してみることにしました。
Tinkeredを使ってみる
このTinkeredというサービスではscratchのようにブロックを並べるだけでArduinoのプログラミングを作成することができます。また実際に書いたプログラムを画面上でシミュレーションすることも出来ます。
scratchと違うところは、ブロックを並べるだけではなく、ブロックによって組まれたプログラムのコードを確認したり、
実際にコードを書いてプログラミングを作ることができます。←ここが大きい!
自分が作りたいものと、Arduinoのピンの仕組みなど基本的なことだけ調べておいて、
それを生成AIに丸なげしてみました。
生成AIに投げてみた。
無料の生成AI (ChatGPT3.5)にとりあえず質問してみると、早速コードを書いてくれました。
僕の思惑ではこのままコピペして、はい!できた!のつもりでしたが、
全くうまく動作してくれません。(無料版だから?)
そこで、質問文を色々と付け加えたり変更してみたりします。
以下、ChatGPTとの禅問答
エラーが出たときには、そのエラーを貼り付けると、エラーの原因を教えてくれます。
この過程で、当初は「1行もコードなんて書けねぇし意味わかんねぇよ!」と思っていた僕が、
「どこがおかしいんだろう」
「それぞれの動作はどのコードに対応しているんだろう」
と、プログラムの画面を読むようになりました。
また、生成AIの方も、僕が繰り返す質問から、僕が作りたい回路を少しずつ理解していきます。
頼りないAIに頼る
もしかしたら有料版の最新のChat-GPTなら、最初から正しいプログラムを書いてくれたかもしれませんが、
ちょっと頼りないChat-GPT3.5が相手なので、もっと頼りない僕も何とかして伝えようとします。作りたい部品、こいつに何とか伝えないと、手に入らないから。
「言語の習得は、”伝えたい”が先にある」
という教育、特別支援では当たり前なことを、身をもって経験する訳です。
プロンプトとも言いますが、どう質問するか、によって生成AIの回答が変わります。
つまり、質問が上手になればなるほど、求める答えに近づく訳です。
質問が上手になるためには、AIが作ったプログラミングコードを読んだり、あるいは自分で調べてみたりすることが必要で、
プログラムの処理がどのように行われるか、を踏まえた質問をすると、正確になっていくことに気づきました。
そしてようやく、思っていた通りのプラグラムを組むことができました。
この質問文、実はプログラムをそのまんま日本語にしたようなものなんですね。
Chat-GPTに何度もプログラムを書かせてはコピペし、
動かない理由を探っては質問を変え、していると、
質問文も「プログラミングっぽく書く」ことでうまくいくことに僕が気づいた訳です。
そして「プログラミングっぽい質問文」を書くには、どういった順序で処理が行われ、何が抜けるとエラーが起きるか、などにも気づくんです。
不完全な生成AIだからできること
今後生成AIがどんどん賢くなっていったとしても、この対話型の生成AIの場合はこちらの質問がAIにとって「分かりやすい表現」であるほど、正確に伝わり、求める答えに近づくというのは変わらないと思います。
ただ、やはりその精度は上がっていくでしょうし、僕がやりとりしているようなプログラミングの入門レベルの質問に関しては、一発で答えを出せるようになる日は遠くないと思います。
そうなんです。
今2024年のポンコツで頼りない不完全な生成AIだからこそ、入門レベルのプログラミングでさえまともな答えを出せないから、こちらも一緒に成長する。(せざるを得ない)
僕が古典で「次からはところどころ間違えよう」とした際、ところどころ間違えるには、簡単なところと間違いやすそうなところを理解してないとダメなことに気づきました。そして「楽な予習なんてないんだ」ということに気づきました。
僕の古典はともかく、生成AIを使った教育現場での問題・課題はこの1年で相当取り上げられてきました。
冒頭の中学校の例しかり、大学のレポートのコピペ問題しかり。
生成AIは今後どんどん進歩するのは明らかですから、これを使わない方法、避ける方法よりも、これらをうまく使う方法に教育現場もシフトチェンジが必要。
そして結局それらをうまく使うには、使う側にも最低限以上の知識や思考が求められる訳です。
カンニングペーパーを作るのに、教科書の全ページをコピーする訳にいかないのと同じ。
漢字を知らないと、漢字変換を使えないのと同じ。
10年後どころか、1年後、2年後にはまた状況は変わってくるかもしれませんが、
この生成AIがポンコツで頼りない不完全な今だからこそ、
「生成AIと共に学ぶ・成長する」ってのはとても価値があるように思うんです。
長くなったのでChatGPTに要約してもらった
せっかくなので相変わらず冗長な僕のnote記事、生成AIに要約してもらいました。
ちょっと味気ないので、甘えてみました。
もっともらしく見えるからこそ、元の文もAIの要約も全部読まないといけません。
それが、何かいいなぁって思うんです。
この記事も古典のノートのように、すぐに昔話になっちゃうでしょうね。
この記事が気に入ったらサポートをしてみませんか?