『近い将来、ほとんどのプログラマーは不要になる。』と考えている。
今後はプログラミングはほとんどAIがすることになるはずである。
この意見には、賛否両論あるだろうが、私がそのように考えるかを現在(2023/5/21)のAIの進歩の状況を踏まえ下記のように考察する。
現状の確認
ChatGTPの登場
近年、最も衝撃だったニュースは2022年11月のChatGPT公開だと思う。ChatGPTはがOpneAIが開発した人間のように自然な会話ができるAIチャットサービスです。
ChatGPTはインターネット上の膨大なデータを学習データとしているため、あらゆる質問に答えることができます。
現時点では、一部正確でない回答をすることもありますが、適切な形で質問することで精度の高い回答をえることができます。
驚くべきことに、ChatGPTはプログラム言語を指定して、実現したい機能を指示すると、指定した言語でプログラムを書いてくれます。現時点では、ChatGTPが書いたコードは、ほとんどの場合は修正なしで実装することは難しいがプログラムのサポートとしては十分役に立つレベルと思う。(非エンジニアの私が作成するレベルならの話だが。。。)
Auto-GPTの登場
2023年4月にはAuto-GTPというChatGTPをベースに開発されたPythonのアプリが話題となっている。
Auto-GPTは「名前」「役割」「ゴール」を与えるだけで、自動的に作業を行いゴールにたどり着くためのタスクを自動で実施してくれます。
Auto-GTPの画期的な点は、ゴールにたどり着くまで必要なタスクもAIが導き出し、実行する点です。
まるで、上司が部下に仕事をお願いするかのように。。。
GitHub Copilot
ChatGTPは汎用のAIチャットサービスであるが、プログラミングに特化した「GitHub Copilot」というサービスも開発されています。
GitHub Copilotは「プログラムコードの流れやコメントに合わせて次に書くべきコードをサジェストする」というサービスです。サービス名のCopilot(副操縦士)からも分かるように、あくまでもプログラミングは人が実施、そのサポートをするためのサービスです。
今後のAIによるプログラミングに関する考察
第一段階:プログラミング特化型のAI
ChatGTPはあくまでも汎用のチャットサービスAIです。プログラミングに特化しているわけではありません。
GitHub Copilotは、プログラミングをサポートするサービスであり、プログラマーなしでプログラムを作ることはできません。
しかし、ChatGPTやGitHub Copilotのような技術を少し発展させれば、システムの「仕様」の情報を与えれば、全てのプログラムを自動で作成してくれるサービスを作ることもできるのではないでしょうか?
例えば、プログラミングに特化した学習をして、Auto-GTPのように必要なタスクもAIが考える機能を実装すれば作れてしまう気がします。
素人の私でも思いつくことなので、AIの開発者は当然これくらいのことは考えているのではないでしょうか。
第二段階:デバック&テストの自動化
仕様まであれば、全自動で作成したプログラムのデバック&テストの実施もAIでできるようになるのではないでしょうか。
- プログラミング
- デバック&テスト(仕様との比較)
- バグ(仕様との差異)を取るためにプログラムを訂正
仕様通りに動作するまで上記の1~3を繰返せば、リリースできるシステムをAIが全部作ってくれます。
第三段階:システムの仕様の作成
最終的には、システムの仕様も半自動で作成できるようになると考えています。
人が作りたいシステムの概要をAIに伝えれば、AIがシステムの仕様の案を作成し、人がその内容を確認して承認していくという形でシステムの仕様の作成も半自動化されるかもしれません。
まとめ
近い将来、下流工程のエンジニアが行っているプログラミングは人がする仕事ではなく、AIがする仕事になる可能性が高いと思っています。
最終的には、上流工程のエンジニアも半自動化されるかもしれません。