Claude Codeのサブエージェント使い方|役割分担でミスを減らす設計法

「Claude Codeにいろいろな作業を頼んでいたら、途中から返事の精度が落ちてきた」——そう感じたことはありませんか。原因の多くは、1つの会話にリサーチもレビューも経理チェックも詰め込んでいることにあります。Claude Codeには「サブエージェント」という、役割ごとに専用のAIを立てる公式機能があります。本記事では公式ドキュメントに基づく仕組みと、一人社長が実践している役割分担の型を解説します。
要点
- サブエージェントは独自のコンテキストウィンドウ・システムプロンプト・ツール権限を持つ専門AI
- Claude Codeは依頼内容とサブエージェントの
descriptionを照らして自動で委任先を決める - 設定はYAMLフロントマター付きのMarkdownファイルで、
.claude/agents/または~/.claude/agents/に置く - 独立した調査であれば複数のサブエージェントを同時に走らせられる
- 設計の軸は「1役割1エージェント」「独立した文脈前提」「呼び出し条件の明確化」の3つ
Claude Codeのサブエージェントとは何ですか?
サブエージェントとは、専用のシステムプロンプトとツール権限を持ち、独立したコンテキストで動く専門AIです。
Claude Code公式ドキュメント「Create custom subagents」は、サブエージェントを「特定の種類のタスクを扱う専門的なAIアシスタント」と定義しています。それぞれが独自のコンテキストウィンドウ・カスタムのシステムプロンプト・固有のツールアクセス・独立した権限を持って動作します。
Claude Codeは、依頼内容の傾向とサブエージェントのdescription(説明文)、現在の文脈を照らし合わせて、適したサブエージェントに仕事を自動で振り分けます。公式ドキュメントはこれを「自動委任」と呼んでいます。
サブエージェントの実体は、YAMLフロントマター付きのMarkdownファイルです。プロジェクト全体で共有したい場合は.claude/agents/に、自分のPC上のすべてのプロジェクトで使いたい場合は~/.claude/agents/に置きます。必須項目はname(識別名)とdescription(呼び出し条件)の2つだけで、tools(使えるツール)やmodel(使用モデル)などは任意項目です。
なぜ役割を分けるとタスクの精度が安定するのですか?
公式ドキュメントは役割分担のメリットとして、文脈の保存・ツール制限による制約の強制・専門特化したふるまいの3点を挙げています。
1つの会話ですべてをこなすと、検索結果やログ、ファイルの中身といった「あとで参照しない情報」が延々と積み重なります。公式ドキュメントは、こうした状態を避けるためにサブエージェントで作業を切り出し、要約だけをメインの会話に戻す使い方を勧めています。
サブエージェントは新しく独立したコンテキストウィンドウで起動し、メインの会話履歴を見ません。だからこそ、経理チェックのAIが広告コピーの話に引きずられる、といった混線が起きにくくなります。
さらにtoolsフィールドで使えるツールを絞り込めるため、「レビュー役には読み取り専用のツールしか与えない」といった制約も設計できます。公式ドキュメントのベストプラクティスにも、「使うツールは必要最小限に絞る」「1つのサブエージェントは1つのタスクに特化させる」と明記されています。
一人社長はサブエージェントをどう役割分担しているのか?
経理チェック役・SEOレビュー役・リサーチ役のように、業務ごとに専用のサブエージェントを立てて運用しています。
以前の記事一人社長のClaude Code活用術でも触れましたが、私は一人社長として複数の業務をひとりでさばく必要があります。そこで実務では、次のように役割ごとにサブエージェントを分けています。
- 経理チェック役:未処理の明細を仕訳ルールと照合し、分類だけを行う
- SEOレビュー役:公開前の記事タイトル・見出し・内部リンクをチェックリストで点検する
- リサーチ役:競合サイトや外部資料を読み込み、要点だけをまとめて返す
正直なところ、最初は1つの会話に全部の指示を詰め込んでいました。ただそれだと、リサーチの大量の検索結果がそのまま会話に残り続け、後の判断の邪魔になっていました。役割ごとに分けて、必要な要約だけを受け取る形に変えてから、この混線が減ったと感じています。
独立した調査であれば、複数のサブエージェントを同時に走らせられるのも公式機能です。公式ドキュメントは「認証・データベース・APIモジュールをそれぞれ別のサブエージェントで並行調査する」という例を挙げています。私も、複数の業務が重なる日は、経理チェックとSEOレビューを並行で走らせることがあります。
サブエージェント設計の3原則とは?
1役割1エージェント・独立した文脈を前提にした指示・具体的な呼び出し条件の3つが、公式ドキュメントが示す設計の軸です。
原則1: 1役割1エージェント
公式のベストプラクティスは「それぞれのサブエージェントは1つの特定タスクに秀でるよう設計する」ことを勧めています。経理チェックとSEOレビューを1つのサブエージェントに詰め込むと、descriptionがあいまいになり、自動委任の精度も落ちます。
原則2: 独立した文脈を前提に指示を書く
サブエージェントはメインの会話履歴を見ません。「さっきの話の続きで」と省略せず、必要な情報をタスク文に書き切る必要があります。CLAUDE.mdの内容は自動的に読み込まれますが、会話の流れは引き継がれません。
原則3: 呼び出し条件(description)を具体的に決める
Claude Codeはdescriptionフィールドを読んで委任先を判断します。「レビューする」ではなく「コードの変更後に、品質・セキュリティ・保守性の観点でレビューする」のように、いつ使うかを書き切ることが公式にも推奨されています。
導入でよくある失敗パターンは?
descriptionがあいまい・ツール権限を絞らない・前の会話の文脈を前提にする、の3つが典型的な失敗です。
- descriptionが抽象的すぎる:「便利なAI」のような説明では自動委任が発動しにくく、狙った場面で呼ばれません。公式ドキュメントも「Claudeはdescriptionを見て委任するかどうかを判断する」と明記しています。
- ツールを絞らずに継承させる:
toolsを省略すると、サブエージェントは親の会話で使える全ツールを継承します。レビュー専用のつもりが編集権限まで持ってしまう、という失敗はここから起きます。 - 前の会話の文脈が伝わっていると誤解する:サブエージェントは新規のコンテキストで始まるため、メインの会話ですでに話した内容は見えていません。引き継ぎたい情報は依頼文に書く必要があります。
- 並列で呼びすぎて逆に重くなる:公式ドキュメントも「詳細な結果を返すサブエージェントを多数走らせると、コンテキストを大きく消費する」と注意しています。並列にするのは独立した調査に絞るのが無難です。
サブエージェント活用が向く人・向かない人
向く人と向かない人を整理すると、次のようになります。
| 向く人 | 向かない人 |
|---|---|
| 経理・SEO・リサーチなど、繰り返す業務が複数ある人 | 単発の作業しかClaude Codeに頼まない人 |
| ツール権限を業務ごとに制限したい人 | 会話の流れをそのまま次の作業に引き継ぎたい人 |
| ログや検索結果を本筋の会話から切り離したい人 | 一度きりの軽い修正で完結する作業しかない人 |
複数の業務を一人でさばく、私のような一人社長には特に向いている機能だと感じています。逆に、1つのタスクを最初から最後まで対話しながら詰めていきたい場合は、サブエージェントを挟まずメインの会話で完結させたほうが早いこともあります。公式ドキュメントも、頻繁なやり取りが必要な作業やレイテンシが気になる場面はメインの会話で行うよう勧めています。
よくある質問
Q. サブエージェントとスキルは何が違いますか? サブエージェントは独立したコンテキストウィンドウで動く専門AIで、公式ドキュメントは「大量の出力が出る作業を隔離したいときや、ツール制限を課したいとき」に向くとしています。一方でスキルは、メインの会話の中でそのまま使う再利用可能な手順です。公式ドキュメントも「再利用したい手順やワークフローで、隔離されたサブエージェントの文脈ではなくメインの会話で動かしたい場合はスキルを検討する」と案内しています。使い分けの詳細はClaude Codeのスキル化入門でも解説しています。
Q. サブエージェントは同時に何個まで動かせますか? 既定では、1つのセッションで20個のサブエージェントが同時に動いている状態で、さらに新しく起動しようとするとエラーになります。上限は環境変数で変更できると公式ドキュメントに記載されています。通常の業務であれば、この上限に達することはほとんどありません。
Q. サブエージェントの設定ファイルはどこに置けばいいですか?
プロジェクト単位で使うなら.claude/agents/に、自分のPC上のすべてのプロジェクトで使いたいなら~/.claude/agents/に置きます。ファイルはYAMLフロントマター付きのMarkdownで、必須項目はnameとdescriptionだけです。
Q. サブエージェントが使えるツールは制限できますか?
できます。toolsフィールドに使ってよいツールを列挙すれば許可リストになり、disallowedToolsに列挙すれば除外リストになります。何も指定しない場合は、メインの会話で使える全ツールをそのまま引き継ぎます。経理チェック役には読み取り専用のツールだけを与える、といった設計が可能です。
Q. 狙ったサブエージェントを確実に呼び出すにはどうすればいいですか?
自然言語で名前を伝えれば多くの場合そのまま委任されますが、確実に指定したい場合は@でサブエージェントをメンションします。セッション全体を特定のサブエージェントとして動かしたい場合は、--agentフラグを使う方法も公式に用意されています。
自社では何から始めるか、30分で整理します
Webloomは、AIを使った業務の仕組みづくりと、定額150万円(税別)・約1ヶ月の業務システム開発を行っています。いまの業務をうかがい、最初の一歩を一緒に決めます。売り込みはしません。
文: 株式会社Webloom(Web制作・システム開発・物販事業を、Claude Codeを使ったAI社員体制で運用しています) 公開日: 2026-08-08
あわせて読みたい
出典
- Anthropic公式ドキュメント「Create custom subagents」(参照日: 2026-08-08)
