ブログ

Claude Codeサブエージェント:構造、5つの役割、オーケストレーション

Markdown

Claude Codeのサブエージェントを基礎から解説。Skillsとの違い、作成と呼び出し方、5つの役割別テンプレート、並列実行と費用を紹介します。

記事の全文を読む

重要なポイント

Claude Codeのサブエージェントは、独自のコンテキスト、ツール一式、システムプロンプトを持つ専門AIアシスタントです。メインチャットが自動的にタスクを委任するか、@agent-を使って名前で呼び出すことができます。サブエージェントは狭い範囲のタスクを担当し、メインの会話を散らかさず、最後の要約だけを返します。このガイドでは、サブエージェントとSkillの違い、Claudeが実際に呼び出す説明文の書き方を解説し、30分で使える5つの役割を作ります。

Ailootの実践的な使い方はドキュメントをご覧ください。

Claude Codeのサブエージェントとは?なぜ「単なる別のSkill」ではないのか

重要なポイント

サブエージェントは、独自のコンテキスト、システムプロンプト、ツール一式を持つ専門AIアシスタントです。Anthropicの公式ドキュメントでは、別のコンテキストで副次的なタスクを担当し、結果の要約だけを返すアシスタントと説明されています。メインチャットに読み込まれてその記憶を使うSkillsとは異なり、サブエージェントは隔離された環境で動作します。そこが最大の価値です。

Claude Codeのドキュメントでは、次のように定義されています。

サブエージェントは、特定の種類のタスクに特化したAIアシスタントです。検索結果、ログ、後で参照しないファイル内容などでメインの会話が埋まってしまう副次的なタスクには、サブエージェントを使います。サブエージェントは独自のコンテキストで作業し、結果だけを返します。

— Claude Code ドキュメント、https://code.claude.com/docs/en/sub-agents

起業家にもわかる言葉で言えば、不動産会社を想像してみてください。そこには、社長、マーケター、弁護士、営業担当者がいます。一人の従業員がこれらの役割を次々に切り替えても、それはチームではなく、過負荷の人です。各人が自分のコンテキストと担当領域を持ち、社長が仕事を割り振って結果をまとめるとき、チームが成り立ちます。

Claude Codeのサブエージェントも同じように動きます。メインチャットが社長で、サブエージェントは狭い範囲のタスク、独自のコンテキスト、ツール一式を持つ専門家です。タスクが専門家の説明に合えば、社長は詳細に深入りせず、その専門家に委任します。

Anthropicがサブエージェントを作った5つの目的

Anthropicのドキュメントには、独自のサブエージェントを作る理由が5つ、正確に挙げられています。

サブエージェントを使うと、調査や実装をメインの会話から切り離してコンテキストを保ち、サブエージェントが使えるツールを制限して制約を徹底し、ユーザーレベルのサブエージェントを通じてプロジェクト間で設定を再利用し、専用のシステムプロンプトで特定分野向けの振る舞いを設定し、Haikuなどのより高速で安価なモデルにタスクを振り分けてコストを管理できます。

— Claude Code ドキュメント、https://code.claude.com/docs/en/sub-agents

この一覧の中で、プログラマーでない人に最も実用的なのはコスト管理です。重い調査タスクを安価なHaikuモデルに任せながら、メインの会話はSonnetやOpusで続けられます。トークンの節約効果はそれに比例します。

導入版のネスト対応を確認する

この記事の例は、1つのメインから作業者へ直接委任します。古い資料の「子は別の子を起動できない」を恒久的な規則と扱わないでください。ネストは導入版と許可ツールによります。ネストしたサブエージェントのガイドに版別の例があるため、深い委任の計画前に自分の環境で対応を確認します。

サブエージェントはSkill、スラッシュコマンド、Hookとどう違うのか

重要なポイント

Claude Codeには4つの拡張方法があり、互いに置き換えられるものではありません。CLAUDE.mdは常に読み込まれる永続的な知識です。Skillsは、起動条件に合うとメインチャットに読み込まれる既製の方法論です。スラッシュコマンドは、単発の操作に使う明示的な/commandボタンです。サブエージェントは独自のコンテキストを持ち、メインチャットからタスクを委任される専門家です。最もよくある間違いは、Skillが必要な場面でサブエージェントを作ることです。

前のSkillsガイドでは、Claude CodeのSkillsとスラッシュコマンドが実質的に1つの形式に統合されたことを説明しています。しかしサブエージェントは別のもので、「より大きなSkill」ではありません。

4つの仕組みをまとめると、次のとおりです。

機能CLAUDE.mdSkillスラッシュコマンドサブエージェント
読み込まれるタイミング常時説明が起動条件に合ったとき明示的な/nameコマンド時委任時または@agent-nameで呼び出したとき
動作する場所メインコンテキスト内メインコンテキスト内メインコンテキスト内独立した専用コンテキスト内
モデルメインチャットと同じ同じ同じ任意—Haiku、Sonnet、Opus、継承
ツール利用可能なすべて継承継承tools:で制限可能
返す内容-メインの会話内に表示メインの会話内に表示最終要約のみ
並列実行-なしなしあり—複数を並列実行
セッション間の記憶近くにあるファイル近くにあるファイル近くにあるファイルmemory: user/project/localフィールド

英語のガイドでよく使われる言い方を借りると、Skillsはレシピ、サブエージェントは専門の同僚です。

Put simply: skills are recipes; subagents are specialized colleagues.

実際には次のように動きます。Skillsは説明がタスクに合うと自動的に有効になり、サブエージェントは明示的に呼び出されます。メインチャットが委任を判断するか、名前を指定して呼び出します。

選択の判断フロー:「どれを選べばいい?」

「ClaudeにXをしてほしい」と思ったら、次の4つの質問で判断してください。

  1. 常に使えるようにしておきたい知識ですか? たとえば「ユーザーの希望する言語にローカライズする」「emダッシュは使わない」などです。CLAUDE.mdに記載します。
  2. 今は手作業で行っている、起動条件のある方法論ですか? たとえば「毎週月曜日に営業レポートを書く」などです。Skillを作ります。
  3. メインチャットのコンテキストを消費するタスクですか?それとも並列実行できますか? たとえば「30の情報源を対象とする詳細な調査」や「新機能を書いている間にセキュリティ監査を行う」などです。サブエージェントを作ります。
  4. Claude Codeのイベントに自動で応答する仕組みが必要ですか? たとえば「Editのたびにリンターを実行する」などです。Hookを書きます。

起業家のタスクの90%は最初の2つに当てはまります。サブエージェントは、作業を「一度に1つ」行う段階からオーケストレーションへ進むための上級ツールです。

サブエージェントはどこにあり、どれが優先されるのか

重要なポイント

Claude Codeのサブエージェントは、組織の管理設定からプラグインまで、優先順位の異なる5か所に保存されます。同じ名前のファイルが2つある場合、優先順位の高い方が有効になります。個人事業主に最もよくある構成は、個人用の汎用エージェントを~/.claude/agents/に置き、プロジェクト固有のエージェントを各プロジェクト内の.claude/agents/に置く方法です。

サブエージェントの階層は、優先順位の高い順に次の5段階です。

階層パス適用対象優先順位
Enterprise組織の管理設定会社の全従業員1(最高)
SessionCLIフラグ--agentsとJSON現在のセッションのみ2
Project.claude/agents/name.mdこのプロジェクトのみ3
Personal~/.claude/agents/name.md自分のすべてのプロジェクト4
Plugin<plugin>/agents/name.mdプラグインが有効な場所5(最低)

優先順位の仕組みはSkillsやCLAUDE.mdと同じです。組織の設定がCLIを上書きし、CLIがプロジェクトを、プロジェクトが個人設定を、個人設定がプラグインを上書きします。

読み込みについて知っておくこと

サブエージェントはClaude Codeのセッション開始時に読み込まれます。ディスク上のエージェントファイルを手動で編集した場合、セッションを再起動するまで変更は反映されません。対話型の/agents UIで編集した場合は、すぐに反映されます。

スコープごとに使えるサブエージェントは1つで、ファイルも1つです。.claude/agents/にcode-reviewer.mdがあり、その隣に同名の別ファイルがある場合(たとえば古いバックアップなど)、Claude Codeはそのうち1つを通知なしに無視します。

プラグインのサブエージェントには、別のセキュリティ制限があります。hooks、mcpServers、permissionModeフィールドはサポートされません。サードパーティのプラグインに、マシン上で任意のコードを実行する権限を与えないためです。

サブエージェントファイルの構造:フロントマターと本文

重要なポイント

サブエージェントは、先頭にYAMLフロントマター、その下にシステムプロンプトを含む1つのMarkdownファイルです。最低限必要なフィールドは2つです。name(小文字とハイフン)とdescription(Claudeがいつ委任するか)です。完全なスキーマには16個のフィールドがあります。tools、disallowedTools、model、permissionMode、maxTurns、skills、mcpServers、hooks、memory、background、effort、isolation、color、initialPromptです。Anthropicは、説明を簡潔にすることを推奨しています。起動条件が明確であるほど、Claudeは正確に起動できます。

公式ドキュメントにある最小限の例です。わずか9行です。

---
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnet
---

You are a code reviewer. When invoked, analyze the code and provide
specific, actionable feedback on quality, security, and best practices.

これだけで十分です。ユーザーがメインチャットで「PRをレビューして」と言うと、Claudeは「reviewer / code / quality」と説明文を照合し、サブエージェントに委任します。サブエージェントは差分を読み、コメントを作成し、要約をメインチャットに返します。メインチャットはログや中間分析で埋まりません。

フロントマターの完全なスキーマ

フィールド必須機能
nameはい一意の識別子。小文字とハイフン。ファイル名と一致する必要はありません
descriptionはいClaudeが委任するタイミング。自動化の起動条件です
toolsいいえ許可するツールの一覧。省略した場合、親のすべてのツールを継承します
disallowedToolsいいえ禁止するツールの一覧。最初に適用され、その後にtoolsが適用されます
modelいいえhaiku / sonnet / opus / 完全なID / inherit(デフォルト)
permissionModeいいえdefault / acceptEdits / auto / dontAsk / bypassPermissions / plan
maxTurnsいいえ停止するまでのステップ数の上限
skillsいいえ起動時にサブエージェントのコンテキストへ読み込むSkills
mcpServersいいえこのサブエージェントだけが利用できるMCPサーバー
hooksいいえこのサブエージェント専用のPreToolUse / PostToolUse / Stop
memoryいいえuser / project / local — セッション間で記憶を保持するフォルダー
backgroundいいえtrue — 常にバックグラウンドで実行。デフォルトはfalse
effortいいえlow / medium / high / xhigh / max — 推論のレベル
isolationいいえworktree — 別のgit worktreeで実行
colorいいえUIの色:red / blue / green / yellow / purple / orange / pink / cyan
initialPromptいいえ--agentで起動したとき、サブエージェントが最初に受け取る文

model: haikuフィールドは、先ほどの5つの目的の「コスト管理」そのものです。ドキュメントを50ページ読む調査エージェントをHaikuで実行すれば、Opusと比べて5~7倍節約できます。

isolation: worktreeフィールドは、サブエージェントがリファクタリングや移行などの危険を伴う変更を行うものの、作業コピーには触れさせたくない場合に役立ちます。isolation: worktreeを設定すると、Claude Codeがプロジェクトの一時的なGitコピーを作成します。サブエージェントはそこで作業し、レビュー用の差分を返します。

ファイル本文がシステムプロンプト

フロントマターの後ろに続くのは、通常のMarkdownです。つまり、サブエージェントのシステムプロンプトです。特別な構造は必要ありませんが、実績のあるパターンがあります。

  1. 自分が何者か — 「あなたはコードレビュアーです」「あなたはセキュリティ監査担当者です」「あなたはドキュメントの保守担当者です」のように、1文で書きます。
  2. 呼び出されたとき、最初に何をするか — タスクを受け取った後の最初の2~3アクションです。
  3. チェック項目や手順の一覧 — サブエージェントが従う5~10項目です。
  4. 返す内容 — 最終レポートの形式です。これは重要です。形式を指定しないと、サブエージェントは構造化された要約ではなく「エッセイ」を作成します。
  5. しないこと — 明確な制限です。この項目がないと、サブエージェントは即興的な対応を始めます。

本文は200~500行に収めてください。それより長くなる場合は、長い参考資料を近くの別ファイルに移し、プロンプトからリンクしてください。

Claudeが確実にサブエージェントを呼び出す説明文の書き方

重要なポイント

セッションの開始時にClaudeが確認し、委任するかどうかを判断するために使うのはdescriptionフィールドだけです。フォーラムで最もよく見かける不満は、「サブエージェントを作ったのに、Claudeが呼び出さない」です。解決策は3つの要素からなる形式です。何をするか + 引用符で囲んだ起動フレーズ + 使用してはいけない場面です。Anthropicは、Claudeにサブエージェントを呼び出させるため、descriptionに「proactively use」や「immediately afterに使う」などの表現を含めることを明示的に推奨しています。

A common pain point is setting up a subagent for code review, only to see Claude do everything itself without using the agent. The reason is usually one thing: the description is written as “a code review helper.” Claude cannot tell when to launch it.

効果的な説明文の形式(3つの要素)

要素1 — 何をするか。 プロセスではなく、結果を1文で書きます。「コードを分析する」ではなく、「コードの脆弱性を見つけ、深刻度と修正方法を一覧で返す」とします。

要素2 — 起動するタイミング。 ユーザーが実際に依頼するときの言い方を、引用符付きで3~5個記載します。推測せず、チャット履歴や実際の表現を確認してください。

要素3 — 起動してはいけないタイミング。 このサブエージェントが応答すべきではない、類似タスクについて1~2個記載します。この項目がないと、似たエージェント同士が常に競合します。

魔法の言葉「Use Proactively」

Anthropicの公式ドキュメントは、次のように明確に推奨しています。

Claudeは、依頼されたタスクの説明、サブエージェント設定のdescriptionフィールド、現在のコンテキストに基づいて、自動的にタスクを委任します。積極的な委任を促すには、サブエージェントのdescriptionに「use proactively」などの表現を加えてください。

— Claude Code ドキュメント、https://code.claude.com/docs/en/sub-agents

つまり、明確な手掛かりがdescriptionにない場合、Claudeはデフォルトではサブエージェントを呼び出さない傾向があります。「use proactively」や「コードを書いた直後にすぐ使う」を加えると、起動率が大きく上がります。

効果的な説明文の例

description: |
  Expert code review specialist. Proactively reviews code for quality,
  security, and maintainability. Use immediately after writing or
  modifying code. Returns prioritized list of issues with severity
  and fix recommendations.
  Do not invoke for documentation changes, README edits, or commit
  message rewrites - these are handled by doc-maintainer.

ここで効果を発揮しているのは、次の点です。

  • 「reviews」+「returns」という動詞で、プロセスではなく具体的な結果を示しています。
  • 「Proactively」と「immediately after」は明確な起動条件です。
  • 「Do not invoke for...」によって、類似のサブエージェントとの競合を防いでいます。
  • 説明文では英語が標準です。Claudeは英語のほうが照合しやすいからです。

10分で使える5つのサブエージェントの役割

重要なポイント

最初のサブエージェントを一から書かなくても、実績のあるパターンを使って調整できます。典型的なタスクをカバーする5つの役割を紹介します。code-reviewer(変更後のコードレビュー)、security-auditor(脆弱性と情報漏えいの発見)、research-agent(8件以上の情報源を使った詳細な調査)、doc-maintainer(ドキュメントとコードの同期)、refactor-agent(git worktreeを使った安全なリファクタリング)です。それぞれに、コピーして調整できるテンプレートが付いています。

以下の各役割は、.claude/agents/<name>.mdという1つのファイルで構成されます。ファイルを作成したら、Claude Codeを再起動して/agentsを開き、新しいエージェントが一覧に表示されるか確認してください。その後、@agent-nameで呼び出せます。

1. code-reviewer — 変更のたびにコードをレビュー

Anthropicのドキュメントにある公式の例を、作業手順に合わせて調整したものです。

---
name: code-reviewer
description: |
  Expert code review specialist. Proactively reviews code for quality,
  security, and maintainability. Use immediately after writing or
  modifying code.
tools: Read, Grep, Glob
model: inherit
color: blue
---

You are a senior code reviewer ensuring high standards of code quality.

呼び出されたら:
1. メインから渡された差分と変更ファイル一覧を読みます。なければ提出を求めます。
2. Read、Grep、Globで関連ファイルを調べます。
3. 編集やシェル実行なしで指摘を返します。

Review checklist:
- Code is clear and readable
- Functions and variables are well-named
- No duplicated code
- Proper error handling
- No exposed secrets or API keys
- Input validation implemented
- Test coverage adequate
- Performance considerations addressed

Provide feedback organized by priority:
- Critical issues (must fix before merge)
- Warnings (should fix)
- Suggestions (consider improving)

Format: for each issue - file:line + 1 sentence why it's a problem + concrete fix.

重要なのはtools: Read, Grep, Globです。読み取りと検索だけで、Bash、Write、Editはありません。メインが差分を用意して渡します。「git diffだけ」と指示しても、全面的に許可したBashは制限できません。

2. security-auditor — 脆弱性と情報漏えいを見つける

深い推論のためopusを使い、Read、Grep、Globの制限を保ちます。メモリ有効化には書き込み能力も付くため、この読み取り専用例では永続メモリを省略します。

---
name: security-auditor
description: |
  Security audit specialist. Use proactively to find OWASP Top 10
  vulnerabilities, exposed secrets, injection risks, broken auth.
  Run before any deploy or merge to main.
tools: Read, Grep, Glob
model: opus
color: red
---

You are a security auditor. Find exploitable vulnerabilities, not style issues.

Audit checklist:
- SQL / NoSQL injection
- XSS (stored, reflected, DOM-based)
- CSRF / SSRF risks
- Hardcoded secrets (API keys, tokens, passwords)
- Broken auth / session management
- Insecure deserialization
- Missing input validation
- Path traversal
- Open redirects
- Insecure direct object references (IDOR)

For each finding:
- Severity: Critical / High / Medium / Low
- File:line
- Attack scenario in 1–2 sentences
- Fix recommendation with code example

Skip linter or style noise. Report only exploitable issues.

ツールは読み取り専用ですが、脆弱性の連鎖など複雑な確認のためにmodel: opusを指定しています。

3. research-agent — 8件以上の情報源を使った詳細な調査

このパターンは、Anthropic自身がマルチエージェント調査システムについての記事で紹介しています。重要なのは、出力形式を明示し、生の検索結果をそのまま出力しないようにすることです。

---
name: research-agent
description: |
  Deep web research specialist. Use proactively for fact-finding,
  competitive analysis, gathering external documentation, comparing
  approaches across multiple sources.
tools: WebFetch, WebSearch, Read, Write
model: sonnet
maxTurns: 30
color: purple
---

You are a research analyst. Goal: synthesized brief, not raw search dumps.

Process:
1. Decompose the question into 3–5 sub-queries
2. WebSearch each sub-query, fetch top 3–5 sources per query
3. Cross-verify claims across at least 2 independent sources
4. Reject SEO-farm and aggregator content; prefer primary sources
5. Quote verbatim with URL attribution for any specific claim
6. Return: TL;DR (3 bullets) + Findings + Sources (8+ domains minimum)

Anti-patterns to avoid:
- Don't cite a fact from a single source
- Don't paraphrase quotes as if they were verbatim
- Don't return raw search result dumps to the parent
- Don't include filler intro / outro ("Hope this helps")

maxTurns: 30は、調査が終わりのない反復に陥るのを防ぐ安全策です。Anthropicはこの数値をマルチエージェントシステムで報告しています。

Claude Opus 4をリードエージェント、Claude Sonnet 4をサブエージェントとするマルチエージェントシステムは、Claude Opus 4単体を90.2%上回りました。

— Anthropic Engineering、https://www.anthropic.com/engineering/multi-agent-research-system

90%という数字は、調査ベンチマークのタスクを指しています。実際の業務タスクでは効果は小さくなりますが、おおむね同じ規模です。

4. doc-maintainer — ドキュメントをコードと同期させる

この役割ではmodel: haikuを使います。これは典型的な「コスト管理」の例です。ドキュメントの更新にOpusは必要ありません。Haikuなら3分の1の価格で作業できます。

---
name: doc-maintainer
description: |
  Documentation sync specialist. Use after merging features to update
  README, API docs, CHANGELOG. Reads recent commits, identifies
  undocumented changes, updates docs proactively.
tools: Read, Write, Edit, Glob, Grep, Bash
model: haiku
memory: project
color: green
---

You maintain documentation in sync with code.

When invoked:
1. Run `git log --since="last release"` to see recent changes
2. Read README.md, docs/, CHANGELOG.md
3. Identify gaps: new features without docs, removed APIs still
   documented, version mismatches

Output:
- Updated files (use Edit, not Write - preserve existing structure)
- CHANGELOG.md entry in Keep-A-Changelog format
- List of changes you made (actual diff summary, not paraphrase)

Style rules:
- Active voice, present tense
- Code examples must be copy-pasteable
- No marketing language ("powerful", "robust", "seamless")
- No filler ("This guide will help you...")

5. refactor-agent — worktreeで安全にリファクタリング

この役割ではisolation: worktreeを使います。サブエージェントはリポジトリの別コピーで作業し、問題がなければその変更だけをマージします。

---
name: refactor-agent
description: |
  Safe refactor specialist. Use for renames, extracts, inlines that
  shouldn't touch your working copy until reviewed. Runs in a
  temporary git worktree.
tools: Read, Edit, Write, Bash, Grep, Glob
model: sonnet
isolation: worktree
permissionMode: acceptEdits
color: yellow
---

You refactor code without changing behavior.

Strict rules:
1. Tests must pass BEFORE and AFTER the refactor.
   If pre-refactor tests fail, STOP and report.
2. One atomic refactor per commit (extract, rename, inline).
3. Never change public APIs without explicit instruction.
4. Never modify tests unless they test the refactored implementation
   directly.

Process:
- Run test suite -> baseline
- Make atomic refactor
- Run test suite -> verify
- Commit with conventional message: refactor(scope): what

Return: summary of changes + worktree path so user can diff and merge.

この役割を使うと、「変更を壊してしまい、元に戻せない」という最もつらいリファクタリングの問題を避けられます。元のコピーはそのまま残り、サブエージェントは隔離されたworktreeで作業します。

出来合いのサブエージェントをコピーするだけでなく、Claudeを安定したツールにする組み合わせを作りたいですか?サブエージェントはAIクローンの一部です。Claudeに、あなたの考え方に沿って動く専門チームを与える方法です。この方法論は、AIクローン(Skills + Subagents)+ Second Brain + Context Engineeringの3本柱で成り立ちます。この組み合わせによって、Claudeは当てずっぽうで答えるアシスタントから、あなたの考え方に沿って動くツールへと変わります。

サブエージェントを5つ並列で起動する:オーケストレーター + ワーカー

重要なポイント

サブエージェントの最大の強みは並列実行です。メインチャットが計画を立てる一方で、5人(または10人)の専門サブエージェントが、それぞれ独自のコンテキストで異なる段階を同時に進めます。メインチャットは結果を集めて確認します。逐次作業と比べて3~5倍速くなり、「コンテキスト汚染」も防げます。これは、メインの会話がログや中間分析で埋め尽くされる状態です。

並列オーケストレーションは、「指揮者 + オーケストラ」の構成です。指揮者は計画を持ち、楽譜は書かず、演奏を確認します。誰かが音を外したら、代わりに仕上げようとせず、もう一度演奏するように伝えます。

起業家には、新しいクライアント向けの戦略を準備するマーケティング会社の例のほうがわかりやすいでしょう。あるアナリストはSWOT分析を行い、別のアナリストは競合分析を行い、3人目は顧客層のプロフィールを作成します。上級アナリストは予算に合わない仮説を除外し、プロジェクトマネージャーが最終プレゼンテーションをまとめます。Claude Codeでは、この一連の作業が1文で始まり、批判的なチェックも後からではなくプロセスに組み込まれています。

最小限のオーケストレーション用プロンプト

メインチャットでの指示は1文で十分です。

5つのサブエージェントを並列で起動してください。異なる情報源(Anthropicのドキュメント、GitHubのリポジトリ、AIブロガー)を調べるresearch-agentが3つ、弱い結論を除外するcritic-agentが1つ、最終文書をまとめるsummary-agentが1つです。

コンテキスト:Xについてのガイドを書いています。目標の長さは出典付きで2,000語です。
開始前に、各エージェントはCLAUDE.mdを読んでください。

するとClaudeは5つのエージェントに委任します。それぞれが独自のコンテキストで作業します。research-agentは各自の情報源を使い、criticは結果を選別し、summary-agentはまとめます。メインチャットに戻るのは最終要約だけです。

並列化が効果を発揮する場面

どのタスクでもよいわけではありません。並列実行が適切なのは、次の場合だけです。

  1. タスクが独立している。research-agent #2がresearch-agent #1の結果を待っているなら、並列化にはなりません。実質的には逐次作業になります。
  2. タスクに時間がかかる。「末尾の空白を削除する」を並列化しても意味がありません。サブエージェントの起動コストで得られる時間を使い切ってしまいます。
  3. 十分な上限がある。詳しくは下のセクションで説明します。サブエージェントを並列で動かすと、トークンをすぐに消費します。

Anthropicのマルチエージェントv2:次の段階

Anthropicは2026年5月、並列サブエージェントを起動する従来の方法とは3つの重要な違いがある、Multi-Agent Orchestration v2を発表しました。詳しくは次のセクションで説明します。

マルチエージェントv2の新機能:オーケストレーション、成果基準、Dreaming

重要なポイント

2026年5月6日、サンフランシスコで開催されたCode with Claudeカンファレンスで、AnthropicはManaged Agents v2の3つの機能を発表しました。すべてパブリックベータです。Multi-Agent Orchestrationでは、リードエージェントがタスクを分割し、共有ファイルシステムを使って専門家に並列で委任できます。Outcomesでは成功基準を記述でき、別の評価エージェントが結果を確認します。Dreamingはレム睡眠のような仕組みです。定期実行プロセスが過去のセッションを読み、パターンを見つけてエージェントの記憶を更新します。

Multi-Agent Orchestration:共有ファイルシステム + 作業途中の確認

Anthropicはこの機能を次のように説明しています。

1つのエージェントだけでは手に負えない作業を、マルチエージェントのオーケストレーションで分割できます。リードエージェントがタスクを分け、それぞれ独自のモデル、プロンプト、ツールを持つ専門家に委任します。専門家は共有ファイルシステム上で並列に作業し、その結果をリードエージェントの共有コンテキストに反映します。

— Anthropic - Claude Managed Agents の新機能、https://claude.com/blog/new-in-claude-managed-agents

従来のサブエージェントとの主な違いは、共有ファイルシステムです。以前は各サブエージェントが完全に隔離された状態で作業し、情報のやり取りは返される要約だけで行われていました。今では専門家が共有フォルダーに書き込み、リードエージェントは作業の最後だけではなく、進行中にも結果を読み取れます。これにより、「みんなが1日働いたのに、最後になって2人の方針が両立しないとわかった」という問題を解決します。

次に、作業途中の確認があります。リードエージェントは作業を一時停止し、専門家に「進捗はどうですか」と尋ねて、全体の計画を調整できます。実際のチームマネージャーの働き方に近いものです。

Outcomes:手順の代わりに評価基準を示す

Outcomesでは、成功基準を記述すると、エージェントが達成方法を見つけます。別の評価エージェントが独自のコンテキストで結果を確認するため、メインエージェントの推論に「汚染」されません。

標準的なプロンプトの反復と比べて、タスク解決の成功率が最大10ポイント向上しました。特に難易度の高いタスクで、最大の改善が見られました。

— Anthropic - Claude Managed Agents の新機能、https://claude.com/blog/new-in-claude-managed-agents

難易度の高いタスクで10%向上するのは大きな改善です。特に、「手順1~7に従う」ではなく、「次の品質基準を満たす長文記事を作成する」とタスクを設定する場合に効果があります。

Dreaming:エージェントがセッション間で経験を蓄積する

この機能は、概念的に最も新しいものです。エージェントが過去のセッションを調べ、成功と失敗のパターンを見つけて、記憶ストアを更新します。変更の適用前に手動で確認する設定も、エージェント自身に記憶を編集させる設定も可能です。

Anthropicによると、法律テック企業のHarveyはDreamingを導入した後、法務文書の作成タスクで成功率が約6倍になりました。これはデモだけでなく、すでに本番環境で稼働しています。

プログラミングをしない起業家にとっての意味

Multi-Agent Orchestrationは現在、Claude Code CLIから直接ではなく、Claude Agent SDKを通じて利用できます。ただし、方向性は明らかです。オーケストレーションは「自分でN個のサブエージェントを起動する」状態から、「タスクを説明すると、リードエージェントが誰にどのように委任するかを決める」状態へと進んでいます。サブエージェントを使い始めたばかりなら、今はv2を気にする必要はありません。まずは「メインチャット1つ + 異なる役割のサブエージェント3~5個」という従来のパターンを学び、3~6か月後に自然な形でManaged Agentsへ移行できます。

サブエージェントを使いものにならなくする7つの間違い

重要なポイント

サブエージェントでよくある問題は、Claudeのバグではなく、サブエージェント自体の設定ミスです。起動フレーズのない説明、Skill向きのタスクにサブエージェントを使うこと、「かっこいいから」という理由で60個を並列実行すること、すべてのエージェントに全ツールを渡すこと、明示的な出力形式を指定しないこと、曖昧な呼び出し、タスクではなく役割に基づく設計です。どれも起動か、サブエージェントの成果を損ないます。

間違い1. 「Xのヘルパー」という説明では起動されない

症状:サブエージェントを作成して構造を確認したところ、すべて有効なのに、Claudeがユーザーの依頼で呼び出さない。原因はほぼいつも同じで、説明文が「コードレビューのヘルパー」のように抽象的なのです。解決策:実際のユーザーの表現を3~5個、引用符で囲んで説明文に記載し、「use proactively」または「use immediately after」も加えます。

間違い2. Skillが必要な場面でサブエージェントを作る

サブエージェントはSkillよりコストがかかります。独自のコンテキストを作り、独自のシステムプロンプトを読み込み、より多くのトークンを使うからです。タスクが短く、メインのコンテキストを消費せず、1回で完了できるなら、サブエージェントではなくSkillを使うべきです。反例として、JSONスキーマを20個のルールに照らして検査するformat-validatorサブエージェントがあります。これはSkillにすべきです。モデルは1つでよく、隔離も、追加のコンテキストも必要ありません。

間違い3. 最初から「並列エージェントを60個」起動する

これは最もよくある思い違いです。「エージェントを1,500個稼働させている」という投稿を見て、「自分もそうすべきだ」と考えてしまいます。実際には、60個のエージェントを使えば、Proプランの上限を1時間で使い切り、互いに矛盾する結果が大量に出て、1日が終わっても何も完成しません。

Mediumの実践者は次のように述べています。

解決策:1つのタスクにサブエージェントを1つ使うところから始めます。使いこなせたら、異なる役割を持つ2つ目を加えます。2つのオーケストレーションを習得したら、3~5個のチームへ進みます。「昨日Claude Codeをインストールした」状態から、今日「並列で20個」に飛び移れば、コードが壊れ、上限を使い切るのは確実です。

間違い4. すべてのエージェントに全ツールを渡す

コードレビュアーにBash、Write、WebFetchを使わせるのは、セキュリティとコストの大きな穴になります。レビュアーにはファイルを書き込む権限も、ましてやインターネットへのアクセスも必要ありません。

解決策:toolsを厳密に制限します。コードレビュアーに与えるのはRead, Grep, Globだけです。セキュリティ監査も同じ読み取り・検索ツールとメインが渡す差分を使います。Bashの追加はシェル能力を与えるもので、git diffだけには自動制限されません。調査エージェントにはWebFetch, WebSearch, Read, Writeを与えます。特定のタスクに必要な範囲を超える権限をサブエージェントに与えないでください。

間違い5. サブエージェントが生の結果をメインのコンテキストに流し込む

調査エージェントが「見つけた30ページを全部置いておきます。あとは自分で考えてください」とメインチャットに返したら、サブエージェント最大の利点であるノイズの分離を失っています。解決策:サブエージェントのシステムプロンプトに出力形式を明示的に指定します。「返す内容は、3項目の箇条書きによるTL;DR + 5件の情報源一覧のみ。コードの貼り付けは禁止。生の検索結果は禁止。」形式は厳格にします。「エッセイに仕立てる」自由をサブエージェントに与えてはいけません。

間違い6. 曖昧な呼び出し:委任の依頼が不明確

サブエージェントは、メインの対話履歴を見ることができません。クリーンなコンテキストにCLAUDE.mdと、あなたが明示的に書いた内容だけを加えて開始します。「認証を直して」と書けば、サブエージェントは内容を作り上げます。代わりに、「OAuthのリダイレクトループを修正してください。ログインに成功した後、ユーザーが/dashboardではなく/loginにリダイレクトされます。ファイル:src/lib/auth.ts」のように指示します。

明確な原則があります。委任するときは、新しくプロジェクトに加わった請負業者に渡すのと同じくらいのコンテキストを、サブエージェントに与えてください。

間違い7. タスクベースではなく、役割ベースのエージェントを作る

「frontend-developer、backend-developer、qa-engineerを作って、チームとして働かせよう」というパターンは魅力的ですが、うまくいきません。各「役割」はプロジェクト全体のコンテキストを失い、互いの作業を見られないため、詳細について合意できません。

解決策:サブエージェントは、明確な出力を持つ、繰り返し発生するタスクを担当すべきです。役割ではありません。「frontend-developer」ではなく、「explore-ui-tree」「refactor-component」「audit-accessibility」とします。タスクベースのサブエージェントは、それぞれ1つの具体的な作業を行い、1つの具体的な結果を返します。

並列サブエージェントにはどれくらい費用がかかり、どんなときに効果があるのか

重要なポイント

並列サブエージェントは、逐次作業より3~5倍速くトークンを消費します。月額$20のProプランで5つを並列起動すると、1時間で利用枠を使い切ることになります。Max 5x($100)は、日常的に並列作業を行う場合の現実的な最低プランです。サブエージェントの利用が効果的なのは、集中して少なくとも10分かかるタスクです。READMEの誤字を直すために起動すると、節約できる時間よりも多くのトークンを消費します。

構成活発に作業した場合の1日あたりの使用額
Claude Codeセッション1つ約$13
並列サブエージェント3つ約$30-40
並列で5~10個$50-130
エージェント30個(開発者10人 × サブエージェント3個)$300-400

複雑なタスクで並列サブエージェントを5つ起動すると、Proプランは1時間以内に使い切ります。Max 5x($100)は、日常的に並列作業を行う場合の現実的な最低プランです。チームやEnterpriseでは、費用はツール予算の段階で処理されます。

Claude Codeでトークンを節約する方法は、上限についてのガイドをご覧ください。サブエージェントの利用が効果的なのは、集中して少なくとも10分かかるタスクです。それより短いタスクにはサブエージェントを作らず、メインチャットかSkillで作業してください。

サブエージェントをAIクローンとSecond Brainに組み込むには

重要なポイント

サブエージェントはClaude Codeの方法論における4番目の段階です。論理的な順序は、最初にCLAUDE.md(永続的なコンテキスト)、次にSkills(既製の方法論)、続いてSecond Brain(プロジェクトの知識構造)、最後にサブエージェント(専門の作業担当者)です。この順序を逆にすると、成果のない流行だけが残ります。CLAUDE.mdがなければサブエージェントは内容を作り上げ、Skillsがなければ毎回同じ作業を最初から繰り返し、知識構造がなければ平均的な回答しか返せません。

最初の専門家を作る前に、プロジェクトに次の3つを用意しておきましょう。

  1. 適切なCLAUDE.md。 サブエージェントは作業を始める前にCLAUDE.mdを読みます。これは「雇用契約」のようなものです。これがなければ、プロジェクトのコンテキスト、制限、語調がわからず、内容を作り上げます。

  2. 基本的なSkills。 Skillは、パッケージ化された方法論です。サブエージェントは必要なSkillだけを読み込み、最初からすべてを読み込むわけではありません。Skillsがなければ、サブエージェントは毎回同じ作業を最初から繰り返します。

  3. Second Brain:知識構造。 business/フォルダー(または自分の分野における同等のもの)は、すべてのサブエージェントが参照するライブラリです。これがなければ、他の誰が聞いても同じような、平均的なChatGPTの回答しか返せません。

この順序を逆にすると、成果のない流行だけが残ります。空のbusiness/フォルダーのまま「並列サブエージェントを60個使っている」と言っても、同じやり方で平均的なChatGPTセッションを60回行うだけです。

AIクローン + Second Brain + Context Engineeringの完全な組み合わせが、Claudeに一貫性をもたらす3本柱です。サブエージェントはAIクローンの一部であり、Claudeに、あなたの考え方に沿って動く専門チームを与える方法です。

最も手早く始めるには、上の最初の例からcode-reviewerをコピーして.claude/agents/code-reviewer.mdに保存し、Claude Codeを再起動して、次のコミットで@agent-code-reviewerを呼び出します。5分もあれば、サブエージェントが必要か、それともメインチャットだけで十分かがわかります。

Ailootを引き続きご覧ください。

詳細を見る

Claude Codeのサブエージェントとは?作り方と5つの実用例:よくある質問

プロンプトでgit diffだけと書けば、Bashは読み取り専用になりますか?

いいえ。Bashを与えるとシェル能力を与えます。文章はコマンド許可リストではありません。この読み取り専用例はBash、Write、Editを外し、メインから差分を渡します。

Bashなしで最近の変更をどうレビューしますか?

メインが委任時に差分と変更ファイル一覧を渡します。レビュー役はRead、Grep、Globで対象を読み、編集せず指摘を返します。

すべての記事