Claude Code攻略#Claude Code#Subagent#並列処理
Subagent完全攻略【Claude Codeの並列処理】
Claude CodeのSubagent機能を使いこなす方法。大規模タスクの分割、並列処理、コンテキスト管理の実践テクニック。
Subagentとは
Subagentは、Claude Codeの「分身」のような機能です。
メインのClaude(親エージェント)とは別に、独立したClaudeインスタンス(子エージェント)を起動して、並列でタスクを実行できます。
メインClaude(親)
├── Subagent 1: ファイルAを調査中
├── Subagent 2: ファイルBを調査中
└── Subagent 3: テストを実行中
なぜSubagentを使うのか
メリット1: コンテキストを汚さない
大規模な調査をメインセッションでやると、コンテキストが一杯になります。
Subagentは独立したコンテキストを持つため、メインセッションをクリーンに保てます。
メリット2: 並列処理
複数のSubagentを同時に実行できます。
メリット3: 専門化
「調査専門」「テスト専門」など、役割を分けられます。
Subagentの使い方
基本的な呼び出し
Subagentを使って、src/lib/以下の全ファイルを調査して。
認証関連のコードがどこにあるか報告して。
Claudeが自動でSubagentを起動し、調査結果を報告します。
明示的な指示
以下のタスクをSubagentで実行して:
1. Subagent A: src/components/を調査
2. Subagent B: src/hooks/を調査
3. Subagent C: src/lib/を調査
各Subagentの結果をまとめて報告して。
実践パターン
パターン1: 大規模コードベースの調査
このプロジェクト全体を調査したい。
Subagentを使って、以下を並列で調査:
- ディレクトリ構造とファイル一覧
- 使用している主要ライブラリ
- API エンドポイントの一覧
- データベースモデルの構造
結果をCLAUDE.mdにまとめて。
パターン2: 影響範囲の調査
UserService クラスをリファクタリングしたい。
Subagentを使って、このクラスの全使用箇所を調査して:
- どのファイルからimportされているか
- どのメソッドが使われているか
- 変更の影響範囲
パターン3: テストの並列実行
Subagentを使って、以下のテストを並列実行:
- ユニットテスト
- 統合テスト
- E2Eテスト
各結果を報告して。
パターン4: 複数ファイルの同時修正
全コンポーネントにアクセシビリティ属性を追加したい。
Subagentを使って、components/以下の各ファイルを
並列で修正して。
Subagentの設計原則
原則1: タスクを明確に定義
❌ 「調査して」
✅ 「src/lib/auth.ts を読んで、認証フローの全ステップを報告して」
原則2: 結果の形式を指定
調査結果を以下の形式で報告して:
- ファイルパス
- 重要な関数/クラス
- 依存関係
- 問題点
原則3: 独立したタスクに分割
Subagent同士が依存しないようにタスクを分割:
✅ 良い分割:
- Subagent A: フロントエンドを調査
- Subagent B: バックエンドを調査
❌ 悪い分割:
- Subagent A: 認証を調査
- Subagent B: Aの結果を使って実装(Aに依存)
高度な使い方
階層的なSubagent
大規模なリファクタリングを行いたい。
Phase 1: 調査(Subagent)
- 現状分析
- 影響範囲特定
Phase 2: 計画(メイン)
- 調査結果をもとに計画
Phase 3: 実装(複数Subagent)
- 各モジュールを並列で修正
専門Subagentの作成
以下の役割を持つSubagentを使って作業を進めて:
1. Researcher: コードを読んで分析する専門
2. Implementer: コードを書く専門
3. Reviewer: コードをレビューする専門
まずResearcherで調査、Implementerで実装、Reviewerでレビュー。
Subagent使用時の注意点
注意1: コストの増加
Subagentも通常のClaudeと同じAPI使用量がかかります。
不必要なSubagentの起動は避けましょう。
注意2: 結果の統合
複数Subagentの結果を適切にまとめる必要があります:
各Subagentの調査結果を統合して、以下の形式でまとめて:
1. 全体像
2. 各エリアの詳細
3. 発見された問題点
4. 推奨アクション
注意3: 競合の回避
同じファイルを複数のSubagentが同時に編集すると競合します:
❌ 危険:
- Subagent A: auth.ts を修正
- Subagent B: auth.ts を修正
✅ 安全:
- Subagent A: auth.ts を修正
- Subagent B: user.ts を修正
Subagentを使うべきケース
| ケース | Subagent | 理由 |
|---|---|---|
| 大規模コードベースの調査 | ✅ 使う | コンテキスト節約 |
| 複数ファイルの並列処理 | ✅ 使う | 効率化 |
| 影響範囲の網羅的調査 | ✅ 使う | 漏れ防止 |
| 単一ファイルの修正 | ❌ 不要 | オーバーヘッド |
| シンプルな質問 | ❌ 不要 | 不必要 |
次のステップ
Subagentをマスターしました!
次は、Model Context Protocol(MCP)について学びましょう。
→ MCP(Model Context Protocol)入門
まとめ
- Subagent = 独立したClaudeインスタンス
- コンテキストを汚さずに大規模タスクを実行
- 並列処理で効率化
- タスクを明確に定義し、結果の形式を指定
- 同じファイルを複数Subagentで編集しない
- 大規模調査・並列処理で威力を発揮
参考文献・引用元
- [1]Claude Code Subagents- Anthropic