難航するレガシー資産のマイグレーション
DXを進める上で、レガシー化した既存システムが障害となっているケースは少なくない。「レガシー化」といっても、中身のロジックには自社のコアコンピタンスが大量に含まれているため、安易に捨て去ることはできない。システムのアーキテクチャーやUI/UXをモダナイズ(近代化)してこそ有益な情報資産として継承し、自社の新たな強みや価値を生み出す源泉とすることができる。しかし、この作業は想像以上に多くの人的リソースを必要とし、難航しがちだ。
このような課題を解決する有力な手段として注目されているのが、日経統合システムが提供している「コード解析支援AIソリューション」である。
ビジネスデザインユニット
マネジャー
佐々木 啓輔氏
同社の佐々木 啓輔氏は、「ソースコードを読み込み、独自のAIロジックで処理内容やプログラムの依存関係などシステム全体を可視化します。これによってレガシー化したシステムのマイグレーションの生産性を向上させ、現場のエンジニアの負担を軽減します」と、その概要を説明する。
スクラッチ開発したレガシーシステムでは、当時の設計書はもとより、長年にわたって重ねてきた改変の詳細を記したドキュメントが残っていないケースが多い。そこで、ソースコードを基にシステムの仕様やロジックを読み解くという方法を試みるが、そのコード自体がCOBOLやPL/I、RPGなどの旧世代の言語で記述されている。理解できるエンジニアが既に定年退職してしまっているケースも多く、システムの可視化だけでも相当な労力が必要になってしまう。
こうした課題を解決し、レガシーシステムのマイグレーション/モダナイゼーションを強力に後押ししてくれるのが、コード解析支援AIソリューションである。同ソリューションには大きく3つの特徴がある。
若手エンジニアとAIがタッグを組んだ体制へ
ビジネスデザインユニット
梅本 直義氏
1つ目は、システム全体の可視化。プログラム全体の関数やファイルの依存関係を読み解いて分かりやすく表示する。「改修する場合は、その対象を明らかにするとともに、影響範囲の特定にも役立ちます」と同社の梅本 直義氏は説明する。
2つ目は、コード検索と処理の要約だ。自然言語でプログラムコードを検索すると、改修すべきファイルやコードの候補をランキング形式で回答する。合わせて、コードに記述されたロジックを要約して示してくれるので、当該システムに精通したエンジニアがいなくても処理内容を理解することができる。
そして3つ目が、改修コード案の生成。指示した要件に基づいて、どういった改修を行うべきなのかを提示する(図1)。「改修までのプロセスを短縮することで、人数の限られたエンジニアの生産性を高めます」(梅本氏)。
図1 コード解析支援AIソリューションの概要
自然言語で指示した内容をAIが解析し、プログラムや関数間の依存関係を可視化。改修箇所を特定し、改修内容に応じたコード案を生成する。なお、AIによるこれらの回答の確認、最終判断はエンジニア自身が行う
ただしコード解析支援AIソリューションは、エンジニアによるマイグレーション/モダナイゼーション作業を代替するものではない。この点については注意が必要だ。「AIによる回答はあくまでも参考とすべきアドバイスであり、内容の確認および最終判断は必ず人間が行います」と佐々木氏は強調する。
これはコード生成を主目的とした他社製品と、コード解析支援AIソリューションとの間の設計思想の根本的な違いによるところが大きい。他社製品は、ファイルや機能などの構造レベルで情報を持つことでコードを把握する。対してコード解析支援AIソリューションは、コードがどのような処理をしているのか、どのような依存関係があるのかといった“意味レベル”の情報を持つことによって、システムそのものを理解するのだ。これによってコード解析支援AIソリューションは、エンジニアにとっての“よき相談相手”となる。
「これまで若手エンジニアは、ごく少数の熟練者に依存せざるをえませんでしたが、このソリューションを活用すれば、若手エンジニアだけでAIとタッグを組んでシステム運用や改修に当たり、マイグレーション/モダナイゼーションを推進することも可能です」と佐々木氏は訴求する。
人間と違って疲れ知らずのAIに対しては、遠慮する必要がなければ時間の制限もない。若手エンジニアの問い合わせや指示に対して、いつでもマンツーマンで求められる限りの対応を行い、ナレッジの共有を図ることができる。
システム把握の工数削減や属人性の解消に寄与
日本経済新聞社グループのITサービス会社として、長年にわたりITインフラや基幹システムの構築・運用を手がけてきた日経統合システムが、このソリューションの開発に踏み切った背景には、どのような経緯があるのだろうか。実は同社自身も、レガシー化したシステムのマイグレーションに際して、世間と同様の課題を抱えていたのである。
「所有している業務システムの中には10年以上にわたって運用を続けてきたものがありますが、開発に携わったメンバーの多くが既に退職しています。残った少数のメンバーが専任者となって維持・メンテナンスを続けてきたのですが、結果として、他のメンバーには分からないブラックボックスとなってしまい、専任者を通さなければ手を入れられない状態になっていました。今後これらのシステムのマイグレーション/モダナイゼーションを進めていくためには、まずは属人性を排除することが不可避と考え、この課題の解決にAIを活用できないか検討を始めました」と佐々木氏は振り返る。
この課題に対して、AIを学術的に取り扱うベンチャーのアキバ共和国に相談し、2023年に共同研究プロジェクトが発足。この共同研究の成果を受けて、アキバ共和国が「YAGOKORO」を開発した。
YAGOKOROはコード解析に特化したAIエンジンである。ソースコードを入力して改修内容を自然言語で指示するだけで、対象となるファイルや変更箇所を洗い出して提示するとともに、さらには改修後のコード案まで生成してくれる。コード全体を理解することによって、システム全体の可視化はもちろん、AIとエンジニアの検索や会話を通じて、システム運用の負荷を大幅に軽減してくれるのが、YAGOKOROの最大の特徴だ。
「基礎的研究のときから我々と課題意識を共有するYAGOKOROは、言語の種別を問わずコード解析に対応することができ、システム把握の工数削減や属人性の解消に大きく寄与します」と佐々木氏は語り、YAGOKOROをコアとしたコード解析支援AIソリューションをビジネス展開することになった。
社内に蓄積されたナレッジを有効活用
さらに同社は、AIを利用し、社内の知見を効率的に有効活用する「ナレッジ活用型生成AIソリューション」の提供も開始している。
「システム機能を改修してほしいが、提案依頼書(RFP)をどのように書けばよいのか分からない」「情報が複数の文書に散らばっていて、必要な情報の抽出や最新情報に確認に多大な時間を費やしている」「定型文書を完成させるまでの作成・校正にも多くの手間がかかっている」といった、ドキュメントの作成・更新・管理にまつわる課題を解決するものだ(図2)。
図2 ナレッジ活用型生成AIソリューションの概要と特徴
コード解析支援AIソリューションのAIエンジンを応用し、ドキュメントの作成・更新・管理にまつわる課題を解決する。企業ごとの要望に応え、文書生成やコールセンター対応支援など専用の環境を提供することが可能だ
ビジネスデザインユニット
矢挽 洋輔氏
「社内に蓄積されたナレッジを参照し、AIに文書を生成させたり、チャット形式で回答させたりすることもできます。130ページにおよぶ要件定義書を、わずか1、2時間で作成できた例もあります」と同社の矢挽 洋輔氏は説明する。
このナレッジ活用型生成AIソリューションの効果的な活用法として紹介しておきたいのが、社内チャットボットへの展開である。
社内規程や社内文書など活用したいナレッジデータをアップロードすると、LLM(大規模言語モデル)がそのナレッジデータを利用できるようになる。以降は、チャット形式で問い合わせるだけで、求めるナレッジが回答として示される。従来型の検索エンジンを用いたナレッジデータベースやFAQなどのシステムと異なり、ナレッジ活用型生成AIソリューションは蓄積されたナレッジデータからキーワードと関連度の高い情報を判別して補う。このため入力したキーワードがナレッジと一致しない場合も、より精緻な回答を得られるのがメリットだ。
「多くの企業がAI活用に高い関心を持っていますが、一方でそれによって何を実現できるのかが漠然としていることも否めません。そうした中で当社は、コード解析支援やナレッジ活用といった明確な目的を持ったAIソリューションを提示します。そこに大きな意義を感じていただけると自負しています」と佐々木氏は語る。日経統合システムは、今後に向けても幅広い企業のDX推進に寄与するソリューションを拡充していく構えだ。