最近ChatGPTをはじめとしてAI界隈が話題をさらっています。日々新しい情報が出てくる様子は、一昔前のスマートフォンを彷彿とさせます。
本記事では、現在のAI界隈を踏まえた上で、今後どのようにフロントエンド開発が変わっていくのかを考えます。一部予想も含まれますので、将来的に間違っている可能性もあります。
コーディングサポート
GitHub CEOは将来的にコーディングの8割がAI生成に変わると予測しています。実際、GitHub Copilotの凄さは体験するとよく分かります。従来の静的解析による入力補完とは異なるレベルのコードをサジェストします。
コメントを書いて、それにあったコードを生成してくれるのがよく知られています。しかし、実際には関数名からコードをサジェストしたり、switch文への項目生成など多岐にわたります。
Amazonも同種のサービスとしてAmazon CodeWhispererをリリースしており、このAIベースのコーディングサポートはさらにプレイヤーが増えていくと予想されます。
GitHubではさらにCopilotを進化させたGitHub Copilot Xを開発中です。これはGPT-4をベースに、対話機能が追加されています。コードの中から不具合を探して修正案を出したり、テストコードの生成なども行います。
アプリケーション生成
ChatGPTを使うことでVueやReactなどのコードを生成できますが、それをサービス化したのがGPTAppです。要件を入力すると、それに合わせたWebアプリケーションが生成されます。
まだ簡易的なものしか作成できないようですが、将来的にはこうしたベースアプリの生成もAIベースになることでしょう。それこそDBのスキーマも一緒に定義することで、管理画面や必要なバリデーションも含めたコードが生成できそうです。
Q&A
コーディングしていて、疑問点にぶつかることは多々あります。また、エラーが出てWeb検索して解決策を探る機会も多いでしょう。
そんなときにもChatGPTが使われています。質問を適切に行うことで、自分の利用目的に合わせたコードを生成することも少なくありません。
また、エラーメッセージをそのまま書いて、その解決策を求めることもできます。Web検索では多くの結果の中から自力で答えを探さなければいけませんが、AIの場合はパーソナライズされた答えを返してくれるのが利点です。
テスト
テスト工程はプロジェクトの後工程に回されがちで、プロジェクトが佳境に入ると工数が削減されてしまいます。そこで使えるのがAIになります。
前述のGitHub Copilot Xでは既存のコードをベースにユニットテストなどを生成できます。他にもmablやMagicPodはテスト時にAIを用いることで、デザインの変更に強い仕組みを実現したり、画面項目の抽出などが可能です。
インフラ構築
Webアプリケーションを開発し、どこにデプロイするかが問題です。さらにそのインフラ周りを自分で構築するとなると、普段慣れていないと相当な時間を費やすことでしょう。
Pulumi AIは自然言語を使って各種パブリッククラウドのインフラを生成します。AWS向け、GCP向けなども自由に指定できます。これによってインフラ環境の構築は大幅に省力化されるでしょう。
まとめ
ここ数年のAIの発展によって開発環境は大きく様変わりしています。コーディングをしなくても良くなる世界が来る一方、プログラマーはAIによって生成されたコードの動作保証をしなければなりません。AI生成なので責任放棄できる訳ではありません。
コーディング量が減りつつも、プログラマーとしての質は高い状態を求められるでしょう。とても難しい課題ですが、すでに実用化が進んでおり、かつ進化は止まらないと予想されます。活用する道を探索し、どんどんトライしていきましょう。