AIを活用した開発効率化の話は増えていますが、一定規模以上の商用Webサービスを、実際に本番移行まで通した事例に基づく話はまだ多くありません。本発表では、CakePHP 2系で作られた20万行級のWebサービスをLaravelへ移行した実例をもとに、AI駆動開発を安全に使うための設計とプロセスを紹介します。
移行対象は、複数の利用者種別、検索・登録・契約・通知・管理機能、メールキュー、外部API、ファイル、バッチ処理を含む商用サービスです。400超の移行対象ルート/アクション、約100テーブルを持つ既存システムに対して、既存仕様を維持する形で移行を完遂しました。
今回の発表で最も重要なテーマは、AI活用以前に、実装者がAIか人かに関わらず「品質を正しく担保するためのロジックとプロセスを言語化・型化すること」です。発表では、今回の移行プロジェクトで特に重要だった以下のポイントを中心に取り上げます。
- 既存仕様を「振る舞い」として抽出し、テストシナリオへ変換する方法
- 旧系を正解とするGolden Master比較によりAIの出力を機械的に評価することで、品質をコントロールしながら自律的なAI実装ループを回す方法
- 本番相当環境での早期・継続的な検証により、テストシナリオの不完全性を検知・補強し、品質保証モデル自体を改善する方法