大規模プロジェクトでのAI活用
ファイル数が数十〜数百になる大規模プロジェクトでも、AIを効果的に活用できます。鍵は「コンテキスト管理」と「適切な情報提供」です。
大規模プロジェクトでAIを使う際の課題
よくある問題
- ✗ AIがプロジェクト全体を把握できない
- ✗ 関連ファイルを見落として不整合が発生
- ✗ 既存のコーディング規約を無視した提案
- ✗ コンテキストが長すぎて処理が遅い
解決のアプローチ
- ○ 必要な情報を選択的に提供する
- ○ プロジェクト構造を先に説明する
- ○ 規約やパターンを明示する
- ○ タスクを小さく分割する
効果的なコンテキスト管理
1. プロジェクト構造を最初に共有する
AIへの指示例
このプロジェクトの構造を説明します: project/ ├── frontend/ # Next.js アプリ │ ├── src/ │ │ ├── components/ # 共通コンポーネント │ │ ├── features/ # 機能別モジュール │ │ ├── hooks/ # カスタムフック │ │ └── lib/ # ユーティリティ │ └── ... ├── backend/ # FastAPI アプリ │ ├── app/ │ │ ├── api/ # エンドポイント │ │ ├── models/ # DBモデル │ │ ├── schemas/ # Pydanticスキーマ │ │ └── services/ # ビジネスロジック │ └── ... └── docker-compose.yml 今から frontend/src/features/tasks/ にタスク管理機能を追加します。
2. 関連ファイルを明示的に伝える
AIへの指示例
タスク機能を実装します。以下のファイルが関連します: 【参照すべきファイル】 - backend/app/models/user.py(既存のUserモデル) - backend/app/api/auth.py(認証の実装パターン) - frontend/src/features/auth/(既存機能の構造参考) 【新規作成するファイル】 - backend/app/models/task.py - backend/app/api/tasks.py - frontend/src/features/tasks/ 既存のパターンに合わせて実装してください。
3. 規約・パターンを明示する
AIへの指示例
このプロジェクトのコーディング規約: 【バックエンド(Python/FastAPI)】 - 型ヒントを必ず使用 - Pydanticスキーマで入出力を定義 - サービス層にビジネスロジックを分離 - 例外は HTTPException で統一 【フロントエンド(TypeScript/Next.js)】 - コンポーネントは関数コンポーネント + TypeScript - 状態管理は useState + useReducer(Reduxは使わない) - APIコールは features/*/api.ts に集約 - スタイルは Tailwind CSS この規約に従ってコードを書いてください。
Claude Code / Cursor での実践
Claude Code の場合
Claude Code は自動的にプロジェクト構造を把握しますが、明示的に指示することで精度が上がります。
# プロジェクトのルートで実行 claude # 最初に構造を確認させる > このプロジェクトの構造を確認して、主要なファイルを教えて # 特定のディレクトリに集中させる > backend/app/api/ 以下のファイルを見て、エンドポイントの実装パターンを把握して
Tips: @ファイル名 でファイルを明示的に参照できます。@backend/app/models/user.py のように指定すると、そのファイルを確実にコンテキストに含められます。
Cursor の場合
Cursor では .cursorrules ファイルでプロジェクト固有の設定を定義できます。
# .cursorrules
You are working on a full-stack web application.
## Project Structure
- Frontend: Next.js 14 with App Router (frontend/)
- Backend: FastAPI with SQLAlchemy (backend/)
- Database: MySQL
## Coding Standards
- Use TypeScript strict mode
- All API responses follow { data, error, message } format
- Use Pydantic for validation
- Follow existing patterns in the codebase
## Important Files
- backend/app/core/config.py - Configuration
- frontend/src/lib/api.ts - API client
Tips: Cmd+K(Ctrl+K)で編集、Cmd+L(Ctrl+L)でチャット。@codebase でプロジェクト全体を検索対象にできます。
段階的な実装アプローチ
大きな機能を一度に実装しようとすると、AIの出力が不安定になります。段階的に進めましょう。
1
Step 1: 設計を確認
「この機能を実装するのに、どのファイルを作成・修正する必要がありますか?」
2
Step 2: モデル/スキーマから
「まずデータベースモデルとPydanticスキーマを作成してください」
3
Step 3: API実装
「モデルができたので、CRUDのAPIエンドポイントを作成してください」
4
Step 4: フロントエンド
「APIができたので、フロントエンドのコンポーネントを作成してください」
5
Step 5: 動作確認と修正
「エラーが出ました:[エラー内容]。修正してください」
実践例:タスク管理機能の追加
完全な指示例
【背景】 既存のプロジェクト管理アプリにタスク機能を追加します。 【プロジェクト構造】 - backend/app/models/user.py に User モデルあり - backend/app/api/auth.py に認証済みユーザー取得の依存関係あり - frontend/src/features/projects/ が既存機能の参考 【要件】 - タスクには title, description, status, due_date, assigned_to がある - status は todo, in_progress, done の3種類 - タスクはプロジェクトに紐づく(project_id) - 認証済みユーザーのみ操作可能 【お願い】 1. まず必要なファイル一覧を提示してください 2. 承認後、backend から順に実装してください 3. 既存の auth.py, projects.py のパターンに従ってください
まとめ
- ✓ 構造を最初に共有 - プロジェクトの全体像をAIに伝える
- ✓ 関連ファイルを明示 - 参照すべきファイル、新規作成するファイルを列挙
- ✓ 規約を伝える - コーディングスタイル、使用パターンを明示
- ✓ 段階的に進める - 一度に全部ではなく、ステップごとに実装
- ✓ ツールの機能を活用 - @ファイル参照、.cursorrules などを活用