エンタープライズアーキテクチャのリーダーなら、いずれ必ず「レガシーの最後通牒」に直面します。テレメトリーを見てください——もしあなたの Code City が、モノリシックな赤い塔が過密にひしめき合う無秩序な街並みだったら、

もし技術的負債が、莫大な修復コストを伴う重い評価にあったら、

そして、もし Dependency Structure Matrix(DSM)が蔓延する依存関係サイクルで赤く点灯していたら?

歴史的に、「スクラッチからのリライト」という選択肢は致命的な罠と広く見なされてきました——予算の暴走、ビジネス要件の未達、そしてピカピカの新しいスタックの中に全く同じ隠れた技術的負債を再現してしまう結果になりがちだったのです。
しかし、現代の AI コード生成と自動化されたコードインテリジェンスの台頭が、その定石を完全に覆しつつあります。
レガシーシステムのリライト——あるいはドメインロジックを最新のマイクロサービスへ抽出すること——は、わずか3年前と比べても格段に速く、リスクも低くなっています。ただし、AI がアーキテクチャ上のリスクを魔法のように消し去るわけではありません。リスクの所在が変わるだけです。
AI 加速時代の今日、エンタープライズアーキテクトは「リライト vs. リファクター」のジレンマをどう評価すべきかを見ていきましょう。
1. AI がリライトを現実的にする理由(そして失敗する場面)
自動コード変換からコンテキストを理解したボイラープレート生成まで、AI の能力は、ビジネスロジックを最新言語で作り直すのに必要な時間(例:C++98 からモダン C++20 への移行、レガシーモノリスからマイクロサービスへの移行)を劇的に短縮しました。
- AI の強み:AI はレガシーのビジネスロジックの解析、エッジケースを網羅する単体テストマトリクスの作成、そしてクリーンなターゲットアーキテクチャの足場構築を数秒でこなします。
- AI の罠:AI にはアーキテクチャ上の直感がありません。複雑に絡み合った循環的なレガシーコードベースを AI に与えれば、全く同じスパゲッティアーキテクチャの、より高速でモダンなバージョンを喜んで生成するでしょう。
2. 構造的ディスカバリーフェーズ:プロンプトの前に依存関係をマッピングする
AI アシスタントや開発者にシステムのリライトを任せる前に、厳密な構造的境界を確立しなければなりません。悪いアーキテクチャからプロンプトだけで抜け出すことはできないのです。
- 絡み合いをマッピングする:自動化されたコードインテリジェンスと依存関係マトリクスの可視化を使い、パッケージやサービス全体の循環依存、強い結合、「God オブジェクト」を特定します。
- アーキテクチャのシーム(継ぎ目)を特定する:構造分析を使って独立したドメインモジュールを切り分けます。これらのクリーンなシームこそが、AI 支援のモジュール単位リライトに理想的な境界です。
- 転換点を定量化する:モジュールの依存関係グラフがクリーンで孤立した境界を示すなら、AI はその場でのリファクタリングを支援できます。しかし、一つの結び目を緩めれば他の三つが崩れるような循環リンクの層に埋もれているなら、その特定ドメインに限定した AI 加速の境界付きリライトの方が、手動リファクタリングよりはるかに効率的です。
3. 継続的ガバナンス:「AI 生成の技術的負債」を防ぐ
AI は開発者に10倍の速度でコードを書くことを可能にする一方、10倍の速度でアーキテクチャのドリフトを持ち込むことも可能にします。現代のエンタープライズアーキテクチャには、CI/CD パイプラインに直接組み込まれた自動品質ゲートが不可欠です。
- レイヤリングルールを強制する:厳密な一方向の依存ルール(例:インフラストラクチャ ➔ コアドメイン)を設定します。
- 循環依存をブロックする:AI が生成した PR が許可されていないモジュール間結合を持ち込んだり、ドメイン境界に違反したりした場合、ビルドを自動的に失敗させます。
- 速度と複雑さを追跡する:コード生成のスピードがシステム全体の循環的複雑度を膨らませていないことを確認します。
4. 乗数効果:シニアアーキテクト + AI = スクラッチからの優れた再開発
AI コーディングアシスタントがグリーンフィールドでのリライトを「ボタン一つでできる商品」にする——誰でもプロンプト一つでモダンなアプリをゼロから生み出せる——という根強い俗説が、テック界隈に漂っています。
現実は、まったくの逆です。
ジュニア開発者や非技術系のビルダーが AI にレガシーシステムのスクラッチリライトを指示しても、モダンなアーキテクチャは手に入りません——手に入るのは、真新しい技術的負債をより速く生み出す手段です。AI は喜んで、動く・光る表層を作り上げますが、その下には微妙なレースコンディション、スケールしないデータベースアクセスパターン、壊れたドメイン境界が隠れています。
AI はアーキテクチャ上の直感、ドメイン境界、システム設計を置き換えるものではなく、それらを増幅させるものです。経験豊富なアーキテクトがシステム全体の再開発で AI を指揮するとき、結果はスピードだけではありません——クリーンなアーキテクチャ、パフォーマンス、長期的な保守性における量子飛躍です。
熟練したエンジニアが、プラットフォームをスクラッチから再開発する際に、専門知識と AI を組み合わせて卓越した成果を上げる方法を見ていきましょう。
4.1. グリーンフィールドの足場構築の前にレガシーのビジネスロジックを切り離す
新しいコードベースの1行目を書く前に、何十年分ものレガシーコードに埋もれた隠れたビジネスルールを抽出しなければなりません。経験の浅い開発者は、古いアプリが「していたと思う」ことを書き直し、重要なエッジケースを見落とします。
- グリーンフィールドでの活用法:AI を使って、複雑なビジネスロジック、ステートマシン、隠れた不変条件をレガシーのソースコードから直接リバースエンジニアリングしてマッピングし、新しいターゲットドメインモデルの草案を作成します。
- エキスパートの強み:シニアアーキテクトは何を探すべきかを知っており、プロンプト戦略を導きます:「このレガシーモジュールを分析し、コアのビジネスバリデーションルールをフレームワークコードから切り離し、新しいスタック向けのクリーンでフレームワーク非依存の Domain-Driven Design(DDD)インターフェースにマッピングせよ」。AI は数秒で隠れたビジネスロジックを抽出し、新しいリライトでの機能的退行ゼロを保証します。
4.2. 妥協のないターゲットアーキテクチャとインターフェースを設計する
白紙から始める場合、厳密なアーキテクチャ上の制約を与えない限り、AI は標準的なモノリシックなボイラープレートにデフォルトで落ち着きます。
- グリーンフィールドでの活用法:レガシー混入ゼロの、汚れのない多層アーキテクチャ(例:ヘキサゴナルアーキテクチャ、クリーンアーキテクチャ、疎結合なマイクロサービス)を迅速に足場構築します。
- エキスパートの強み:シニアアーキテクトは最初に厳密な構造的境界を設定します:「厳密な依存性逆転でコア API を足場構築せよ。インフラストラクチャモジュールはドメインインターフェースに依存しなければならず、逆は決して許さない。すべての共有状態にスレッドセーフなメモリモデルを適用せよ」。AI は数分で何千行もの汚れのない強く型付けされたボイラープレートを生成し、アーキテクトは静的解析の品質ゲートを通じてアーキテクチャの純粋性を強制します。
4.3. 歴史的なパフォーマンスと並行性のボトルネックを解消する
レガシーのリライトは、反復的なリファクタリングでは不可能だった根本的な設計上の欠陥——不適切なメモリレイアウト、スレッド競合、ブロッキング I/O など——を修正する究極のチャンスです。
- グリーンフィールドでの活用法:レガシーの実行モデル(深いオブジェクト階層や同期的ブロッキング呼び出しなど)を、最新の高スループットな代替(ロックフリーデータ構造、std::span、非同期実行パイプラインなど)に置き換えます。
- エキスパートの強み:エキスパートは旧設計の構造的非効率を見抜き、AI に近代化されたアルゴリズムを評価させます:「レガシーの生ポインタ木構造は捨てる。新しいエンジン向けに、キャッシュフレンドリーで連続した vector ベースのストレージモデルをロックフリー並行性で構築するのを手伝え」。アーキテクトはメモリフットプリントと CPU スループットを厳しく評価し、新しいビルドが単に新しいだけでなく、測定可能なほど高速であることを保証します。
4.4. 初日から厳密なテストスイートと振る舞いマトリクスを構築する
従来の「スクラッチからのリライト」の最大の失敗モードは、旧システムとのテスト同等性の欠如であり、ローンチ当日の本番クラッシュを招きます。
- グリーンフィールドでの活用法:単体・プロパティベース・統合テストのマトリクスを含む多層テストハーネスを自動生成し、新しいスタックをデプロイする前にレガシーシステムのテレメトリーと照合します。
- エキスパートの強み:シニアエンジニアは、新しいシステムにハッピーパスのテストだけでは不十分だと知っています。AI に対し、生成されたばかりのコードを積極的に攻撃するよう指示します:「ファズテストのシナリオ、境界条件マトリクス、新しいインジェスションパイプラインを狙ったレースコンディションチェックを生成せよ」。AI は10倍の速度で網羅的なテストカバレッジを構築し、新しいビルドが本番投入前に実戦テスト済みであるという完全な自信をチームに与えます。
まとめ:アーキテクト・イン・ザ・ループの必然性
AI コーディングアシスタントは、グリーンフィールド再開発の並外れた加速器ですが、アーキテクチャとしての審美眼、システムレベルのビジョン、長期的な説明責任を欠いています。
ドメイン境界、ハードウェア制約、セキュリティ分離を理解する経験豊富なアーキテクトと、何日分もの反復的な足場構築を一掃できる AI を組み合わせれば、スクラッチからの再開発はもはやハイリスクな賭けではありません。それは、完全なモダナイゼーションのための制御された外科的戦略へと変わります。
エンタープライズソフトウェア再開発の未来は、アプリケーション全体を盲目的にプロンプトするチームのものでも、終わりのない手動リファクタリングに囚われたレガシーモノリスのものでもありません。AI を使って、最初から正しくシステムを再アーキテクトする熟練のアーキテクトのものです。
エンタープライズアーキテクトの皆さんへの質問:
生成速度が加速した今、あなたの組織は AI 支援リライトに傾いていますか?それとも依然として、レガシーモノリスを反復的にストラングラーパターンで移行していますか?チーム全体で AI 生成アーキテクチャをどう統治していますか?

