課題:設計書ゼロのブラックボックスシステム
20年以上稼働する流通業の基幹システムは、設計書・仕様書が一切存在しない状態でした。元の開発担当者はすでに退職しており、現在の保守担当者もソースコードを読みながら改修を行う属人的な状態が続いていました。
システム刷新のプロジェクトを開始するにあたり、現行システムのドキュメントを作成する必要がありましたが、人手で行うと3ヶ月以上かかる見込みであり、プロジェクト全体のスケジュールを圧迫する課題となっていました。
解決策:コード解析AIによる6種のドキュメント自動生成
ソースコード・DDL・設定ファイルをインプットとして、GPT-4によるコード解析と構造解析ツールを組み合わせ、以下の6種類のドキュメントを自動生成するパイプラインを構築しました。
- DB仕様書(テーブル定義書):DDLからカラム名・型・制約・説明を自動抽出
- ER図:テーブル間のFK制約を解析しPlantUML形式で自動生成
- クラス図:Javaクラスファイルから継承・実装関係を抽出しUML化
- シーケンス図:主要ユースケースのメソッド呼び出し連鎖をトレース・図化
- 機能仕様書:コメント・変数名・ロジックからGPT-4が自然言語で機能説明を生成
- API仕様書:エンドポイント・リクエスト/レスポンス定義をOpenAPI(Swagger)形式で出力
実装の詳細
最大の課題は20年分の技術的負債で、コードの品質や命名規則がバラバラな点でした。GPT-4のプロンプトを試行錯誤しながらチューニングし、コメントが少ないコードでも適切な説明文を生成できるよう、コンテキスト設計に注力しました。
生成したPlantUMLを自動でSVG/PNG変換し、Confluenceに自動アップロードするCIパイプラインも構築。ドキュメントの鮮度を維持するため、コード変更時に関連ドキュメントを自動再生成する仕組みも実装しました。
成果・効果
通常3ヶ月かかる設計書作成作業を3週間で完了。400件以上のドキュメントが整備されたことで、後続のシステム刷新プロジェクトがスムーズにスタートできました。保守担当者も「コードを読まなくても仕様が把握できるようになった」と評価しています。