開発現場における生成 AI 導入の課題
開発支援系の生成 AI ツール(Github Copilot や、Cursor 等)を触った方は、まず「非常に便利」だと感じたのではないでしょうか。しかし、これらを本格導入されている企業様はまだまだ少ない印象です。現場のエンジニアとしては積極的に使いたいという声が上がるかもしれませんが、経営層目線から見ると2つの課題が存在します。
1. 生成 AI 導入による費用対効果が見込めない
2. 生成 AI を導入後の効果測定が難しい
1 について、開発で最も工数がかかるのは「運用・保守」であり、開発それ自体ではありません。恐らく誰しもアプリケーションやサービスを作る場合、数年単位で事業計画を作成するのではないでしょうか。製品ライフサイクルとして考えた場合、「開発」の効率化によって得られるメリットは最初の数年だけで、経営層が大きな改善を検討すれば、他の部分に投資しようと考えるのが当然です。
※ 参考 Amazon Q の定義するソフトウェア開発サイクル
2 について、仮に開発支援系の生成 AI ツールを導入したとして、どうやって効果を測ればいいのでしょうか。現場エンジニアの立場からすると、開発支援系生成 AI ツールは使っていて非常に気持ちが良いです。しかし、いくらコーディングが快適になったからと言って、効果を数値として表す事は難しいのではないでしょうか。(「生成 AI を入れたら納期が半分になりました」くらい言えれば別ですが、経営層からそれを目標にされたくないですよね笑)。
もちろんその他にも精度や著作権など様々な課題はありますが、開発への導入においてはここが最大の課題になるのではないでしょうか。生成 AI ツールを導入する際は、効果測定の方法まで考えた上で検討する事が大切です。
AWS の生成 AI ツールが目指すスコープ
AWS はこれらの生成 AI 導入障壁を踏まえて生成 AI サービス「Amazon Q Developer」を開発しています。Amazon Q Developer の設計思想は、他の開発支援系生成 AI ツールとは根本的に異なります。他の開発支援系生成 AI ツールが「開発者の開発体験の向上」に重きを置いているのに対して、Amazon Q Developer は「アプリケーション開発ライフサイクル全体のサポート」をスコープとしています。
※ 参考 Amazon Q と他開発支援系生成 AI ツールのスコープ比較
具体的には、コードのサジェスト機能はもちろん、複数ファイルをまとめて修正する機能、特定のバージョンのアプリをまとめてバージョンアップさせる機能等、運用保守に特化した機能を備えている事が特徴です。
最初に述べた通り、アプリケーション開発で最も工数がかかるのは「運用・保守」です。開発者としてはこの部分の工数を削減出来れば新しい機能の実装に力を入れられるようになりますし、経営層としても、全体工数で最大の割合を占めるこの部分が最も効果的な投資対象と言えます。
Amazon Q Developer には「使い続ける為の」機能が揃っている
では、具体的に Amazon Q Developer にはどんな機能があるのでしょうか。
メジャーどころだと、まずは以下が挙げられます。
コードサジェスト: 直前の入力から、次に入力される値をサジェストする
インラインチャット: 修正したいコードを選択して指示する事で、生成 AI が直接コードを修正する
ワークスペースインデックス: ワークスペースとして開いているフォルダを全て RAG に取り込み、チャット時に検索できるようにする
Amazon Q Developer Agent: ユーザの指示に沿って、コードを生成する(複数ファイル可)
transformation: 特定バージョンのコードをバージョンアップさせる
コードサジェストやインラインチャットは従来の生成 AI ツールでお馴染みですが、3つ目以降の機能はアプリケーションの運用保守で力を発揮します。
例えば、ワークスペースインデックスはユーザからの問い合わせに対し、既存のコードを踏まえて回答出来るようになる機能です。これによって通常のコードサジェストより、かなり精度を上げる事が出来ます。また、transformation については特定バージョンのコードを、指示するだけでまるっと変換してくれる凄まじいサービスです。現在は Java の一部のバージョンのみが対象の限定的なものですが、今後対象が拡大すれば、メンテナンス作業が一気に楽になると思われます。
エンジニア目線からも使える機能の目白押しですが、Amazon Q Developer の最も優れている点は、利用状況を可視化するダッシュボードが付属している点です。以下のように、どの機能で、何行のサジェストが行われたかを可視化する事が出来ます。
また、各機能ごとに何件のサジェストが行われ、そのうち何件が受け入れられたのかが一目でわかります。
これによって、どの機能が最も効果的で、どれぐらい効果が出ているのかを経営層が分析する事が出来るようになります。例えば、インラインサジェスト機能の Accepted suggestions が低い場合、社内のコードを追加学習させて、社内独自の癖をサジェストに反映させる事が可能です。(ロギングの実装回りなど、特に会社や個人毎の癖が出やすい部分をサジェストしてくれるようになります)
これらの機能から、Amazon Q Developer はアプリケーション開発のライフサイクルを継続的にサポートする機能を揃えており、長いスパンで検討した際、費用対効果を生みやすい製品になっていると言えるのではないでしょうか。
生成 AI 利用を始めるなら、開発環境への導入が最適
生成 AI の回答精度を 100% にするのは、現実的には大変難しいです。データの偏り等で様々なバイアスが存在する為、利用者やタスクによって誤差が生まれる可能性を排除出来ないからです。とはいえ、ガートナーも「2026年までには全企業の 80% 以上が生成 AI を活用する」と予測している以上、業務に生成 AI を取り入れる事は最早避けては通れません。まずは対外的なリスクの少ない社内利用、特に開発環境への導入から検討してみてはいかがでしょうか?
ソニービズネットワークスでは Amazon Q Developer を使った開発環境の構築を支援する事が可能です。本記事でご興味を持って頂けた方がいらっしゃいましたら、弊社の「AWS なんでも相談室」までお気軽にご相談下さい。
以上、AWS Ambassador の濱田でした。
Japan AWS Ambassadors アドベントカレンダー5日目の担当は、NRIネットコムの丹さんです。ぜひお楽しみに!
お役立ち資料をダウンロード
「マネージドクラウド with AWS_カタログ」のダウンロードをご希望のお客様は、
以下必要事項をご入力ください。