【Google Cloud最新事例】シーメンスが挑む巨大レガシーコードのAIモダン化「Knowledge Fabric」とは?
工場やエネルギー網、交通インフラを支える産業用ソフトウェアは、極めて大規模かつ複雑です。十数年以上にわたって開発されてきた数億行の「レガシーコード」の保守や最新環境への移行は、多くの技術者にとって頭の痛い課題です。

シーメンスが挑む巨大レガシーコードのAIモダン化「Knowledge Fabric」とは?
一般的なAIコードアシスタントでは太刀打ちできないこの難題に対し、シーメンスとGoogle Cloudが共同で開発したのが、AIシステム「Knowledge Fabric」です。
このシステムがなぜ画期的なのか、その仕組みとアプローチを紐解きます。
1. 標準的なAI(RAG)では解決できない「4つの壁」
大規模な産業用ソフトウェアのモダン化は、しばしば「飛行機を飛ばしながら修理するようなもの」と例えられます。シーメンスが直面していた課題には、以下の4つの次元がありました。
規模(Scale): コードベースが巨大すぎて、一般的なLLMのコンテキストウィンドウ(一度に読み込める量)を遥かに超える。
断片化(Fragmentation): 必要な知識がコードだけでなく、Jiraのチケット、Confluence、さらには2000年代初頭のスキャンされたPDFマニュアルなどに分散している。
複雑性(Complexity): 1行のコードが、10年前の設計ドキュメントのどの要件に対応しているかを追跡するのが極めて困難。
責任(Responsibility): 産業用システムは15〜20年にわたり厳格な品質やコンプライアンスを満たす必要がある。AIの「ハルシネーション(嘘)」や検証されていない変更は許されない。
技術リードのAgata Gołębiowska氏は、「コードは単なるテキストではない」と指摘しています。クラス、ファイル、モジュールという「構造と関係性」が存在するため、これらを単純にベクトルデータベースに平坦化して格納するだけの標準的なRAG(検索拡張生成)では不十分だったのです。
2. 解決策:構造を理解する「Knowledge Fabric」
この課題を解決するため、チームはコードとドキュメントの「関係性」をモデル化するドメイン特有のナレッジグラフを構築しました。基盤には「Spanner Graph」が採用されています。
Knowledge Fabricは、以下の3つの手法を組み合わせて高精度な検索を実現しています。
グラフクエリ(GQL): コードの構造や依存関係を正確にトラバース(巡回)する。
ベクトル検索(ANN): ノードごとに埋め込み(Embeddings)を生成し、意味的な類似性を検索する。
全文検索: キーワードによるピンポイントの抽出を行う。
これらを組み合わせることで、たとえば「軸制御パネルのロジックを変更した場合、どの関数を更新する必要があるか?」といった複雑な問いに対し、AIエージェントがグラフを探索し、依存関係や関連ドキュメントを特定して正確な影響分析を提示できるようになりました。

3. 「ゾウを細切れにする」マルチエージェント・ワークフロー
このプロジェクトから得られた重要な知見の一つが、「AIエージェントは、大規模で曖昧なタスクが苦手である」ということです。「このモジュールをリファクタリングして」という大雑把な指示では、AIは機能しません。
そこでチームは、タスクを小さく分割して専門のエージェントに処理させる「Slicing the elephant(ゾウを細切れにする)」というデザインパターンを採用しました。
Google Agent Development Kit(ADK)で構築された専門エージェントたちは、以下のように連携します。
検索エージェント: コードグラフとドキュメントを深く調査する。
ユーザーストーリーエージェント: プロダクトオーナーへのヒアリングを基に、要件を満たすストーリーを起票する。
アーキテクチャ影響分析エージェント: コードを書く前に、変更による副作用を予測する。
タスク分割エージェント: 影響分析を基に、作業をコンテキスト付きの小さなタスクに分解する。
コーディングエージェント: 分割された具体的なタスクに基づいて、初めて実装を行う。
ポイント:Human in the Loop(人間の介在)
すべてのステップに人間(エンジニア)が介在してレビューを行うことで、産業用基準を満たす確実性を担保しています。事前の文脈理解と分析なしにコーディングエージェントに直行させないことが、実用的なコードを生み出す鍵となっています。
4. パイロット運用の成果とこれからの開発
レガシーな制御パネルをモダンなWebベースのインターフェースに移行する運用のパイロットテストにおいて、Knowledge Fabricは全体のコーディング労力を大幅に削減しました。
従来、シニアエンジニアが数日かけてコードベースと過去のドキュメントを読み解いていた依存関係の分析が、短時間で完了するようになっています。これにより、エンジニアはルーティンワークから解放され、より付加価値の高い顧客向けイノベーションに集中できるようになりました。
まとめ:実務における生成AI活用のヒント
今回のシーメンスの事例は、生成AIを単なる「定型コードの書き出しツール」として使うのではなく、「巨大なシステムの構造を理解させ、自律的なワークフロー(エージェント)に分解して解かせる」という、一歩進んだ実務活用の形を示しています。
大規模な環境に限らず、私たちが日々の開発やインフラ構築においてAIを活用する際にも、「タスクを構造化し、専門の役割に細分化してアプローチする」という考え方は非常に強力なヒントになるのではないでしょうか。
いいなと思ったら応援しよう!
忍の知恵と技術への「お布施(チップ)」を賜りたく存じます。頂いた財は、持続可能な社会、子供たち、自然、そしてあなたへの還元(有益な発信・開発)に全額投資いたします。画面下のボタンより、影の立役者たる拙者への御調達をお願い申す。一期一会の御縁に、深き感謝を。