← AI開発 資料アーカイブ
要件定義・レビューループ設計

外部リサーチ最終メモ:vibe coding失敗・Claude Code公式作法・SDD

元ファイル: システム要件定義の分析と汎用化方法/external_research_final_notes.md

要約

AI開発の破綻防止体系を裏付ける外部一次調査のフェーズ1完了メモ。AI生成コードの45%が脆弱性を含む等の統計、Claude Code公式ベストプラクティス(コンテキスト管理・Explore/Plan/Implement/Commit・CLAUDE.md設計原則)、Spec-Driven Developmentの3レベルとKiro/Spec-kitワークフローを整理し、現行体系の対応済み点と未対応点6項目を洗い出す。

要点

外部調査vibe codingClaude CodeSDDSpec-kitベストプラクティス

外部リサーチ最終メモ(フェーズ1完了)

1. vibe coding失敗パターン(masterofcode, dualbootpartners, vybe.build)

統計的事実

失敗パターン(重要度順)

  1. プロトタイプ=製品の誤認:デモ用コードを本番に持ち込む
  2. セキュリティ後回し:認証・暗号化・アクセス制御を後付けにする
  3. 一度に複数変更:1プロンプトで複数の変更を積み重ねると壊れる
  4. ユーザーテスト遅延:80%完成前にユーザーに見せない
  5. 本番移行の壁:認証・データセキュリティ・信頼性・統合が最大ボトルネック

3POアプローチ(dualbootpartners)


2. Claude Code公式ベストプラクティス(code.claude.com)

最重要原則

コンテキストウィンドウが最も重要なリソース - 全会話・全ファイル読み込み・全コマンド出力がコンテキストに入る - 埋まるにつれてパフォーマンスが劣化し、初期指示を「忘れる」 - コンテキスト使用量を継続的に追跡すること

4フェーズワークフロー(公式推奨)

  1. Explore(探索):planモードでファイルを読み変更せず理解する
  2. Plan(計画):詳細な実装計画を作成する
  3. Implement(実装):計画に従ってコーディングし検証する
  4. Commit(コミット):説明的なメッセージでコミットしPRを作成

CLAUDE.md設計原則

含めるべきもの: - Claudeが推測できないBashコマンド - デフォルトと異なるコードスタイルルール - テスト指示と優先テストランナー - リポジトリ作法(ブランチ命名、PR規則) - プロジェクト固有のアーキテクチャ決定 - 開発環境の特殊事情(必須環境変数)

除外すべきもの: - コードを読めばわかること - Claudeが既に知っている標準的な言語規則 - 詳細なAPIドキュメント(リンクを貼るだけでよい) - 頻繁に変わる情報 - 長い説明やチュートリアル - ファイルごとのコードベース説明

検証の与え方(最高レバレッジ)

コンテキスト管理


3. Spec-Driven Development(martinfowler, arxiv論文)

SDDの3レベル

  1. Spec-First:仕様を先に書いてからAI支援開発に使う(最も実践的)
  2. Spec-Anchored:仕様をコード完成後も維持し、進化・保守に使い続ける
  3. Spec-as-Source:仕様が唯一の編集対象、コードは自動生成(最も理想的だが難易度高)

SDDの核心原則

SDDワークフロー(4フェーズ)

  1. Specify(仕様化):何をすべきか?ユーザーストーリー・受け入れ基準・エッジケース
  2. Design(設計):どのように実装するか?アーキテクチャ・コンポーネント・データフロー
  3. Implement(実装):仕様に対してコードを生成・検証
  4. Verify(検証):仕様に対してコードをテスト・検証

Kiroワークフロー(最も軽量なSDD)

Spec-kitワークフロー(GitHub版SDD)


4. Claude Code × SDD実践(heeki.medium.com)

実践者の知見

コンテキストウィンドウ実践知見


5. 現体系への示唆(リサーチ結果の統合)

現体系が対応できている点

現体系が対応できていない可能性がある点

  1. Spec-Anchored(仕様の継続維持):現体系はSpec-Firstどまりで、仕様を実装後も維持する仕組みがない
  2. CLAUDE.md肥大化防止の具体的ルール:200行以内・削除基準が明確でない
  3. コンテキスト使用量の可視化:素人がコンテキスト残量を把握する方法が不明
  4. 本番移行チェックリスト:プロトタイプ→本番の移行で必要な認証・セキュリティ・信頼性の具体的チェックリストがない
  5. 検証基準の具体化:「Claudeが自己検証できるテストケース」の書き方が不明
  6. Explore→Plan→Implement→Commitの4フェーズ:現体系に明示的に組み込まれていない

↑ トップへ戻る