Claude Code: 要件定義から実装計画を練り上げるベストプラクティス
Claude Codeは単なるコーディングAIではなく、自律的に動く「AIエージェント」です 。その力を最大限に引き出すには、いきなりコードを書かせるのではなく、「探索 → 計画 → 実装」という段階的なアプローチが推奨されています 。
特に、複雑な要件を固め、精度の高い実装計画を立てるためのフローを以下にまとめます。
1. 探索・インタビューフェーズ(要件を固める)
曖昧な指示は、AIが意図しないコードを生成する原因になります 。まずはClaudeに自分を「インタビュー」させることで、見落としている要件やトレードオフを洗い出しましょう 。
- Claudeにインタビューさせる: 「[概要]を作りたい。
AskUserQuestionツールを使って、技術実装、UI/UX、エッジケースについて詳しくインタビューして 。納得がいくまで掘り下げた後、詳細を仕様書にまとめて 」と指示します。 - 具体的なコンテキストの提供: 既存のコードベースがある場合は、
@でファイルを参照したり 、参考URLを渡すことで 、プロジェクト固有のパターンをClaudeに理解させます 。
2. 計画フェーズ(Plan Modeの活用)
要件が固まったら、次に詳細な実装計画を立てます。この際、Plan Mode(Shift+Tab 2回)を使用するのが鉄則です 。
- Plan Modeのメリット: ファイルを書き換えることなく、コードベースを読み込んで「どのファイルをどう変更するか」という計画作成に専念できます 。これにより、不適切なアプローチでコンテキストを汚染するリスクを防げます 。
- サブエージェントへの調査委任: 大規模な調査が必要な場合は「サブエージェントを使って、既存の認証システムや再利用可能なユーティリティを調査して 」と指示します。調査結果だけが要約されて戻ってくるため 、メインの会話(コンテキスト)をクリーンに保てます 。
3. レビューとブラッシュアップ(Writer/Reviewerパターン)
作成された計画を人力でレビューするだけでなく、「複数のClaudeセッション」を活用して多角的に検証するのが高度なテクニックです 。
- Writer/Reviewerパターン:
- セッションA (Writer): 実装計画を作成 。
- セッションB (Reviewer): セッションAの計画をレビュー。エッジケース、競合状態、既存パターンとの一貫性を厳しくチェックさせます 。
- フィードバックの反映: セッションBで得られた指摘事項をセッションAに伝え、計画を修正させます 。このループを繰り返すことで、人間だけでは気づきにくい欠陥を排除した「堅牢な計画」が完成します。
4. 実装フェーズへの移行
計画が固まったら、いよいよNormal Modeでコーディングを開始します 。
- 検証方法をセットで与える: 「この計画に沿って実装して。実装後、必ずテストを実行して成功を確認して 」と、自分自身で作業をチェックできる手段を必ず与えてください 。これが精度を劇的に向上させる最大のポイントです 。
- セッションの管理: 2回以上同じ問題で修正が必要になったら、履歴をリセット(
/clear)して、より具体的なプロンプトで再開します 。古い履歴(コンテキスト)が残っていると、精度が低下したり 、以前の指示を忘れる原因になるためです 。
5. CLAUDE.md によるプロセスの定着
このプランニング・ループをプロジェクトの標準ルールとして CLAUDE.md に記載し、Claudeが常にこの手順に従うように設定します。
- ワークフローの明文化:
CLAUDE.mdに「実装前には必ずインタビューを行い、Plan ModeでSPEC.mdを作成すること」といった指示を含めます 。 - 永続的なコンテキスト: 会話履歴で指示するよりも、
CLAUDE.mdに記述するほうが、Claudeがルールを「忘れる」ことなく確実に実行できます 。
まとめ:プランニング・ループの全体像
- インタビュー:
AskUserQuestionで潜在的な課題を引き出す 。 - Plan Mode: 実装前に複数のファイルにまたがる影響範囲を特定する 。
- 複数セッションレビュー: 「書くAI」と「検証するAI」を分けて精度を高める 。
- 検証の自動化: テストやスクリプトをClaudeに自ら実行させる 。
- ルール化: 上記プロセスを
CLAUDE.mdに集約し、品質を維持する 。
こうしたプロセスを繰り返して実装計画を練ることで、手戻りの少ない高品質な開発が可能になります 。
