ProVision

 View Only

IT変革のためのAI : ソリューションでAI活用推進

By IBM ProVision posted Wed August 28, 2024 10:19 PM

  
「IT環境こそAIを活用し効率化したいが、なかなか思うように進まない」多くの企業からそのような意見を耳にします。大規模言語モデル(LLM)の活用が広がり、業務における報告書作成の効率が上がったり、議事録作成や要約などの負荷が軽減されています。しかしIT環境においては、例えば生成AIによるコード生成やIT運用自動化が期待されるもまだ大きな効果が得られないケースが多いようです。そこで本稿では、IT環境におけるAI適用の課題とそれを解決しIT変革を実現するためのヒントをまとめてお伝えします。
Nikami Tetsuya.png
二上 哲也
Nikami Tetsuya
日本アイ・ビー・エム株式会社
コンサルティング事業本部 CTO
執行役員 IBMフェロー
1990年に日本IBMに入社以来、Java/WebやSOA、API、クラウドネイティブなど最新技術を活用してのお客様システム構築に貢献。現在は 執行役員 IBMフェローとして、IT変革のためのAIソリューション推進をリードしている。

なぜIT環境における生成AIの活用が広がらないのか

企業の基幹システムの多くは、何十年もかけて知見が蓄積されてきたものがほとんどです。例えば、かつて性能に課題があったためその再発防止のための開発プロセスがあったり、セキュリティの課題を解消するために必要な運用手順が定義されているなどです。これらの企業固有のノウハウはまだ企業内部に閉じており、汎用的な生成AIが出てきたからといってすぐに全体をAIに置き換えることは困難です。システムに関わる人も、プロジェクト・マネージャーからアーキテクト、コード開発者からテスト要員、運用要員まで多彩なプロフェッショナルが存在します。これらのスペシャリストたちのノウハウで公開されているものは限定的なため、これら全てを備えた汎用的な生成AIは当面登場しないでしょう。

図1. IT変革のためのAI体系

そこでIBMはIT環境におけるAI活用を進めるために、図1のようにIT変革のためのAIソリューションを体系化し、5つの分野に分割することを発表[1]しました。それぞれの分野に特化したAIを構築し、具体的なAIソリューションを提供するためです。IT領域全体を汎用的なAIでカバーさせるのではなく、コード生成に特化したAIや、テスト自動化のAI、IT運用のAIやプロジェクト管理のAIをソリューション化することで実効性のある、それぞれの課題を解決するためのAIが特定されます。
しかし前述したように、企業には既に標準的な開発や運用のプロセスがあるため、これらのソリューションを既存環境に適用していくためには戦略が必要になります。そこで手前に、AI戦略策定とガバナンスという、AIをどの部分からどのようなステップで導入し、その後AIリスク管理も含めてどうガバナンスを効かせながら広げていくかを決めていく企画フェーズも用意しています。この戦略策定の段階で、その企業の現在のIT環境における課題を明確にし、その対応策をAIも含めてどう解決するかのソリューションを専門家も交えて検討することが重要となります。

アプリケーション開発におけるAI適用の課題

以前から多くの開発ツールにはコード・アシスト機能が付属し、プログラム言語に合わせてコーディング時に次のいくつかの単語を予測して表示し選択することができました。IF文の次はTHENがきたり、その次はELSEが必要になったりと予測が容易なためです。このコード・アシスト機能は生成AIによって大幅に賢くなり、単語だけでは無く次の数行も予測できるようになりました。また、日本語でロジックを記述しそこからプログラムを生成することも可能になりました。これは、生成AIの基盤モデル(LLMなど)が様々なプログラミング言語を学習し、さらに広い前後関係を見てそこから数行のプログラムを生成できるようになったためです。
しかし生成AI活用によりプログラミングは楽になりましたが、人がコード開発に要する工数は大きくは減ってないという意見も聞こえてきます。コード・アシスト機能によりプログラムの構文を調べたり、タイピングする時間は減るものの全体から見るとその割合はあまり大きくは無いからです。また、企業ごとに異なるコーディングの標準や特徴を一般的なコード・アシスト機能は分からないため、効果が薄い部分もあります。またコーディングそのものにかかる時間はアプリケーション開発全体の中でも25%程度と言われ、それ以外の現行システムの仕様の理解・分析や、テストにも時間がかかっています。

図2. 開発フルライフサイクルでの生成AIを含めたツール活用例

それを解決するためには、アプリケーション開発における分析・要件定義・設計・コード開発・テストなどのフルライフサイクル全体に様々なツールを適用していきます。(参照: 図2)。例えば生成AIは、コード生成だけでなく、既存のコードから仕様書を生成したり、要件定義に活用したり、画面や基盤スクリプトを生成したりテストを容易にすることも可能になります。テストも、テストの打鍵テストを自動化するツールはありますが、その自動打鍵のための準備の負荷が高くなかなか活用が進んでいません。そこで、生成AIを活用し、自然な日本語でテストシナリオを記述すると、そこから打鍵テスト自動化用のスクリプトを自動生成するような効率化が可能になります。
また、たとえ既存のコードから機能の中身の詳細な仕様書を起しても、アプリケーションの全体の構造が分からないと全体を理解することはできません。そのためサブルーチン呼び出しの関連図などを生成する構造可視化ツールや影響分析ツールも必要になります。
このように、既存の開発プロセスの中に随所に生成AIや様々な賢いツールを導入していくことで開発全体を効率化することが可能になります。

プロジェクト環境に則したコード生成

通常企業の基幹システムは、決められた標準や規則に則ったコーディングが実施されています。例えば作成されたプログラムのセキュリティや性能を確保するために、画面とのデータのやり取りにフレームワークが使われていたり、データベースの接続方式が決まっていたり、SQLやログの書き方も決まっているケースが多いです。一般的な生成AIの基盤モデルは企業固有の標準が学習されていないため、それらの情報を生成AIに伝えてそれに合った生成をさせることが必要になります。
企業固有の情報を生成AIに伝えるには、RAGにより生成AIにデータベースなどから情報を与えることでその情報に則したアウトプットを得る方式や、ファイン・チューニングなどにより基盤モデルに追加学習する方式などがあります。チューニングには新しいオープンなInstructLabという方式もあります。アプリケーションの仕様など変更されやすいものはRAGで情報を与え、その企業で使われるプログラミングのスタイルや標準などあまり変わらないものはチューニングを使うなど、組み合わせることも可能です。その企業が、生成AIに伝えたい情報の量や種類によって組み合わせ方を検討することが適切です。

図3. コード生成AIのためのチューニングの組み合わせ例

IBMでは、図3のように、右上のお客様コードでチューニングした基盤モデルと、真ん中の統合リポジトリのようなデータベースからの情報取得の両方を組み合わせてコード生成を実施することで、よりコードの生成率を上げる手法も採用しています。この場合は、お客様のコードのスタイルや標準を基盤モデルをチューニングすることで学習し、データベースなどアプリケーションの仕様に関してはデータベースで管理したものを生成AIに与えることで、よりお客様環境に則したコードを生成することが可能になります。

AIを活用したIT運用の高度化

開発もそうですが、IT運用も既に企業の中で手順が確立され日々運用されているケースがほとんどです。IT運用のために一般的な生成AIにアクセスし、チャットでいろいろと問い合わせても、そこにその企業固有のシステム情報や現在の情報は入っていないため効率化は難しいでしょう。既存のITシステムやIT運用のために導入されているツール群がAIと連携できるようにし、既存の運用手順をAIに教えることでその企業の現在の運用手順を効率化することができます。
例えばIBMのIT運用の高度化の事例では、図4のようにIT運用の随所にAIを活用することで効率化を実現しています。左のヘルプ・デスクの高度化は、エンド・ユーザーから上がってくる問い合わせやリクエストを、AIを活用したチャットボットで対応することでヘルプ・デスクの人の負荷を減らすことができます。その際、ユーザーからのパスワードのリセット依頼に対応するためにその企業のパスワードのリセットの手順をAIに教えておくと、AIチャットボットが依頼に応じてリセットを自動実行することが可能になります。その際、パスワードのリセット依頼が本人の物であることをあらかじめ認証しておくことは必須です。そのためには、企業内の認証システムとAIチャットボットが連携が必要になります。
またユーザーの依頼が運用/保守担当者が対応すべき内容であれば、チケット管理サーバーに一旦自動的に登録され、運用/保守担当者に引き継がれます。それを運用オペレーターや保守担当者が対応する場合に、AIがサポートすることで対応を迅速ができます。IBM BlueBuddyというソリューションでは、運用担当者が多数のチケットを全て読んで対応する優先順位を検討しなくても、AIが優先順位に応じて多数チケットの文章を要約して知らせてくれるため、優先順位に応じた対応の意思決定のスピードを向上できます。また、何らかの問題を解消するための対処方法を過去の履歴の中からAI検索したり、その対処方法に応じた基盤構成変更スクリプトのコードをAIで自動生成したりできます。
IT運用におけるAI活用は、現在のIT運用で負荷がかかっているポイントを抽出し、それぞれの負荷をAIで軽減し効率を向上させることで効果を発揮します。

図4. AIを活用したIT運用高度化の例

まとめ

IT分野では、現在ある開発のプロセスや運用手順に対して、各企業が改善すべき課題を明確にし、その課題に関して具体的なAI等を活用した解決法を検討し実装していく必要があります。今後このProVisionにおいて、それらの主なIT課題に対する具体的なAIソリューション例を特集していきます。各企業におけるIT変革のためのAI活用の参考にしていただければと思います。

*「IT変革のためのAI」テーマの他の記事はこちら↓

IT変革のためのAI :コード生成のためのAI(Java編)

IT変革のためのAI :自律型IT運用を実現する AI for ITOps


[参考文献]

[1] IBM Newsroom: 日本IBM、企業の全社的なAIの本格活用を支援するフレームワーク「デジタル変革のためのAIソリューション」を発表, https://jp.newsroom.ibm.com/2024-08-08-IBM-AI-Solutions-for-Digital-Transformation

IBMIBM ロゴは、米国やその他の国におけるInternational Business Machines Corporationの商標または登録商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点でのIBMの商標リストについては、https://www.ibm.com/legal/copyright-trademarkをご覧ください。

ProVision一覧はこちらから


#Highlights
#Highlights-home

0 comments
86 views

Permalink