こんにちわ、Suです。
最近仕事のパートナーとして、chatGPTを使い倒してます。以前よりGoogle検索するよりも、chatGPTに聞いてみることが多くなった気がしています。
永遠の開発パートナーになれるのか!?と期待に胸を膨らませていたのですが、「これは、もうちょっとなんとかならんかなー」、「ググるしかないか」と思うことがありました。
何が困っていたのか?
今回困っていたのは、Spring Bootのバージョンアップ作業をしていた時のエラーです。
最近はTypescriptしか書いていなかったので、久々のJavaで、戸惑うことが多くなっていました。
ググるのも良いですが、せっかくchatGPTがあるので、聞いてみようではないかと思いました。
chatGPTで何を聞いたか?
最初の質問は、「Spring Bootをx.x.xから、y.y.yにアップデートしたのだけども、以下のエラーが出たんだ。どうすれば良い?」です。
答えは「Spring Boot y.y.yでは、A Classは削除されたため、B Classを使うと良いです。サンプルコードは以下です。」です。
最初の答えで解決したのか?
「サンプルコードまで出してくれるなんて、おまえやるやないかい!」と思ったのも束の間。そんなサンプルコードがそのまま使えるわけではなく、import文すらないサンプルコードは役にも立ちません。
Javaを知らない人がこのサンプルコードをもらったところで、結局Javaとはどのような言語なのかを理解していないと使いこなせないでしょう。import文がないと気付けるのはJavaを知っている人だけです。
2回目の質問では、「このサンプルコードのままだと動かないのだけど、そのまま使えるようにしてよ」と聞いてみました。
回答は「申し訳ありません。先程のコードは、そのまま使える形式ではありませんでした。import文を追加して、そのまま使えるコードは以下です。」という回答でした。
2つ目の回答で解決したのか?
もちろん解決しません(笑)
サンプルコードを使ったところ、既に非推奨になっていたり、削除済みの関数だったりしました。もちろんコンパイルエラーが発生して、アプリケーションの起動すらできませんでした。
最後に3つ目の質問です。「この関数って、y.y.yでは既に存在しないようだけど、何か間違ってない?」
回答は「申し訳ありません、先程の質問は間違いでした。こちらのサンプルコードはy.y.yで使えるコードです。」です。
結果はお察しの通り、解決しませんでした。
結局何が原因だったのか?
実際問題として、環境変数がうまく読み込めていなかったというのが本当の原因でした。chatGPTさんには荷が重すぎる問題でしたね。
chatGPTは平気でウソをつく
今回いろいろな質問をして分かったことは、chatGPTは「ウソを平気でつく」ということです。まあ、プログラムなので当たり前なのですが、流暢な回答をするので、しばしば忘れがちかなと思います。
「申し訳ありません。前回の回答は間違っていました」は最初は良いですが、だんだんイライラしてきます。
chatGPTの回答では、その回答が良かったのか、悪かったのかをフィードバックできるボタンがあるので、どんどんフィードバックした方が賢くなると思います。皆さんも、ぜひ、フィードバックしてあげてください。
chatGPTは開発のサポーターとして使えるのか?
chatGPTはプログラムです。結局のところ正しいか、間違っているかは自分で判断しないといけません。また、今回の問題は、人間自身が「このエラーを解消する方法を聞けば良いのだろう」と判断したのがそもそもの間違いです。表面的なエラー内容だけ見て、本当の問題に気づけなかったのが良くなかったですね。
もちろん、エラー内容だけでも解決することもありますので、必ずしもエラー内容について質問するのが悪いというわけではありません。
chatGPTは集めた情報の中からなんとか答えを出そうとしていて、それが間違っていることも多い印象です。知識が足りないのか、あるいは、質問の仕方が悪いのかもしれません。お互いに改善していく必要がありますね。
chatGPTを使う時の、開発者の心構えとは?
開発中は知らないことをやると、たくさんの問題に直面します。その際に大事なことは、「エラーを読んで理解すること」、「問題の仮説を立てて、解決策を試すこと」です。そして、それらの繰り返しですね。
もちろん、聞いて解決することは効率の面で良いと思います。ただ、聞いてばかりでは、その問題の背景を知ることが難しくなります。また、問題解決能力が育ちません。
chatGPTは情報収集としては少しは使えるのかなとは思いますが、問題解決能力は低そうな印象です。情報収集の元が質問者からの入力情報頼みだからです。ただ、それは「今のところ」です。
chatGPTでは、GPT-4モデルを使ったサービスが既にリリース済みです。これから爆発的に進化していく可能性は高いですね。
日々chatGPTの情報を追いつつ、注視していきたいと思います。