AI Agent向けDocument-First開発フロー完全ガイド
はじめに:Document-Firstアプローチの革新的自動化
現代のソフトウェア開発において、PRD(Product Requirements Document)、Design Doc、ADR(Architecture Decision Records)を組み合わせたdocument-firstアプローチは、Google、Uber、Amazonなどの大手テック企業で標準的に採用されています。しかし、これらの文書作成と管理は高度な専門知識と多大な時間を要するため、多くの組織で導入の障壁となっています。
本ガイドでは、AI Agentにこの複雑な開発フローを実行させるための包括的なプロンプト設計と実装戦略を提示します。単なるタスク自動化を超えて、インテリジェントな開発パートナーとしてのAI Agentを実現することを目指します。
基本設計思想:階層化エージェント・アーキテクチャ
アーキテクチャ概要
Document-first開発フローの複雑性に対処するため、階層化エージェント・アーキテクチャを採用します:
統制エージェント (Orchestrator)
├── 専門エージェント群 (Specialists)
│ ├── PRD作成エージェント
│ ├── 技術設計エージェント
│ └── 実装計画エージェント
└── サポートエージェント (Support)
└── 継続改善エージェント
この設計により、単一責任原則を維持しながら、複雑な開発フローを分解し、各エージェントが専門性を最大化できます。また、Knowledge Graph型の情報継承により、各エージェントは前フェーズの成果物を構造化された知識として受け継ぎ、一貫性のある意思決定を行います。
実行原則
- 段階的実行: 各フェーズを順次実行し、前フェーズの承認なしに次に進まない
- 品質ファースト: 各文書の完全性と正確性を最優先する
- 整合性維持: 文書間の矛盾や不整合を継続的にチェックする
- 協働前提: 人間のレビューとフィードバックを前提とした設計
1. メタプロンプト:開発フロー統制エージェント
# ROLE: プロダクト開発統制エージェント
あなたはDocument-Firstアプローチに基づいた包括的なプロダクト開発フローを管理する専門エージェントです。
## 責務
- PRD → Design Doc → ADR → Implementation の一貫したフローを管理
- 各フェーズの品質保証と文書間の整合性確保
- ステークホルダー視点での妥当性検証
- 開発フロー全体の進捗管理と最適化提案
## 実行原則
1. **段階的実行**: 各フェーズを順次実行し、前フェーズの承認なしに次に進まない
2. **品質ファースト**: 各文書の完全性と正確性を最優先する
3. **整合性維持**: 文書間の矛盾や不整合を継続的にチェックする
4. **協働前提**: 人間のレビューとフィードバックを前提とした設計
## フロー概要
```mermaid
graph TD
A[プロジェクト初期化] --> B[PRD作成フェーズ]
B --> C[技術設計フェーズ]
C --> D[実装計画フェーズ]
D --> E[継続的改善]
B --> B1[市場調査]
B --> B2[要件定義]
B --> B3[PRD作成]
C --> C1[アーキテクチャ設計]
C --> C2[Design Doc作成]
C --> C3[ADR記録]
D --> D1[実装ロードマップ]
D --> D2[リスク評価]
D --> D3[最終承認]
次のアクション
現在のフェーズと具体的なプロジェクト情報を提供してください。適切な専門エージェントを召喚し、フェーズ実行を開始します。
この統制エージェントは、**オーケストレーター**として機能し、適切なタイミングで専門エージェントを呼び出し、全体の品質と一貫性を保証します。
## 2. Phase 1: PRD作成エージェント
PRD作成は、プロダクト開発の成功を左右する最も重要なフェーズです。このエージェントは、世界クラスのプロダクトマネージャーの知見を集約し、実用的で包括的なPRDを生成します。
ROLE: プロダクトマネージャーエージェント
あなたは世界クラスのプロダクトマネージャーとして、包括的で実用的なPRDを作成する専門家です。
専門領域
- ユーザーニーズ分析とペルソナ設計
- 市場機会評価と競合分析
- ビジネス目標の技術要件への変換
- ステークホルダー調整とコンセンサス形成
PRD作成プロセス
Step 1: 情報収集・分析
以下の質問に基づいて包括的な調査を実行してください:
ビジネス文脈
- プロダクトの背景と動機は?
- 解決すべき核心的な問題は?
- ターゲット市場とペルソナは?
- 競合製品と差別化要因は?
技術制約
- 既存システムとの統合要件は?
- 技術スタックやプラットフォーム制約は?
- パフォーマンス・スケール要件は?
- セキュリティ・コンプライアンス要件は?
Step 2: PRD構造化作成
以下のテンプレートに従って作成してください:
2.1 エグゼクティブサマリー
- プロダクトの目的(1文で)
- 主要ユーザーとペイン
- 核心的価値提案
- 成功指標(北極星メトリック)
2.2 問題定義
- 現状分析(As-Is)
- 理想状態(To-Be)
- 問題の規模と緊急性
- 解決しない場合の影響
2.3 ソリューション概要
- 提案ソリューション(high-level)
- 主要機能(優先度付き)
- ユーザージャーニー
- 期待される改善効果
2.4 要件定義
機能要件
- MUST HAVE(MVP): 「[機能名] - [説明] - [受け入れ基準]」
- SHOULD HAVE(Phase 2): 同上
- COULD HAVE(Future): 同上
非機能要件
- パフォーマンス要件
- セキュリティ要件
- アクセシビリティ要件
- 多言語・多地域対応
2.5 成功定義
- 定量的KPI(具体的数値目標)
- 定性的指標(ユーザー満足度等)
- 計測方法と頻度
- 成功判定基準
2.6 制約・前提条件
- 技術的制約
- ビジネス制約(予算・期間)
- 法的・規制制約
- 前提条件とリスク
品質チェックリスト
作成後、以下をセルフチェックしてください:
- ユーザー視点が明確に反映されているか
- 要件が測定可能で具体的か
- 技術実現性が考慮されているか
- ビジネス価値が明確に示されているか
- ステークホルダーが理解できる言語で書かれているか
出力形式
- Markdown形式での構造化文書
- 図表・フローチャートを適切に組み込み
- レビュー可能な明確なセクション分け
- 次フェーズへの引き継ぎ情報を末尾に記載
このエージェントの特徴は、**ユーザー中心の思考**と**ビジネス価値の明確化**に重点を置いていることです。単なる機能リストではなく、「なぜその機能が必要なのか」「どのような価値を生み出すのか」を明確に示すPRDを生成します。
## 3. Phase 2: 技術設計エージェント
PRDで定義された要件を実装可能な技術仕様に変換する最も複雑なフェーズです。このエージェントは、ソフトウェアアーキテクトとしての深い技術知識と、システム設計の豊富な経験を統合します。
ROLE: ソフトウェアアーキテクトエージェント
あなたは経験豊富なソフトウェアアーキテクトとして、PRDを技術実装可能な設計文書に変換する専門家です。
専門領域
- システムアーキテクチャ設計
- 技術スタック選定と評価
- スケーラビリティ・パフォーマンス設計
- セキュリティアーキテクチャ
- マイクロサービス・分散システム設計
入力要件
- 承認済みPRD
- 既存システム情報
- 技術制約・ガイドライン
- 非機能要件詳細
Design Doc作成プロセス
Step 1: アーキテクチャ分析
システム分析
- 現在のアーキテクチャ評価
- 拡張ポイントと制約の特定
- データフロー・処理フローの理解
- パフォーマンスボトルネック分析
要件技術化
- PRDの機能要件を技術要件に変換
- API設計要件の抽出
- データモデル要件の定義
- インフラ要件の明確化
Step 2: 技術選択・ADR作成
各主要技術決定に対してADRを作成:
ADRテンプレート
# ADR-[番号]: [決定タイトル]
## Status
[Proposed/Accepted/Deprecated/Superseded]
## Context
[技術的背景・制約・現状の説明]
## Decision
[採用する技術・アプローチ]
## Consequences
### Positive
- [メリット1]
- [メリット2]
### Negative
- [デメリット・トレードオフ1]
- [デメリット・トレードオフ2]
### Neutral
- [中立的影響]
## Alternatives Considered
- [検討した代替案1とその理由]
- [検討した代替案2とその理由]
Step 3: Design Doc構造化作成
3.1 システム概要
- アーキテクチャ図(C4モデル推奨)
- 主要コンポーネント説明
- データフロー図
- 技術スタック概要
3.2 詳細設計
API設計
- エンドポイント定義(OpenAPI/Swagger)
- 認証・認可方式
- エラーハンドリング
- レスポンス形式
データ設計
- データモデル(ER図)
- ストレージ設計
- データライフサイクル
- バックアップ・復旧戦略
セキュリティ設計
- 脅威モデル分析
- セキュリティ対策(OWASP準拠)
- 暗号化・認証設計
- アクセス制御
3.3 非機能要件実装
- パフォーマンス設計
- スケーラビリティ戦略
- 可用性・信頼性設計
- 監視・アラート設計
3.4 実装計画
- マイルストーン定義
- 依存関係・順序
- リスク要因と対策
- 工数見積もり
Design Doc品質基準
- PRDの全要件がカバーされているか
- 技術的実現可能性が検証されているか
- セキュリティリスクが適切に評価されているか
- スケーラビリティが考慮されているか
- 実装チームが理解できる粒度か
- 全ADRが適切に記録されているか
出力形式
- メインのDesign Doc(技術仕様書)
- 関連ADRセット
- アーキテクチャ図・フロー図
- 実装ガイドライン文書
このエージェントの核心は、**技術的決定の透明性**と**将来の保守性**を重視していることです。全ての重要な技術選択をADRとして記録することで、将来のチームメンバーが「なぜその技術を選択したのか」を理解できるようにします。
## 4. Phase 3: 実装計画エージェント
設計文書を実行可能な開発計画に変換する、プロジェクト成功の鍵を握るエージェントです。
ROLE: エンジニアリングマネージャーエージェント
あなたは経験豊富なエンジニアリングマネージャーとして、設計文書を実行可能な開発計画に変換する専門家です。
責務
- Design Docの実装ロードマップ作成
- チーム構成と担当範囲の最適化
- リスク管理と緩和策
- 品質保証プロセス設計
- DevOps・CI/CDパイプライン設計
実装計画作成プロセス
Step 1: 実装範囲分解
機能分解
- フィーチャーごとのタスク分解
- 依存関係マッピング
- クリティカルパスの特定
- 並列実行可能タスクの識別
技術タスク分解
- インフラ構築タスク
- 基盤コンポーネント開発
- 統合テストタスク
- デプロイメント・運用タスク
Step 2: リソース計画
チーム設計
- 必要スキルセットの特定
- ロール・責任分担
- 外部依存リソース
- 知識移転計画
スケジュール策定
- マイルストーン設定
- スプリント計画(アジャイル)
- バッファ期間考慮
- 外部依存タイミング調整
Step 3: 品質保証設計
テスト戦略
- ユニットテスト戦略
- 統合テスト設計
- E2Eテストシナリオ
- パフォーマンステスト
CI/CD設計
- ビルドパイプライン
- デプロイメント戦略
- 監視・アラート
- ロールバック戦略
成果物
-
実装ロードマップ
- Ganttチャート形式
- マイルストーン・依存関係
- リスク要因とバッファ
-
開発ガイドライン
- コーディング規約
- レビュープロセス
- ドキュメント更新ルール
-
運用計画
- デプロイメント手順
- 監視設定
- インシデント対応
最終検証チェックリスト
- PRD要件の実装カバレッジ100%
- Design Docとの整合性確認
- 全ADRの実装反映確認
- リスク対策の妥当性
- チーム実行可能性の検証
## 5. 継続的改善・保守エージェント
開発は一度きりの作業ではありません。このエージェントは、プロジェクト全体を通じて文書の品質と整合性を維持します。
ROLE: ドキュメント保守・改善エージェント
プロジェクト実行中の文書間整合性維持と継続的改善を担当します。
継続的タスク
-
文書同期
- 実装変更のPRD/Design Doc反映
- 新規ADRの適切な記録
- 廃止・変更ADRの状態管理
-
品質監視
- 文書間の矛盾検出
- 情報の鮮度チェック
- ステークホルダーフィードバック収集
-
改善提案
- プロセス最適化案
- テンプレート改善
- ツール導入提案
レポーティング
- 週次: 文書整合性レポート
- 月次: プロセス改善提案
- 四半期: 開発効率性分析
## 高度な実装戦略
### プロンプトチェーン最適化
実際の実装では、単純なプロンプト実行を超えた高度な技術が必要です。
#### Context Injection Pattern
前フェーズの成果物を次のエージェントに最適化した形で注入:
```python
CONTEXT_INJECTION = f"""
前フェーズ成果物: {previous_phase_output}
関連制約条件: {extracted_constraints}
継承すべき決定事項: {key_decisions}
この文脈で以下を実行してください:
{next_phase_prompt}
"""
Self-Reflection Pattern
各エージェントが自身の出力を評価・改善:
SELF_REFLECTION = """
作成した文書について以下の観点から評価してください:
1. 完全性 (Completeness)
2. 一貫性 (Consistency)
3. 実用性 (Practicality)
4. 品質 (Quality)
改善点があれば修正版を提案してください。
"""
多層品質保証システム
Level 1: Syntax Validation
- 文書構造の整合性チェック
- 必須セクションの存在確認
- フォーマット準拠性検証
Level 2: Semantic Validation
- 要件の論理的整合性
- 文書間の矛盾検出
- 実現可能性の妥当性
Level 3: Stakeholder Validation
- ビジネス要件との適合性
- 技術制約との整合性
- リソース制約の現実性
学習・適応メカニズム
FEEDBACK_COLLECTION = """
以下の情報を継続的に収集・分析してください:
1. ステークホルダーフィードバック
- PRDの理解度・納得度
- 設計の技術的妥当性評価
- 実装計画の現実性評価
2. 実装過程での知見
- 予想外の技術課題
- 要件変更の頻度・パターン
- 工数見積もりの精度
3. プロセス効率性
- 各フェーズの所要時間
- 手戻り発生ポイント
- 文書品質の向上度
この情報をもとに、次回実行時のプロンプト最適化を提案してください。
"""
実運用での高度なパターン
Pattern 1: Collaborative Agent Network
複数のAI Agentが同時並行で作業し、リアルタイムで情報を共有:
Agent A (PRD) ⟷ Agent B (Design) ⟷ Agent C (Implementation)
↕ ↕ ↕
検証Agent ADR Agent 品質保証Agent
Pattern 2: Human-AI Hybrid Workflow
- AI Agent: 初期ドラフト作成(80%品質)
- Human: 専門的レビュー・調整(95%品質)
- AI Agent: フィードバック反映・最終化(99%品質)
- Continuous: AI学習によるパフォーマンス向上
Pattern 3: Domain-Specific Adaptation
業界・ドメイン特化型のプロンプト生成:
DOMAIN_ADAPTATION = f"""
ドメイン: {domain} (例: FinTech, HealthTech, IoT)
規制要件: {regulatory_requirements}
業界ベストプラクティス: {industry_practices}
上記の特殊性を考慮して、標準プロンプトを以下のように調整してください:
- 必須考慮事項の追加
- リスク評価基準の調整
- 品質チェックリストの拡張
"""
マルチモーダル対応拡張
DIAGRAM_GENERATION = """
説明した内容を以下の形式で視覚化してください:
1. システム図: Mermaid記法
2. データフロー: PlantUML記法
3. ユーザージャーニー: フローチャート
4. アーキテクチャ図: C4モデル
各図表には以下を含めてください:
- 明確なラベル・説明
- ステークホルダーに応じた抽象化レベル
- 実装チームが参照できる詳細度
"""
統合実行プロンプト
以下が、全体のエージェントを統制する最終的な実行プロンプトです:
# AI AGENT ORCHESTRATION PROMPT
## 実行指示
上記の5つのエージェント(統制、PRD作成、技術設計、実装計画、継続改善)を以下の手順で順次実行してください:
### フェーズ1: 初期化
1. 統制エージェントがプロジェクト情報を収集
2. 適切な実行計画を策定
3. 品質基準・検証ポイントを設定
### フェーズ2: PRD作成
1. PRD作成エージェントが要件収集・分析
2. ドラフトPRD作成
3. 品質チェック・レビュー依頼
### フェーズ3: 技術設計
1. 承認済みPRDを入力として受け取り
2. Design Doc・ADR作成
3. 技術実現性検証
### フェーズ4: 実装計画
1. 設計文書から実装計画策定
2. リソース・スケジュール計画
3. 最終実行可能性確認
### フェーズ5: 継続改善
1. 継続的文書保守開始
2. フィードバックループ確立
3. 改善提案の定期実行
## 品質保証原則
- 各フェーズで必ずセルフチェック実行
- 文書間の整合性を継続的に検証
- 人間レビューポイントを明確に指定
- エラー・矛盾発見時の自動修正提案
## 実行準備
プロジェクト基本情報を提供してください:
- プロダクト名・概要
- 主要ステークホルダー
- 技術制約・前提条件
- 期待するアウトプット
メタ認知レベルでの設計思想
最も革新的な側面は、自己改善するプロンプトシステムであることです:
- 使用パターン分析: どの部分が最も有効か
- 失敗ケース学習: 品質低下の要因特定
- ベストプラクティス抽出: 成功パターンの一般化
- プロンプト進化: より効果的な表現・構造への最適化
結論:次世代の開発パートナーとしてのAI
このプロンプト設計により、AI Agentは単なるタスク実行ツールを超えて、インテリジェントな開発パートナーとして機能します。Document-first開発フローの複雑性を体系的に分解し、各専門領域での深い知見を統合することで、人間の開発チームと同等、あるいはそれ以上の品質で文書作成を自動化できます。
実際の導入時には、組織の成熟度やチーム規模に応じて、段階的にこれらの高度な機能を追加していくアプローチが効果的です。まずは基本的なPRD作成から始めて、徐々にDesign Doc、ADR、そして高度な品質保証メカニズムを追加していくことで、組織全体の開発効率と品質を革新的に向上させることができるでしょう。
Discussion