Spec-Driven Development

生成AI × マルチエージェント アーキテクチャ

Project: CalcioA Unity移植(Cocos2d-x → Unity)
Agents: 24種類の専門エージェント
Architecture: 自己修復型ワークフロー(検出 → 修正 → 再検出ループ)


自己修復型開発フロー

背景:従来の開発の課題

通常のソフトウェア開発では、仕様書(設計書)は一度書いたら更新されず、実装との間に差分が生まれるという問題がありました。これにより、「仕様書に書いていない機能」や「実装漏れ」が発生します。

解決策:AIエージェントによる自動検証

本プロジェクトでは、仕様書を「検証の基準」として位置づけ、24種類の専門AI(エージェント)が自律的に仕様漏れを検出・修正するループを構築しています。

エージェントとは?: 特定の役割を持つAIプログラム。例えば「仕様書とソースコードの差分を検出する専門AI」のように、それぞれが明確な責務を持ちます。

産業規模の移植における課題

課題従来の対処本プロジェクトの解決策
仕様書の不在人間が手動で要件定義書を作成AIが既存ソースコードから自動的に機能一覧を抽出
仕様漏れ人間がレビューで発見AIが元のコードと仕様書の差分を自動検出
手戻り人間が手動で修正AIが不足している仕様を自動で仕様書に追加
品質保証人間が手動でテスト自動テスト作成 + AIによる画面検証

マルチエージェント アーキテクチャ(24種)

なぜ24種類ものAIが必要なのか?

生成AIには以下の限界があります:

これを克服するため、役割を細分化し、24種類の専門AIエージェントが協調動作する仕組みを構築しました。

人間の組織に例えると、「設計チーム」「テストチーム」「修正チーム」のように役割分担しているイメージです。

CalcioA Multi-Agent Architecture - 24 Agents

エージェント構成

役割代表例責務
指揮役(Orchestrator)6spec-migration-checker検出→修正ループの制御
検出役(Detector)4spec-migration-detectorソースコードとspec.mdの差分検出
修正役(Fixer)4spec-migration-fixer不足FRをspec.mdに自動追加
実装役(Implementer)6impl-test-writer, impl-code-writerTDDサイクル実行

オーケストレーターパターン

checkerエージェントは、検出→修正→再検出を100%カバレッジ達成まで繰り返すループを自律的に実行します。


自己修復型ループ:Spec-Loop

「自己修復」とは?

このシステムの最大の特徴は、AIが自分で問題を見つけて、自分で直すことです。

仕様検証ループの動作:

  1. AIが元のソースコードを分析
  2. 仕様書に書かれていない機能を自動検出
  3. 仕様書に不足項目を自動追加
  4. 再度確認(100%になるまで繰り返す)

このループにより、手動レビューでは見逃されがちな仕様漏れを機械的に検出・修正できます。

Self-Healing Verification Loop

実績(001-title-graphics)

繰り返し回数網羅率(カバレッジ)未実装の機能数結果
1回目88.6%3件不足している機能要件を発見
2回目100%0件✅ すべての機能を網羅

効果: 人間がソースコードを読み込んで要件を抽出する必要がなく、AIが自律的に仕様書を完成させる。


TDD-Loop:実装品質保証

TDD(テスト駆動開発)とは?

TDD (Test-Driven Development) は、「先にテストを書いてから、コードを書く」という開発手法です。

通常の開発:コードを書く → テストを書く
TDD:テストを書く → コードを書く

こうすることで、「テストされていないコード」が生まれることを防ぎます。

本プロジェクトでは、AIに対して**「テストなしの実装は絶対に禁止」というルール(憲法)**を設定し、AIがこれを逸脱できないようにしています。

TDD Cycle - Red Green Verify

TDDサイクル

  1. Red Phase(レッド): まず「失敗するテスト」を作成
  2. Verify (Fail): そのテストがちゃんと失敗することを確認(重要!)
  3. Green Phase(グリーン): テストを通すための最小限のコードを実装
  4. Verify (Pass): すべてのテストが成功することを確認

重要: Verify (Fail)ステップをスキップさせない厳格性が、品質保証の鍵です。


3層ドキュメント構造(Spec Kit)

各機能は、以下の3つのドキュメントで段階的に詳細化されます。

.specify/
├── spec.md     # 要件定義(何を作るか)
├── plan.md     # 設計書(どう作るか)
└── tasks.md    # タスクリスト(具体的作業)
ドキュメント内容検証エージェント
spec.md機能要件(FR), 成功条件(SC)spec-migration-checker
plan.mdアーキテクチャ設計, API設計plan-migration-checker
tasks.md具体的タスク, 依存関係task-migration-checker

それぞれのドキュメントに対して、専用の検証ループが存在します。


スキル:AIの効率化テクニック

問題:大量の情報を読み込むとAIが遅くなる

機能一覧ドキュメント(8,058行)をすべて読み込むと、AIの処理能力の30%を消費してしまいます。

解決策:「スキル」による必要な情報だけの読み込み

人間が辞書を使うように、AIも「必要な時に、必要な部分だけ」参照する仕組みを構築しました。これを**「スキル」**と呼んでいます。

スキル名用途削減効果
feature-inventory機能一覧の効率的検索85-90%削減
tdd-workflowテスト実行手順-
screenshot-verificationVLM画面検証手順-
migration-validation仕様整合性検証パターン-

: python3 .claude/skills/feature-inventory/scripts/search.py "Match System" → 関連部分のみ500-800行で返却


VLM検証:Screenshot-Loop

VLM(画像認識AI)による自動UI検証

VLM (Vision Language Model) は、画像を見て内容を理解できるAIです。

本プロジェクトでは、UIの実装後に:

  1. 自動的にスクリーンショットを撮影
  2. VLMが画像を分析
  3. 「タイトルが中央に配置されているか」などを自動チェック

これにより、人間が目視で確認する作業を自動化しています。

フロー

  1. PlayModeテストでスクリーンショット撮影
  2. screenshot-verifierエージェントが画像を分析
  3. 期待される表示と実際の表示を比較
  4. 問題があれば修正を提案

検出実績


憲法(Constitution):絶対ルール

.specify/memory/constitution.md絶対に守るべきルールを定義し、すべてのエージェントがこれに従います。

主要ルール

  1. Test-First Development - 全機能にテスト必須
  2. Test Verification - テスト合格まで完了とみなさない
  3. FEATURE_INVENTORY.md Reference - 全specは元ドキュメント参照
  4. 2-Try Limit - 2回失敗したらユーザーに報告

実績と効果

Phase 1での学び

問題: SS6アニメーションの仕様漏れによる手戻り

対策:

結果: 2イテレーションで仕様書完成、手戻りゼロ

知識の蓄積と再利用

座標変換問題で人間の介入が必要だったが、その知見をdocs/cocos-unity-mapping.mdに記録。次回以降はAIが自動対応可能に。

学習サイクル: 問題発生 → 人間が解決 → ドキュメント化 → 次回から自動化


まとめ:本アプローチの特徴

特徴詳細
自己修復型ワークフロー検出→修正→再検出のループにより、仕様漏れを自動で発見・修正
24種の専門エージェント役割の細分化により、複雑なタスクを高精度で実行
VLMによるUI検証スクリーンショットを自動分析し、人間の目視確認を代替
知識の蓄積と再利用問題解決のたびにドキュメントを更新し、次回から自動対応可能に
コンテキスト効率化スキルによるオンデマンド読込で、AIの処理能力を最大化
厳格なTDD憲法で強制され、品質保証を担保

これらの手法により、産業規模の移植プロジェクトを生成AIで自律的に遂行する基盤を確立しました。