ChatGPTはプログラミングの独習に使えるのか
お疲れ様です。Y研究員です。タイトル通り、ChatGPT-4を使って新しいプログラミング言語の独習をしています。コピペでは勉強にならないので、コードは「写経」をしています。今日は、一つのプログラムが大体できたので、これまでに分かった「できること」「難しいこと」を共有します。
やったこと
簡単なゲームを題材にしました。アングリーバードのように、物を投げる放物線を描くプログラムです。言語はHaskellにしました。慣れた言語とは違うものです。新しい言語の勉強に使えるかの実験です。
ChatGPT-4でできること
お題を与えるとサクサクと回答してきます。回答で得たプログラムを「写経」すれば大体は動きます。エラーが出た場合、エラーメッセージとエラーが出た部分を投げると解決策を教えてくれました。
コードでわからない部分があったので質問をしました。詳しい解説が出てきました。もっと理解するために、追加のサンプルコードも出してくれました。それも「写経」することで理解が深まりました。
ChatGPT-4では難しいこと
前回の迷路づくりでも分かりましたが、段階的に難易度を上げるのは難しいようです。大きい課題を分解してもらうよりも、開発ステップは自分で設定する必要があります。ゲームなら少しづつ機能を追加する感じです。アジャイル開発的なやり方なので、動かしながら作ることができるのは楽しいです。
知見が少ない言語やライブラリは難しいようです。Haskellはギリギリできました。Pythonは使っている人が多いので回答の質は高い様子です。しかしC言語で書くGStreamerのデバッグはできませんでした。
そのほか気になった事
試している途中でChatGPT-4oが出てきました。強力なLLMです。しかし短い質問に対して長い回答が出てきました。ABテストで改善しようとしている気配もありますが、1問1答でテンポの良いやり取りにはなりませんでした。
回答が無難な点も気になりました。聞いたことには答えてくれますが「浅い」回答をしているように見えます。たとえばHaskellらしい書き方とその背景など、余計な話はあまりしません。そういうのは人間が書いた本を読んだほうがよさそうです。
次にやること
ChatGPTを独習で使うコツがつかめてきた気がします。次はロボットを作る時に使うROS1をPythonで書いてみたいと思います。
それではまた!
無料のプログラミングクラブCoderDojoを運営するにあたり寄付を受け付けています。お金は会場費・Wifiの費用・教科書に使用します。