Claude Codeで複雑なタスクを頼むと、調査ログやファイル内容で会話がどんどん長くなり、肝心の指示が埋もれていく——そんな経験はないだろうか。「サブエージェント」は、この問題を解決するためにClaude Codeが備える委任の仕組みだ。今回は基本の考え方から、作り方3通り、実践Tips、そして混同されがちな「Agent Teams」との違いまでをまとめる。

サブエージェントとは何か
サブエージェントは、メインのClaudeが特定の作業を任せるために呼び出す「別インスタンス」だ。呼び出されたサブエージェントは自分専用のコンテキストウィンドウ・システムプロンプト・使用可能ツールを持ち、独立した会話として作業を進める。メイン側に返るのは最終的な結果メッセージだけなので、調査の途中経過や読み込んだファイルの中身でメインの会話が汚れることがない。
呼び出しには内部的に Agent というツール(旧称 Task)が使われる。「コードレビューして」「このバグを再現して」のように頼むと、Claudeが自分の判断でサブエージェントを起動することもあれば、こちらが名前を指定して呼ぶこともできる。
なぜ使うのか——メリットは主に3つ
- コンテキストの温存:大量のファイル探索やログ調査をサブエージェント側に押し込めるので、メインの会話は指示と結論だけのすっきりした状態を保てる。
- 役割ごとの権限制御:「コードレビュー担当は読み取り専用」「テスト実行担当だけコマンド実行を許可」のように、ツールアクセスをエージェント単位で絞り込める。
- 並列実行:独立したサブタスクを同時に複数起動できる。例えば「認証まわりの先行事例を調べる」「関連するクローズ済みIssueを探す」「修正案を下書きする」を3体のサブエージェントに同時に振れば、逐次実行より速く終わる。
作り方は3通りある
サブエージェントは大きく分けて3つの方法で用意できる。
| 方法 | やり方 | 向いている場面 |
|---|---|---|
| スラッシュコマンド | /agents を実行し、対話形式で名前・説明・ツール・モデルを設定して保存 |
GUI感覚で手早く作りたいとき(公式が推奨する入り口) |
| Markdownファイル | .claude/agents/*.md(プロジェクト用)や ~/.claude/agents/*.md(ユーザー共通用)にYAMLフロントマター付きで定義 |
チームで共有・バージョン管理したいとき |
| プログラム定義 | Claude Agent SDK の query() の agents パラメータにコードで定義 |
自作アプリやCI連携など、SDKでエージェントを組み込みたいとき |
また何も定義しなくても、Claude Codeには Explore(高速な読み取り専用の探索役)、general-purpose(検索・編集・実行までこなす汎用役)、Plan(ファイルを変更せず実装方針だけ設計する役)という組み込みエージェントが最初から用意されている。まずはこの3つを使い分けるだけでも、メインの会話はかなり読みやすくなる。Claude Academyの入門コースでは、ゼロからカスタムエージェントを作る手順を一通り体験できる。

実践Tips
ワークツリー分離で並列実装を安全にする
サブエージェントのフロントマターに isolation: worktree を加えると、そのエージェントは専用のgit worktreeの中で作業する。「同期IOを全部非同期化して、10体のエージェントをワークツリー分離で並列起動し、それぞれ動作確認してPRを出して」といった大規模改修も、ファイルの取り合いを起こさずに進められる(Claude Codeパワーユーザー向けTipsより)。
使いどころを見極める
| 向いている場面 | 向いていない場面 |
|---|---|
| 手順の多い複雑な機能実装 | 1ステップで終わる単純作業 |
| 専門知識が必要な調査・レビュー | ちょっとしたコード確認 |
| 独立したサブタスクの並列実行 | 手順同士が強く依存するタスク |
| 長時間かかる分析(メインの枯渇防止) | 単発の質問 |
役割が重なるエージェントを何体も作ったり、不要なツール権限を渡したりすると、かえって管理が複雑になる。「1エージェント1役割」を意識すると設計がぶれにくい。
サブエージェント vs Agent Teams——混同注意
似た名前の機能に「Agent Teams」がある。サブエージェントは「結果を返して終わる委任」だが、Agent Teamsは複数のClaude Codeセッションが対等な「チームメイト」として共有タスクリストを持ち、互いに直接メッセージを送り合いながら並行作業する仕組みだ。2026年9月時点では実験的機能で、既定では無効になっており、環境変数での明示的な有効化が必要となる。
| サブエージェント | Agent Teams | |
|---|---|---|
| 関係性 | メインに従属し、結果だけ返す | 対等なチームメイトが直接会話 |
| コンテキスト | タスクごとに使い捨て | チームメイトごとに独立して持続 |
| 成熟度 | 標準機能 | 実験的(既定オフ) |
| 向く場面 | 境界がはっきりした委任作業 | 調査など、すり合わせが要る並行作業 |
まずはサブエージェントで「調べる係」「作る係」「確認する係」を分ける運用に慣れ、それでも足りない協調作業が出てきたらAgent Teamsを試す、という順番がおすすめだ。
主な情報源
- Subagents in the SDK – Claude Code Docs
- Creating a subagent – Claude Academy
- Claude Code power user tips | Claude Help Center
- Agent teams – Claude Code Docs
- Agent SDK overview – Claude Code Docs
各ツールは提供元の規約に従ってご利用ください。情報は各情報源の公開時点のものです。収集・要約はAI、公開判断は人。