Claude Codeで大規模コードベースを扱うベストプラクティス
はじめに
Claude Codeは従来のチャットボットとは異なり、ファイルの読み書き、コマンド実行、問題の自律的解決が可能なエージェント型コーディング環境です。数百万行のモノレポや数十年前のレガシーシステムでも本番運用されています。
この記事では、Claude Codeを大規模コードベースで効果的に活用するためのベストプラクティスを紹介します。
最重要ポイント:コンテキストウィンドウ管理
ほぼすべてのベストプラクティスは一つの制約に基づいています:
Claudeのコンテキストウィンドウはすぐに埋まり、埋まると性能が低下する
会話履歴、読んだファイル、コマンド出力がすべてコンテキストを消費します。コンテキストが埋まると指示を「忘れ」たりミスが増えます。
1. 検証手段を与える(最も効果的)
Claudeに自分の作業を検証させると、成果の質が劇的に向上します。
具体例
| 戦略 | ❌ 悪い例 | ✅ 良い例 |
|---|---|---|
| 検証基準を提供 | 「メールを検証する関数を実装して」 | 「validateEmail関数を書いて。user@example.comはtrue、invalidはfalse。実装後にテストを実行して」 |
| UI変更を視覚的に確認 | 「ダッシュボードを良くして」 | 「[スクショを貼付] このデザインを実装して、スクショを撮って比較し、差異を修正して」 |
| 根本原因を特定 | 「ビルドが失敗している」 | 「このエラーでビルドが失敗:[エラー貼付]。根本原因を修正してビルドが成功するか確認して」 |
ポイント: 曖昧な指示ではなく、成功条件を明確に伝えることで、Claudeが自己検証できるようになります。
2. 探索→計画→実装の順序で進める
いきなりコーディングさせると間違った問題を解く可能性があります。Plan Modeを活用しましょう。
推奨ワークフロー
ステップ1: 探索(Plan Mode)
Shift+TabでPlan Modeに入り、ファイルを読んで理解させます。
/src/authを読んでセッション管理の仕組みを理解して
ステップ2: 計画(Plan Mode)
実装計画を作成させます。
Google OAuthを追加したい。どのファイルを変更すべき?計画を作成して
ステップ3: 実装(通常モード)
Plan Modeを解除してコーディングに移ります。
計画に沿ってOAuthフローを実装。テストを書いて実行して
ステップ4: コミット
PRを作成します。
説明的なメッセージでコミットしてPRを作成
3. 具体的なコンテキストを与える
| 戦略 | ❌ 悪い例 | ✅ 良い例 |
|---|---|---|
| ファイルを指定 | 「認証の仕組みを教えて」 | 「src/auth/login.tsの認証フローを説明して」 |
| エラーを貼り付け | 「テストが落ちる」 | 「このエラーでテストが落ちる:[エラー全文]」 |
| 期待する結果を明示 | 「パフォーマンスを改善して」 | 「このクエリを100ms以下で実行できるよう最適化して」 |
4. CLAUDE.mdを活用する
プロジェクトのルートに
CLAUDE.mdファイルを作成し、以下の情報を記載しておくと効果的です:
- プロジェクト構造: 主要なディレクトリとその役割
- コーディング規約: 命名規則、フォーマット
- よく使うコマンド: ビルド、テスト、リント
- 重要な依存関係: 主要ライブラリとバージョン
# CLAUDE.md ## プロジェクト概要 このプロジェクトは... ## コマンド - `npm run build` - ビルド - `npm test` - テスト実行 - `npm run lint` - リント ## コーディング規約 - TypeScript使用 - 関数はcamelCase - コンポーネントはPascalCase
5. 新しい会話を積極的に始める
コンテキストが長くなったら、新しい会話を開始しましょう。
新しい会話を始めるタイミング
- 別のタスクに移る時
- 会話が長くなり、レスポンスが遅くなった時
- Claudeが以前の指示を忘れ始めた時
Claude Codeは会話をまたいでもプロジェクトの状態(ファイル、Git履歴など)を保持しているため、新しい会話でも作業を継続できます。
6. サブエージェントを活用する
大規模な調査や並列作業には、サブエージェントが有効です。
このリポジトリ全体を調査して、未使用のインポートをすべて見つけて
Claudeは自動的にサブエージェントを起動し、並列で調査を行います。
7. スクリーンショットを活用する
UI関連の作業では、スクリーンショットを貼り付けることで、言葉では伝えにくい視覚的な問題を正確に伝えられます。
[スクリーンショット貼付] このボタンの色を#3B82F6に変更して、変更後のスクリーンショットを撮って確認して
まとめ
Claude Codeを大規模コードベースで効果的に使うポイント:
- 検証手段を与える- 成功条件を明確に伝え、自己検証させる
- 探索→計画→実装- Plan Modeで計画を立ててから実装
- 具体的なコンテキスト- ファイルパス、エラー全文、期待結果を明示
- CLAUDE.mdを活用- プロジェクト情報を事前に提供
- 新しい会話を積極的に- コンテキスト管理のため
- サブエージェント活用- 大規模調査の並列化
- スクリーンショット活用- UI作業の効率化
これらのプラクティスを実践することで、大規模コードベースでもClaude Codeを最大限に活用できます。