はじめに
Claude Code の Subagents は、メインのAIエージェントから別のエージェント(サブエージェント)を起動して、並列にタスクを処理できる仕組みです。
単に「並列化できる」だけでなく、サブエージェントごとに役割・ツール権限・モデルを使い分けられるのが強みです。
この記事では、実務で使えるSubagentsの設計パターンを紹介します。
基本構造
Subagents は Agent ツールを通じて起動します。
Agent({
description: "バックエンドAPIの調査",
subagent_type: "Explore",
prompt: "src/api/ 配下のエンドポイント一覧を調査し、認証が必要な箇所を特定してください。"
})
| 属性 | 意味 |
|---|---|
subagent_type |
使うエージェント種別(Explore / general-purpose / Plan 等) |
description |
3〜5語のタスク要約 |
prompt |
サブエージェントへの指示(文脈込み) |
設計パターン1: 並列リサーチ
複数の独立した調査を並列実行するパターンです。
// 3つの調査を並列実行
Agent({ description: "DB スキーマ調査", subagent_type: "Explore", prompt: "..." })
Agent({ description: "API 構造調査", subagent_type: "Explore", prompt: "..." })
Agent({ description: "フロント依存関係", subagent_type: "Explore", prompt: "..." })
ポイント: 並列実行するエージェントは、結果が他のエージェントに依存しないよう独立させます。依存がある場合は順次実行になります。
効果: 3つの調査を順番にやると9分かかるところ、並列で3分で終わります。
設計パターン2: 専門エージェントへの委譲
特定ドメインの作業を専門エージェントに任せるパターンです。
// コードレビュー専門のエージェントに委譲
Agent({
description: "セキュリティレビュー",
subagent_type: "code-reviewer",
prompt: "migrations/20260418_*.sql のSQL injection脆弱性を独立してレビューしてください。"
})
使いどころ: メインのエージェントと別視点からチェックしたいとき。自分の書いたコードを自分でレビューするより、独立したエージェントに見せる方が客観的です。
設計パターン3: コンテキスト隔離
大量の情報を読み込む作業を、メインのコンテキストから隔離するパターンです。
Agent({
description: "ログ解析と要約",
subagent_type: "general-purpose",
prompt: "/var/log/app/*.log を解析し、エラーパターンの上位5件を要約してください。要約結果のみ返してください。"
})
ポイント: サブエージェントは大量のログを読んでも、メインのコンテキストには要約結果だけが戻ってくる。メインの作業スペースを圧迫しません。
長時間動くプロジェクトでは、これがコンテキスト管理の鍵になります。
設計パターン4: 破壊的操作の隔離
isolation: "worktree" オプションで、git worktree上で隔離作業ができます。
Agent({
description: "依存関係アップデート試行",
subagent_type: "general-purpose",
isolation: "worktree",
prompt: "package.jsonの全依存関係を最新版にアップデートして、テストを実行してください。"
})
メリット: 失敗してもメインブランチに影響しない。成功したら差分だけ取り込める。
プロンプト設計の原則
Subagentsへのプロンプトは、メインのエージェントと違い「このセッションの文脈」を持っていません。
やってはいけない:
// ❌ 文脈不足:サブエージェントは「さっきの話」を知らない
Agent({ prompt: "さっき話した件、調査を進めて。" })
やるべき:
// ✅ 完結した指示:何が目的で、何を報告するか明記
Agent({
prompt: `ユーザー認証の実装パターンを調査。
背景: JWT → Session Cookieへの移行を検討中。
調査: src/auth/ 配下の現状実装と、代替案の Session 実装例を3パターン。
報告: 現状の問題点と、推奨パターンをcode snippetで。200字以内で。`
})
コストとトレードオフ
Subagentsは便利ですが、注意点もあります。
コスト増
1つのリクエストで複数のエージェントが動くため、トークン消費が増えます。並列3エージェントなら、単純計算で3倍のコスト。
デバッグ難易度
サブエージェントのログはメインとは別に記録されます。問題発生時の追跡が複雑になります。
適用判断
- 独立した作業が3つ以上 → Subagents有効
- 単一の作業で順次進行 → メインエージェントで十分
- 調査 → 実装 の依存関係がある → 順次実行(並列化不可)
まとめ
Subagentsは「並列化」の道具ではなく、「役割分担」の道具として使うと効果的です。
- コンテキスト圧迫を避けたい → 隔離エージェントに委譲
- 独立した調査を短時間で → 並列エージェント
- 独立視点が欲しい → 専門エージェント
小さく試して、チームのワークフローに合う形にカスタマイズしていくのがおすすめです。
この記事の筆者はMENTAでAI駆動開発のメンタリングを提供しています。→ https://menta.work/plan/20251
YouTubeでもAI×プログラミングの情報を発信中 → https://www.youtube.com/channel/UC1rXVD9WYsQPQEWZyd-A1KA/