Claude Code: SubAgents
最終更新:2026-08-31
サブエージェントにより、Claude Code は「チームマネージャー」になります — メインエージェントがタスクを分解し、サブエージェントが並列実行し、効率が倍増します。
💡 ヒント: サブエージェントは複数の Claude Code インスタンスではなく、単一セッション内の並列実行メカニズムです。メインエージェントが計画と調整を行い、サブエージェントが実行します。
📋 前提条件: 第12章 - MCP
1. 学ぶ内容
- サブエージェントの動作原理
- サブエージェントを使用するタイミング
- 並列タスク実行
- エージェント間のコラボレーションパターン
- スケジューリングとリソース管理
2. サブエージェントの動作原理
(1) アーキテクチャモデル
graph TB
M[Main Agent<br/>計画+調整] --> S1[Sub-agent 1<br/>フロントエンドリファクタリング]
M --> S2[Sub-agent 2<br/>バックエンド API]
M --> S3[Sub-agent 3<br/>テスト作成]
S1 --> R[結果の集約]
S2 --> R
S3 --> R
(2) 実行フロー
TEXT
📖 参照専用
1. ユーザーが複雑なタスクを与える
2. メインエージェントが独立したサブタスクに分解
3. 各サブタスクにサブエージェントを作成
4. サブエージェントが並列実行(独立したコンテキスト)
5. メインエージェントがすべてのサブエージェントの結果を集約
6. 一貫性をチェック、競合を処理
7. 最終結果を出力
▶ 例1:サブエージェントの自動トリガー
TEXT
📖 参照専用
> Add complete user management module: data model, API, frontend, tests
Claude Code (Main Agent):
タスク分解:
- サブタスク1:データモデル作成(User model + migration)
- サブタスク2:API エンドポイント作成(CRUD)
- サブタスク3:フロントエンドページ作成
- サブタスク4:テスト作成
[4つのサブエージェントが並列起動]
Sub-agent 1: ✅ データモデル作成完了
Sub-agent 2: ✅ API エンドポイント作成完了
Sub-agent 3: ✅ フロントエンドページ作成完了
Sub-agent 4: ✅ テスト作成完了
Main Agent: 集約中、一貫性をチェック中...
→ API 形式がフロントエンドの期待と不一致を発見
→ フロントエンドの API 呼び出しを自動修正
→ フルテストを実行
✅ 24テストがすべて合格
3. サブエージェントを使用するタイミング
| シナリオ | 適している? | 理由 |
|---|---|---|
| マルチファイルの独立した修正 | ✅ はい | ファイル間に相互影響なし |
| フロントエンド+バックエンド並列開発 | ✅ はい | 独立した技術スタック |
| バッチテスト作成 | ✅ はい | 各テストファイルは独立 |
| 単一ファイルの深いリファクタリング | ❌ いいえ | 並列性が不要 |
| 順序依存のタスク | ❌ いいえ | 並列化できない |
| 小さな修正 | ❌ いいえ | オーバーヘッド > 利益 |
4. 並列タスク実行
▶ 例2:並列バグ修正
TEXT
📖 参照専用
> Fix these bugs in parallel:
> 1. src/auth/jwt.ts: token refresh logic error
> 2. src/utils/date.ts: timezone handling issue
> 3. src/api/orders.ts: missing pagination validation
> 4. src/services/payment.ts: amount precision issue
Claude Code が4つのサブエージェントを起動:
Sub-agent 1 [jwt.ts] → ✅ 修正完了(2分)
Sub-agent 2 [date.ts] → ✅ 修正完了(3分)
Sub-agent 3 [orders.ts] → ✅ 修正完了(1分)
Sub-agent 4 [payment.ts] → ✅ 修正完了(4分)
合計:4分(直列なら10分必要)
節約:60%
5. エージェント間のコラボレーション
| モード | 説明 | ユースケース |
|---|---|---|
| 完全独立 | サブエージェント間にインタラクションなし | バッチの独立タスク |
| 規約共有 | CLAUDE.md とコードスタイルを共有 | 一貫したチーム基準 |
| 結果統合 | メインエージェントがサブエージェントの結果を統合 | 一貫性チェックが必要 |
| 反復コラボ | 一方のサブエージェントの出力が他方の入力 | 依存関係が存在 |
6. リソースの考慮事項
| 次元 | 単一エージェント | 4サブエージェント |
|---|---|---|
| API 呼び出し | 直列 | 並列 |
| Token 消費 | 100K | 4 × 30K = 120K |
| 時間 | 10 分 | 3 分 |
| コスト | $2.00 | $2.40 |
❓ よくある質問
Q サブエージェントは自動トリガーされますか?
A はい。Claude Code はタスクが並列化可能な場合を自動検出します。明示的に並列を要求することもできます。
Q サブエージェントに上限はありますか?
A ハードリミットはありませんが、それぞれが独立したコンテキストと API 呼び出しを消費します。リソースの過剰消費を避けるため、5-6並列までを推奨します。
Q サブエージェント間で通信できますか?
A 直接はできません。メインエージェントを通じて調整します — メインエージェントがタスクを割り当て、結果を集約し、競合を処理します。
Q 並列実行で競合は発生しますか?
A 同じファイルを修正する場合に発生する可能性があります。メインエージェントが検出して解決します。並列タスクは異なるファイルを操作することを推奨します。
Q サブエージェントはコストが高くなりますか?
A わずかに(~10-20%多くの Token)。ただし時間の節約は大幅(50-70%)。時間が重要なシナリオで推奨します。
📖 まとめ
- サブエージェントは Claude Code の内部並列実行メカニズム
- メインエージェントが分解、サブエージェントが並列実行、メインエージェントが集約
- マルチファイル独立修正、バッチ操作、フロントエンド+バックエンド並列開発に最適
- 順序依存タスクやシンプルな修正には不適
- 並列は時間を節約するがコストはわずかに増加。競合に注意
📝 練習問題
- 基本 (⭐): Claude Code に並列化可能なタスクを与え、サブエージェントの自動トリガーを観察してください。
- 応用 (⭐⭐): 4つの独立したモジュールのシナリオを設計し、直列と並列の時間を比較してください。
- 高度 (⭐⭐⭐): サブエージェントの Token 消費とコストを分析し、並列が価値あるタイミングを判断してください。