お正月にChatGPTのことを取り上げたとき、このあたらしいAIに触れた人はまだ少なかったと思われる。そのあとマスコミで取り上げられることが激増し、実際にそれを使った人も当たり前に存在するようになった。その一方で私はあれ以後全然触っていない。
このブログで何か書いても誰かの二番煎じになるだけのような気がして全く取り上げなかったのだが、プログラミングの関係でちょっと思うことがあるので書いてみる。
ある問題についてChatGPTにプログラムを書かせた結果というのをネット上のさる記事で見たのだが、そのプログラムというのが再帰を使った非常にエレガントなスタイルで、私が一発で(推敲を重ねないで)書けないような類いのものだった。
困るのはこれが実際に動くものかどうか分からないことだ。仮にこれを動かしてみてもっともらしい結果を出せばそれでよしとなるのだろうか。私は違う気がする。一見問題なく動くプログラムが一番怪しいものだ。
どういうことかと説明しよう。全然動かないプログラムは不良品だとすぐ分かる。ところが、多くの場合正しい結果を出すが、特定の条件で全く動かなかったり、間違った結果を出すプログラムは不良品であることが分かりにくい。その問題の条件のデータがありふれたものであればすぐ問題が判明するが、何年も経たなければそういうデータに遭遇しないということもあるのだ。
ChatGTPが出してきたプログラムも同じことで、そのまま使うのではなくて人間の目でチェックを行い、いろいろな特徴のデータを入れたときに正しい結果を出すのか、よくよく調べたうえでなければ使えない。であるはずだ。
大学でプログラミングの初歩を教えたことがあるのだが、そのときにちょっと面食らったことがある。十数年前のことだが、簡単な例題を宿題にしたらよく似た問題とその解答をネットで検索してそのまま使った学生がいたのだ。
微妙に違う出題をしたのでその学生の回答は間違っていたのだが、グーグルを有り難がる風潮がここまで来たのかと思った。よくできる学生だったから自分で考えれば簡単に解けたはずなのに、目の前に手間をかけずに得られる答えがあると思うとそれを使ってしまう。考える機会を自ら放棄したのでもったいないことだ。同時に若い人のグーグル信仰もここまで来たかと愕然としたことだった。