個人的にはGPT-4にコードを書かせて効率を上げようというやりかたはどこかで破綻するかゴミを量産してしまう可能性があるので慎重になるべきだと思っている。再現性がなくなんとなく動くようなものを作っていてはダメだ。
わたしも常々弊社のエンジニアに伝えていますが、最高のエンジニアリングとは「コードを可能な限り書くことなくビジネスサイドが実現したいことを迅速に実現すること」です。
この文章は誤解されそうだがこの人はGPTが登場する前からこのことをエンジニア達に伝えていたはずだ。「GPTが出てきたからコードを書くことが目的ではなくなった」のではなく、ずっと昔から「コードを書くことは手段で、コードをできるだけ書かないで目的を実現するのが正しい」だったのだ。
その上で、「GPTを使えば簡単にコードが書けるぞ」といってコードを量産するのは2流以下の人達のやることであって、コードが吐けるのであればその前の段階のものをソースコードとしたビルドシステムを構築するのが正しい姿であるような気がしてならない。「プロンプトエンジニアになるほうが正しい」というのは、「モデルを定義すればコードもテストも自動生成されるんだ」みたいなことを無邪気に信じているモデルベース開発信奉者を見ているかのような不安がある。
もし特定のプロンプトから安定して正しいコードが出力されるならそれはコンパイラと同じような役割になるだろう。一方で同じプロンプトを与えても出力されるコードが安定しないので、それを人間が確認してレビューし正しいコードに精錬する、というような開発スタイルになるならそれは確かにパラダイムシフトだ。じゃあコードが正しいかどうかもAIに確認させるようなシステムができてきて、正しいコードだけを自動的に実行するようなシステムができてきたら… もうそれは「プログラムコードを作るのではなくそのAIシステムを教育する」というような感じになってくるような気がする。そういうことで作られたソフトウェア(?)の再利用性はどうか、スケーラブルなのか、そのあたりが気になる。