本文へスキップ
原文
AWS ブログ(日本語・生成AI)· Yukitaka Ohmura·· 14 日前AIスコア53

AWS Japan、AIエージェントに規律ある移行をさせる「AI Modernization Flow」を公開

[AI-Driven Modernization] AIエージェントに規律ある移行作業をさせる「AI Modernization Flow」を公開しました

AIによる概要

AWS Japanは、KiroやClaude Codeに決められた手順でアプリケーション移行を進めさせるワークフロー「AI Modernization Flow(AIMF)」をGitHubで公開した。分析から最終確認まで6つのPhaseで進め、人の判断が必要な場面ではAIが止まる設計である。Playbookとして、Javaモダナイゼーション、.NET Framework、C言語のSolaris x86からAmazon Linuxへの移植を用意している。

解説

AIMFはAWS Samplesで公開されており、技術スタックの更新を行うRefactor型の移行を担う。開始時に必要なのは対象ソースコードの場所だけで、移行先の技術スタックは事前指定も、分析結果を見てからの決定もできる。Phase 0aの分析にはAWS Transform customを使い、複数サブシステムを並列に分析した結果はPhase 0bで統合できる。Phase 0bで止めれば、移行先候補と比較、概算規模、主要なリスク、移行方針案が得られ、アセスメントだけの利用も可能である。

背景として、AIに「Java 21に移行して」と頼むだけでは、ビルドとテストが通っても一部機能が動かない、機能を勝手に削る、実装理由を説明できない、といった問題が起きたという。Struts 7への更新では、新たに既定で有効になったセキュリティ設定で画面の値が空になったが、例外もなくHTTP 200で単体テストも成功しており、検出にはE2Eテストが必要だった。AIMFはこうした作業規律を型として与える。

仕組みとして、判断は後戻りコストに応じて3段階に分かれる。ユニット内部の実装は検証が通ればAIが進め、インターフェースやデータ形式の変更、機能の除外、Phase境界では選択肢と影響を示して人の判断を求める。完了判定はビルド成功だけでなく、実際に動かした自動テストの結果で行い、規律はできるだけ検証スクリプトに置き換えている。設計判断はADR、作業内容はworklog、作業状態はsession-contextに記録され、担当交代や中断後も再開できる。構成はMethod、Playbook、Harnessの3層である。

適用例として、Java 11、Struts 2.5、Spring 5で構成された約15万行のApache Rollerを、Java 21、Jakarta EE 10、Struts 7、Spring 6、PostgreSQL 17へ移行した。人とのやり取りを含め4日間で、既存の単体テスト157件が成功した。性能やリソースリーク、耐障害性は移行後の独立タスクに延期され、人が判断してADRに記録された。

対応コーディングエージェントはKiroとClaude Codeで、install.shを実行してAIエージェント用のルールと記録用リポジトリを準備する。クラウド環境の設計と構築は対象外で、ReimagineやUAT Automationについては担当営業への相談が案内されている。移行後の品質保証には、AIMFとは別に適切なテストが必要とされている。

出典: AWS ブログ(日本語・生成AI) · aws.amazon.com