1. はじめに:なぜ「コードを書く前」が一番大切なのか?
プログラミングの世界へようこそ。初心者が最初に陥る最大の罠、それは「いきなりエディタを開いてコードを書き始めること」です。これはレシピを持たずに高級フランス料理の厨房に立つようなもの。行き当たりばったりの調理は、材料(時間)を浪費し、最後には「手戻り」という名の失敗作を招きます。
私たちが提唱するAI-DDD(AIネイティブ・ドキュメント駆動開発)において、ドキュメントは単なる記録ではありません。それはAIという超優秀な楽団を動かすための「完璧なスコア(総譜)」であり、プロジェクトのすべてを記憶する「アカシックレコード(永遠のメモリ)」です。
核心の視点: ドキュメントを整えることは、AIに「プロジェクトの魂」を宿らせる儀式です。適切なディレクトリ構造(docs/)に設計図を置くことで、AIはいつでもあなたの意図を完璧に「再構築(リインカーネーション)」できるようになります。
このガイドでは、生のアイデアが最高品質のプロダクトへと変わる魔法のフローを解説します。このサイクルを回せば、あなたの「迷い」は消え、AIを自由自在に操るマエストロへと進化できるはずです。
--------------------------------------------------------------------------------
2. フェーズ1:【蒸留】生の熱量を「AIの燃料」に変える
開発の原動力は、打ち合わせの録音や走り書きのメモといった「生の熱量」です。しかし、これらは不純物が多い未精製の燃料。これを高純度なエネルギーへと精製するのが「蒸留」のステップです。
「NotebookLM」を活用し、生の素材を構造化されたプロジェクト資産へと変換しましょう。
AIによる情報の「蒸留」プロセス
| 状態 | 内容のイメージ | メリット:AIと人間が集中できること |
| 生の素材(録音・不完全なメモ) | 「えーと」「やはり…」を含む断片的な会話 | 背景(Why)や顧客の熱量をそのまま保持する。 |
構造化ドキュメント(PRD / docs/requirements/) | 目的、機能、制約が整理された要件定義 | AIがプロジェクトの境界線を理解し、ハルシネーションを根絶する。 |
| 視覚資料(インフォグラフィック) | データの流れや画面遷移の図解案 | 人間が直感的に「何を作るか」を合意し、認識のズレをゼロにする。 |
インサイト: 情報を整理する泥臭い作業をAIに任せることで、人間は「どの課題を解決すべきか」という本質的な意思決定にのみクリエイティビティを発揮できるようになります。
美しく精製された情報は、次にAIという「厳しいコーチ」による過酷な試練を受けることになります。
--------------------------------------------------------------------------------
3. フェーズ2:【衝突と研磨】AIという「厳しいコーチ」と対話する
人間は、つい「上手くいった場合(ハッピーパス)」だけを想像して設計してしまいます。しかし、AI(CodexやClaude)には人間のような「忖度」や「思い込み」がありません。このステップでは、AIに徹底的に「逆質問」をさせ、設計の穴を突かせます。
AIを「意地悪な実装リーダー」に仕立て上げ、docs/requirements/ の中身を批判的に検証させましょう。
AIに投げさせるべき「鋭い質問」の例
AIの論理的厳密さを使い、ダイヤモンドを磨き上げるように仕様を研磨します。
- データの不整合(DB設計): 「MySQL 8.4でこのテーブルを設計する場合、親データが削除された際の外部キー制約はどうすべきですか? 孤立したデータが残るリスクがあります。」
- 権限とロジックの矛盾: 「Laravel 12のPolicyでこのアクションを制限する場合、Vue.js側のステート管理で403エラーをどうハンドリングしますか? ユーザー体験が損なわれる可能性があります。」
- 例外処理(エッジケース): 「ネットワーク遅延でAPIリクエストがタイムアウトした場合、冪等(べきとう)性を保つためのリトライ戦略はドキュメントに定義されていますか?」
メリット: 「普通はこうするよね」という人間の暗黙知をAIが言語化させることで、開発終盤の大爆発を防ぎます。論理の洗礼を受けた設計図ができれば、いよいよ「物理的な創造」の始まりです。
--------------------------------------------------------------------------------
4. フェーズ3:【執行】設計図を「自律的なコード」へ変換する
ここからが「物理的なステージ」でのパフォーマンスです。WSL(Windows Subsystem for Linux)上の ~/projects/ ディレクトリで、Dockerコンテナを起動し、Claude Codeにタスクを託します。技術スタックは、Laravel 12 (PHP 8.3+)、MySQL 8.4、Vue.js。
このフェーズの魔法は、AIが**「自分でIssueを分解し、テストを書き、パスするまで修正する」**自律サイクルにあります。
コンテキスト復元の呪文:「今の状況を教えて」
休憩から戻った時や翌日の作業開始時、エディタにこう問いかけてください。 AIは docs/progress-status.md と docs/requirements/ を瞬時にスキャンし、「現在はIssue #12の実装を終え、テストも成功しています。次はVueコンポーネントのリアクティビティ実装に入りますが、準備はいいですか?」と、あなたの脳のコンテキストを完璧に復元してくれます。
安心の自律サイクル
- Issue分解: 設計図から、GitHub CLIを使ってAcceptance Criteria(完了定義)付きのIssueを登録。
- 実装と検証: AIがコンテナ内で
php artisan test等を実行。失敗すればログを読み、自ら修正。 - 同期: テストを通過した「品質保証済み」のコードのみをGitHubへPush。
コードが完成した時、それは単なるプログラムではなく、次なる「価値」へと進化する準備が整っています。
--------------------------------------------------------------------------------
5. フェーズ4:【昇華】開発の記録を「未来の資産」に変える
AI-DDDの真骨頂は、開発の終わりに「知識の再循環(リサイクル)」を行うことです。完成したコード、テスト結果、そして最新の docs/ディレクトリにある全知見を、再びNotebookLMに投入します。これを「昇華」と呼びます。
現場の泥臭い実装データが、ステークホルダーを動かす「洗練された資産」へと生まれ変わるのです。
このサイクルが産み出す「3つの宝物」
- 動くアプリ(Laravel 12 / Vue.js): テストに裏打ちされた、堅牢でクリーンな成果物。
- 最新の設計資産(
docs// README): 次にAIがこのプロジェクトに触れる際、一瞬でコンテキストを理解させるための「生きた知識」。 - 説得力のあるエグゼクティブ資料: 開発過程で直面した課題と解決策をNotebookLMが統合し、自動生成したプレゼン用スライドや報告書。
初心者へのメッセージ: 「ドキュメントを書くこと」は、決して面倒な作業ではありません。それは、AIに過去を教え、未来の自分を楽にし、エンジニアとしてのあなたの評価を「価値創造者」へと引き上げるための、最も賢い投資なのです。
--------------------------------------------------------------------------------
6. まとめ:あなたも今日から「AIという楽団の指揮者」になれる
AI-DDDを実践することで、あなたは「命令されたコードを書く人」から、AIを使いこなして「価値を指揮する人」へと変貌します。最後に、この魔法のサイクルを再定義しましょう。
- 【蒸留】 生の録音をNotebookLMで精製し、
docs/requirements/を構築する。 - 【研磨】 AIの逆質問(Conflict)を通じて、論理的な穴を実装前に塞ぐ。
- 【執行】 Claude CodeがWSL/Docker環境で、テスト済みのコードを自律生成する。
- 【昇華】 全成果物をNotebookLMへ戻し、プレゼン資料や次なる設計へと循環させる。
このフローは、一度回せば「迷い」が消えることを約束します。さあ、WSLを開き、ディレクトリを作り、AIにこう問いかけることから始めましょう。
「新しいプロジェクトを始めよう。まずは今の状況を整理してくれるかな?」
あなたの手で、情報の「蒸留」から「昇華」までの物語を、今ここから始めてください。