IoT・AI

AI拡張型開発 ソフトウェアの新たな時代

掲載日:2024/05/14

AI拡張型開発 ソフトウェアの新たな時代

2023年のガートナーの発表によると、2027年までに、企業のソフトウェアエンジニアの50%が機械学習を活用したコーディングツールを使用することが予測されている。また同発表では、多くの企業で開発者のキャパシティがソフトウェアへのニーズに追いついていない状況だと指摘されている。このような状況を変える存在として期待が高まっているのが「AI拡張型開発」だ。

AIがエンジニアのアシスタントに

ガートナーが発表した「ソフトウェア・エンジニアリングのハイプ・サイクル:2023年」では、今後のトレンドとして「AI拡張型ソフトウェア・エンジニアリング」が紹介されている。これは、ソフトウェア開発を支援するためのAI活用を指す。

同発表によると、AI拡張型開発はソフトウェア開発サイクルを大きく変える効果が期待されている。現状、ソフトウェア開発においては機能テストやコーディング、ドキュメント作成といった定型的な作業が多い。AI拡張型開発を活用するとこれらの定型的な作業をAIが代行・自動化し、そうすることでエンジニアは従来の作業から解放されるため、より注力すべき設計や開発などの業務に労力を割くことが可能になるというわけだ。エンジニア本来の業務に専念できる環境が整えば、エンジニアのモチベーション維持にも効果が期待できる。

では、実際にどのような作業をAIが支援してくれるのか。具体例を挙げながら見てみよう。

AIとの対話による要件定義

これまでソフトウェアの要件定義は、発注者とエンジニアによる議論から固められることが一般的であった。この場合、機能や仕様などの要件について依頼者と開発者との間で認識の齟齬(そご)が発生することも考えられるため、外部の人間による第三者的なチェックが必要になる場合がある。

AI拡張型開発では、第三者的なチェックやほかにもそれに至るまでのアイデア出しもAIが一部対応可能だと考えられる。特に対話型AIを議論に組み込むことで、リアルタイムに新たな解決策を生み出すことも期待されている。

要件定義はソフトウェア開発において根幹を担うものであり、その内容を精査することは開発において非常に重要だ。AI拡張型開発であれば時間的制約もなく、正確な分析が期待できるため開発業務において効果的に活用できるのだ。

記述コードの予測や修正の提案

一部のAI拡張型開発サービスは、コーディング作業中に記述されたコードをAIが読み取り、先のコードを自動的に予測記述する機能を有している。これは、あらかじめ膨大な量のコード情報をAIに機械学習させることで、続くコードを予測できるためである。この機能によってコーディングの作業量を大幅に削減することが可能だ。

また、記述されたコードをリアルタイムに分析し、修正の提案をしてくれる機能を有したサービスも多い。この機能が優れているのは、単にミスを指摘するだけではなく、同様のミスも自動的に分析し、警告してくれる点だ。エンジニアはトラブルが発生しやすいポイントをあらかじめ認識しておくことで、ミスの発生を極力防ぐことができる。

求められる人物像

大きな効果が期待されるAI拡張型開発だが、いまだ課題も多い。最も危惧されているのは、柔軟な思考が期待できないことで、現状のAI拡張型開発では基礎的な定型的業務支援がメインであり、高度なパフォーマンスは期待できない。またAIによって生成されたものの正誤を確認するのは、最終的には知識と経験を有するエンジニアであり、優秀なエンジニアの価値は今後も変わらず高いままである。

定型業務がAIに取って代わられることで、今後のエンジニアには技術の向上が一層求められることになるだろう。そのためには実務経験を積むだけではなく、AI拡張型開発のサービスには対応できないような業務を把握し、エンジニアとしての価値を見いださなければならない。