大規模言語モデル(LLM)の進化がもたらす、アプリケーション開発の姿(予想)
近年、ChatGPTに代表される大規模言語モデル(LLM)の技術は飛躍的に進化し、AI・LLM Agentと呼ばれる、自律的にタスクを実行するAIの登場により、アプリケーションやシステム開発のスタイルは大きく変化しています。
LLMの精度・機能向上への投資が加速する中、今後、アプリケーション開発におけるプログラミング・テスト・リリース作業の大部分がAIによって行われる時代が到来する可能性があります。Devin、AutoDev、GitHub Copilot WorkspaceのようなAI開発ツールの登場は、この流れを加速させるでしょう。
今後さらに精度と機能が向上していくLLMと、それに伴うアプリケーション開発スタイルの変化を前提に、エンジニアに求められる役割とスキルについて大胆に予想していきます。
変化の波に乗るエンジニアに求められる
新たな役割とスキル
現在もDevin、AutoDev、GitHub Copilot Workspaceのような、AIによる開発プロセス全体を支援するサービスやツールの開発と実用化が進んでいます。
これらのツールは初期段階では、適用できるアプリケーションやシステムに制限があったり、品質面やセキュリティ、著作権などの課題があったりしますが、LLMの精度向上と利用者数の増加に伴い、これらの課題も急速に解決されていくと考えられます。
このような状況下で、プログラミング、テスト、リリース作業は、AI開発ツールを活用することが前提となるプロセスへと移行していくでしょう。さらに、要件定義やソフトウェア設計においても、AI・LLMの活用が必須になると予想されます。
AI駆動開発アーキテクト
AIを利用した開発パイプラインの設計、AI Suiteの選択・設計、AIができない領域の対応方針設計、
開発者とのコラボレーション設計など、AI開発サイクル全体を構築する役割
- AI Suiteの選定・設計:開発パイプラインにおける各プロセスに最適なAIツール群や環境(AI Suite)を選択・設計し、連携動作を確認する能力
- AIができない領域の対応方針設計:AIが苦手とする領域や、AIのみでは品質が担保できないプロセスにおける人の関わり方、品質担保方法を設計する能力
- 開発者とのコラボレーション設計:開発者同士のコラボレーション・ノウハウ共有に加え、開発者とAIが互いに支え合うための知識共有・コミュニケーション方法を設計する能力
プロダクトオーナー
従来の役割に加え、要求分析・要件定義・効果検証フェーズにおけるAI利用を前提とした業務遂行能力
プロダクトオーナーの役割は基本的に変わりませんが、AIの活用により要求分析や要求定義のフェーズにおいて新たなスキルが求められるようになります。
要求分析
メイン知識やペインポイントの理解、ビジネス効果の設計が必要です。これには、深い業界理解や現場経験が不可欠です。今後は各業界ごとのドメイン知識を持ったAI・LLMが登場し、プロダクトオーナーはこれらを使いこなしながら要求分析を行う必要があります。
要求定義
ユーザ体験の設計や非機能要件の明確化、効果測定方法の設計が重要です。これらは従来はシステムエンジニア(SE)の経験と能力に依存していましたが、AI・LLMの時代においても重要です。しかし、今後はシステムエンジニアの知識や過去のシステムの要件定義を学習したAI・LLMが増えると予想されます。
プロダクトオーナーはこれらの技術を活用しながら、要求定義を迅速かつ精緻に行う能力が求められます。
CAIO+AI CoE
組織・開発チームをAIシフトし、顧客価値向上・業務効率化のための戦略立案、
組織・ビジネス設計、人材育成を含む
CAIO + AI CoEは、顧客価値向上と企業全体の生産性向上のために、AI活用の戦略立案・実行を担当しています。
戦略の実行には、組織設計や全体的なAI利活用能力の向上、人材育成戦略などが必要です。また、日々進化するAI・LLM技術の調査や、組織内での知見の蓄積と共有も重要な役割です。大規模な企業やシステムインテグレーターでは、AI駆動開発の施策実行や組織の構築、教育、フィードバックをもとにした改善なども行います。
CAIO + AI CoEは、企業全体の「AIシフト」を推進し、さらにはAI駆動開発の全体設計を行うという観点からも、非常に重要な役割を果たしています。
まとめ:AI時代のエンジニア像
今回の記事では、言語モデル(LLM)の精度や機能が向上し、従来は人がプログラミング(コーディング)する必要があったアプリケーション開発が大きく変化する時代が来ることを予想しました。その中で、エンジニアに求められる役割やスキルについて、大胆な展望を述べてみました。
これからの時代、人が行うことがなくなるわけではありませんが、どんな役割であってもAI・LLMを積極的に活用する能力が非常に重要になります。開発プロセス全体をAIを中心に設計し、人が行うべき作業とAIが行うべき作業を見極め、それらをシームレスに組み合わせ、フィードバックループを活性化させることが必要です。
細かなプログラミングや作業はAIが担当する前提で、エンジニアに求められるのは、開発プロセスの設計やAI Suiteの選定、AIと人の役割分担の設計などです。今後のソフトウェア開発現場では、AIを使わない選択肢はありません。
一方で、AIの開発支援ツールや手法も進化し、機能や精度が向上しています。エンジニアには、これらの新しいツールに積極的に取り組み、AIを効果的に活用する力が求められます。また、AIが苦手な領域に対する設計や対応能力も重要です。
今回の記事は大胆な予想を立てましたが、皆さんのスキルやキャリアの考えに役立てていただければ幸いです。