Upgrade to Pro — share decks privately, control downloads, hide ads and more …

塩漬けコードの移行を確実に加速する実践知。CNCF Konveyor と『ナレッジ注入AI...

塩漬けコードの移行を確実に加速する実践知。CNCF Konveyor と『ナレッジ注入AI』で実現するモダナイゼーション

数年放置された​「塩漬け」の​レガシーJavaアプリケーション。​その​バージョンアップや​フレームワーク移行は、​エンジニアに​とって​創造性の​ない​「苦役」​その​ものです。​
近年、​生成AIに​よる​コード修正が​注目されていますが、​単に​IDEで​AIチャットを​するだけでは、​大規模な​プロジェクト全体の​整合性を​保つことは​困難で​あり、​ハルシネーション​(嘘の​コード生成)の​リスクも​排除できません。​
本セッションでは、​CNCFプロジェクト(https://www.cncf.io/)である​「Konveyor」と​生成AIを​組み合わせ、​レガシーアプリの​移行を​どこまで​自動化できるか​検証した​結果を​共有します。​

Other Decks in Technology

Transcript

  1. Copyright © 2026 Red Hat K.K. All Rights Reserved. 1

    1 Any workload. Any app. Anywhere. "塩漬け"コードの移行を確実に加速する実践知。 CNCF Konveyor と『ナレッジ注入 AI』で実現するモ ダナイゼーション Masahiro Nakagawa Senior Consultant Hiroyuki Kaneko Associate Principal Consultant
  2. Copyright © 2026 Red Hat K.K. All Rights Reserved. 2

    自己紹介 Senior Consultant 中川 雅 博 レッドハットにて Quarkus や Spring Boot を活用し た、高パフォーマンスなクラウドネイティブ・アプリの 実装支援や既存資産の価値を最大化するためのア プリケーション・モダナイゼーション推進などを担当 Associate Principal Consultant 金子 浩 之 レッドハットにてコンテナ基盤環境である OpenShift の導入支援や運用支援を担当。 MLOps 基盤である OpenShift AI の導入支援なども担当
  3. Copyright © 2026 Red Hat K.K. All Rights Reserved. "塩漬け"コードの移行を確実に加速する実践知

    CNCF Konveyor と『ナレッジ注入AI』で実現するモダナイゼーション 3 01 02 モダナイゼーションの難しさと AI の活用 実機検証について Agenda 03 Cursor の検証結果 04 Konveyor AI の検証結果 05 まとめ
  4. Copyright © 2026 Red Hat K.K. All Rights Reserved. "塩漬け"コードの移行を確実に加速する実践知

    CNCF Konveyor と『ナレッジ注入AI』で実現するモダナイゼーション 4 Choice モダナイゼーションの難しさと AI の活用 01
  5. Copyright © 2026 Red Hat K.K. All Rights Reserved. モダナイゼーションにおける課題

    5 引用: State of Application Modernization Report 2024 https://konveyor.io/modernization-report/ 48% レガシーシステムの複雑さ モダナイゼーション初期段階の企業では58%に増加 42% 優先順位の競合 ⼩規模な取り組みを終えた企業では33%に低下 41% 最適なアプローチ決定の難しさ 初期段階の企業では55%が直⾯ 組織が直⾯する課題 システムの複雑さが最も多く直面する課題として認識されている
  6. Copyright © 2026 Red Hat K.K. All Rights Reserved. 複雑性の正体:移行を難しくするのは、実装量より理解負荷

    6 58 〜 70 % 開発者が「コード理解」に 費やしている時間の割合 実際に編集している時間はわずか 5% 程度 (ACM Communications より) 引用: ACM Communications: From Code Complexity Metrics to Program Comprehension https://cacm.acm.org/research/from-code-complexity-metrics-to-program-comprehension/ 既存コードを理解する 依存関係を見極める 移行先を理解する 変換後の妥当性を確認 何をしているのか、なぜそう書いたのかを読み解く 変更の影響がどこまで波及するかを把握する 新APIや新フレームワークの使い方を習得する 正しく動くことを検証する 移行では「理解コスト」が二重にかかる。コーディング速度の問題ではない。
  7. Copyright © 2026 Red Hat K.K. All Rights Reserved. モダナイゼーションにおける

    AI の活用 7 引用: State of Application Modernization Report 2024 https://konveyor.io/modernization-report/ 障壁を乗り越える為に、約8割の企業がAIを使⽤している AIの活⽤状況 AIの活⽤⽬的 促進⽬的で 使⽤ 53% アプリに 追加し モダナイズ 42% 利⽤予定 なし 24% パフォーマンス最適化 ⼿作業の削減‧排除 テスト⾃動化 / QA レガシーコードの特定 78% 51% 45% 41% ※複数選択による回答
  8. Copyright © 2026 Red Hat K.K. All Rights Reserved. AI

    を利用した開発のトレンド 8 手軽に疑問を解消できる 「便利な知恵袋」 文脈が途切れやすく、「システム全体を 見据えた開発には不向き」 人間のコントロール下で 「手堅くコーディングをサポート」 人間がタイピングする限り、「劇的な生産 性向上には届かない」 要件を投げるだけで最後まで作り 上げる「圧倒的な自動化」 意図とのズレやブラックボックス化を招く 「制御不能リスク」 (例:バイブコーディング) アシスタント型 (コード補完) AIエージェント型 (⾃律稼働) チャット型 (Q&A) AI を利用した開発の種類 ソフトウェア開発における AI活用は「チャット」から「自律エージェント」など幅広い
  9. Copyright © 2026 Red Hat K.K. All Rights Reserved. 9

    AI-Augmented Development(AI拡張開発) 最近の調査や事例を⾒ると、完全⾃動化よりも、⼈間とAIが協働する 「AI-Augmented」型の活⽤が広がっている。 “High-adoption countries show less automated, more augmented use: After controlling for task mix by country, low AUI countries are more likely to delegate complete tasks (automation), while high-adoption areas tend toward greater learning and human-AI iteration (augmentation).” AI利用が進んだ国では、完全自動化よりも、人間とAIが協働するかたちで使われる (Augmentation)が多い/優勢であることが見られる。 “Anthropic Economic Index report: Uneven geographic and enterprise AI adoption”(2025年9月15日付) 人間とAIが協働する形で 作業を分担 人間の知見を活かし「品質と意図の正確 な反映」を確保 AI拡張型 (共同作業)
  10. Copyright © 2026 Red Hat K.K. All Rights Reserved. "塩漬け"コードの移行を確実に加速する実践知

    CNCF Konveyor と『ナレッジ注入AI』で実現するモダナイゼーション 10 Choice 実機検証について 02
  11. Copyright © 2026 Red Hat K.K. All Rights Reserved. 11

    実機の検証結果 実機の検証内容 AIエージェント AI拡張開発 VS
  12. Copyright © 2026 Red Hat K.K. All Rights Reserved. AI

    が自律的に修正を行い移行を完了させる 12 Cursor は、AIとの対話でコードの編集・生成・説明ができるAI統合型コードエディタ AI統合型エディタ AIとの対話を通じて コードの編集、生成、 説明が可能 プロンプトベース AIによりソースコードを アプリが動作するとこ ろまで修正が可能
  13. Copyright © 2026 Red Hat K.K. All Rights Reserved. 小さな単位でレビューを実施しながら進める

    13 Sandbox プロジェクト レガシーアプリをクラウドネイティブ環境(Kubernetes等)へ大規模かつ確実に移行するための、オープンソース の分析・変換ツール ソースコード解析 Kantra を利用した静的 解析による移行箇所の 分析 修正案の生成 解析結果をベースに ソースコードの修正案 をLLMで生成 人によるレビュー 修正毎に人が介在す ることで修正内容を小 さく確認
  14. Copyright © 2026 Red Hat K.K. All Rights Reserved. 14

    検証について 実機により検証したソースコード • Red Hat のブランドショップ (Cool Store クラス数 30 程度、1.8k 行程度) のサンプルアプリ • Keycloak, PostgreSQL を利用したシンプルなアプリケーション • バックエンドはそのままで、 Java のライブラリの移行を行う UI/REST JBoss EAP 7.4 CoolStore アプリ 認証 データストア PostgreSQL マイグレーション対象 UI/REST Quarkus CoolStore アプリ
  15. Copyright © 2026 Red Hat K.K. All Rights Reserved. "塩漬け"コードの移行を確実に加速する実践知

    CNCF Konveyor と『ナレッジ注入AI』で実現するモダナイゼーション 15 Choice Cursor による検証 03 AIエージェント
  16. Copyright © 2026 Red Hat K.K. All Rights Reserved. Cursor

    における修正の流れ 16 計画 解析 修正 テスト 確認 ビルドやテスト、アプリの起動テストが完了するまで繰り返し コード 確認 Cursor による修正のサイクル レビュー • Cursor に修正が完了するまで実行を依頼 • 完了後に修正内容を把握する目的でコードレビューや実機確認を実施
  17. Copyright © 2026 Red Hat K.K. All Rights Reserved. 17

    実機の検証結果 AIエージェント (Cursor) を利用した結果 結果:アプリケーションが動作するところまで修正が完了したが、手放しで修正が完了するほど簡単な結果 にはならなかった ソースコードを直接修正する操作な く、プロンプトのみでアプリケー ションが動作するところまでの修正 が完了 移⾏に不要な意図しないリファクタリ ングが 3 件発⽣し、差分のレビュー負 荷が極めて重い また、2 件のバグに近い修正が追加さ れる 修正の根拠がAIの判断に委ねられ 組織で横展開できる具体的なナレッジ が⼿元に残っていない
  18. Copyright © 2026 Red Hat K.K. All Rights Reserved. 実機の検証結果

    - 障害の一例 18 Producers.java:23-35 @Produces @Dependent public JMSContext produceJMSContext(ConnectionFactory connectionFactory) { return connectionFactory.createContext(); } @Produces @OrdersTopic public Topic produceOrdersTopic(ConnectionFactory connectionFactory) { try (JMSContext context = connectionFactory.createContext()) { return context.createTopic("orders"); } } 障害の埋め込み:「アプリとメッセージブローカーとの接続」である JMSContext を作成しているもの の、 回収していないコードが追加されました 。 また、単純な実機確認や既存のテストコードでは検出できない障害が埋め込まれました。
  19. Copyright © 2026 Red Hat K.K. All Rights Reserved. 19

    実機の検証結果 - 意図しない修正の一例 AIエージェントの修正による意図しない変更点 意図しない修正の例として、メソッドの呼び出しを集約するなどの改善が行われていた。 結果的に動作に問題を与えていないものの変更の内容の確認にはアプリケーションの動作の深い理解が 求められる OrderService.java - @Stateless + @ApplicationScoped public class OrderService { - @PersistenceContext + @Inject private EntityManager em; + @Inject + private CatalogService catalogService; + @Transactional public void save(Order order) { em.persist(order); } + /** Saves order and deducts inventory in a single transaction (CMT equivalent). */ + @Transactional + public void saveOrderWithInventoryUpdate(Order order) { + em.persist(order); + order.getItemList().forEach(orderItem -> + catalogService.updateInventoryItems(orderItem.getProductId(), orderItem.getQuantity())); + } 改善修正の1つ:アプリケーションの振る舞いに関わる変更
  20. Copyright © 2026 Red Hat K.K. All Rights Reserved. 実機の検証結果

    - 障害の一例 (おまけ) 20 テストがないケースは検出できない:画像の表示に関してのテストがない場合は、問題をそもそも認識し ないため修正対象にならなかった 以下は Spring petclinic のサンプルアプリを修正したときの期待と結果 本来欲しかった結果 最初に得られた結果
  21. Copyright © 2026 Red Hat K.K. All Rights Reserved. 21

    実機の検証結果 AIエージェント (Cursor) を利用した結果 検証を通じてわかったこと ▸ ⾔語は指定せずとも理解してマイグレーションを実施する ▸ 依頼したマイグレーションは完遂 ▸ 意図しないリファクタリングが紛れ込み、結果的に障害を埋め込む可能性がある ▸ テストが存在しない場合は、問題に気付けないため修正もされない可能性がある ▸ すべての修正が完了したあとのレビューは⾮常に苦しい
  22. Copyright © 2026 Red Hat K.K. All Rights Reserved. "塩漬け"コードの移行を確実に加速する実践知

    CNCF Konveyor と『ナレッジ注入AI』で実現するモダナイゼーション 22 Choice Konveyor AI による検証 04 AI拡張開発
  23. Copyright © 2026 Red Hat K.K. All Rights Reserved. Konveyor

    AI における修正の流れ 23 静的 解析 LLM 問合 修正案 提示 結果 確認 テスト 問題が検出されなくなるまで繰り返し Konveyor AI のタスク 人のタスク • Konveyor AI で静的解析を実施し、問題ごとにコード修正を依頼 • 完了後に修正内容を把握する目的でコードレビューや動作確認を実施 検出されない問題がある場合はルールを追加して繰り返し
  24. Copyright © 2026 Red Hat K.K. All Rights Reserved. 24

    Konveyor AIのコード修正の流れ 静的解析 × LLM:整合性を意識したマイグレーション ▸ エンジニアが指⽰を書く代わりに、解析レポートがLLMに対するプロンプトとして機能する ▸ コードだけでなく、詳細な根拠も提⽰することでエンジニアのレビュー負荷を軽減 ▸ 過去の移⾏修正実績もベースにし、修正⽅法を提案 ソースコード プロンプト Konveyor静的解 析レポート + LLM モダナイズさ れたコード 詳細な根拠 静的解析ルール セット 解析結果 VS Code 拡張(Konveyor)上の流れ 過去の移⾏ 修正実績
  25. Copyright © 2026 Red Hat K.K. All Rights Reserved. 25

    Konveyor AIのコード修正の流れ 静的解析 × LLM:整合性を意識したマイグレーション ▸ エンジニアが指⽰を書く代わりに、解析レポートがLLMに対するプロンプトとして機能する ▸ コードだけでなく、詳細な根拠も提⽰することでエンジニアのレビュー負荷を軽減 ▸ 過去の移⾏修正実績もベースにし、修正⽅法を提案 ソースコード プロンプト Konveyor静的解 析レポート + LLM モダナイズさ れたコード 詳細な根拠 静的解析ルール セット 解析結果 VS Code 拡張(Konveyor)上の流れ 過去の移⾏ 修正実績 使用したLLMモデル • deepseek-r1-qwen-14b-w4a16 • gemini-2.5-pro(クラウドサービス)
  26. Copyright © 2026 Red Hat K.K. All Rights Reserved. 26

    実機の検証結果 AI拡張開発( Konveyor AI)を利用した結果 ▸ 静的解析による移⾏箇所のピンポイントでの 抽出 ▸ コンテキストの具体化により、誤修正は抑制 される ▸ 修正範囲の局所化により、レビュー品質、⼯ 数も改善 結果:調査・修正の初動は劇的に速くなる。一方で、 APP全体の整合性は依然として人が守るべき領域 ▸ ビルド‧依存関係の解消には、静的解析以外 の情報(pom.xmlの整合性等)が必要 ▸ 明⽂化されていないアーキテクチャ⽅針や設 計意図は、LLMの推論が不安定になりがち
  27. Copyright © 2026 Red Hat K.K. All Rights Reserved. 27

    実機の検証結果 - AI拡張開発(Konveyor AI)
  28. Copyright © 2026 Red Hat K.K. All Rights Reserved. 28

    検証でわかったこと 検証で⾒えてきたAI拡張開発(Konveyor AI)の実践知 検証を通じてわかったこと ▸ 「型の変換」に徹し、ビジネスロジックは壊さない ・ Java EEの特定APIをQuarkusに書き換えるような、”お作法の置換”は⾼精度 ・ 既存のロジックに⼿を⼊れないため、デグレードのリスクを最⼩限に抑えられる ▸ 静的解析ルールによるガードレール ・ ルールでLLMの振る舞いを縛ることで誤修正を抑制できる ▸ 依存関係(pom.xml)の最終調整は⼈が⾏うべき ・ Web検索をしないので最新の情報は持たない。バージョンは特に調整が必要 ▸ LLMのレベルは⼤事 ・ 解析レポートを正しく解釈し、コードの整合性を保つには性能が⾼いモデルが不可⽋
  29. Copyright © 2026 Red Hat K.K. All Rights Reserved. "塩漬け"コードの移行を確実に加速する実践知

    CNCF Konveyor と『ナレッジ注入AI』で実現するモダナイゼーション 29 Choice まとめ 05
  30. Copyright © 2026 Red Hat K.K. All Rights Reserved. まとめ

    30 Cursor (AIエージェント) Konveyor AI(AI拡張開発) • 広範囲な言語・フレームワークに対応 • 強力な文脈理解と補完 • エディタ内でシームレスに使える • プロジェクト全体のコードを参照 • 移行ルールの事前定義は不要 • 意図しない改善が含まれる可能性 • 改善によるバグが含まれる可能性 • 修正全体を理解するのは容易ではない • 静的解析で問題箇所をピンポイント特定 • 修正範囲が局所的なのでレビューコスト低 • ロジックの改善はしない • 組織固有ルールの追加適用と再利用が可能 • 過去の移行実績を元にコード修正案を提示 • ビルド・依存関係の修正は整合性を取るのが 苦手 • エンタープライズの移行を考えたときに知見や修正が移行のみになる点では Konveyor AI が優位 • ロジックの把握や評価を行う上では Cursor の利用が適している
  31. Copyright © 2026 Red Hat K.K. All Rights Reserved. linkedin.com/company/red-hat

    youtube.com/@redhat facebook.com/RedHat x.com/RedHat 31 31 31 Red Hat is the world’s leading provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. Thank you Any workload. Any app. Anywhere.