サブエージェントとは
この記事の結論
- サブエージェントとは、親のAIエージェントから作業を任され、自分専用のコンテキストで処理して結果だけを返す補助役のAIエージェントです。
- 調べ物・ログの確認・テストの実行など、途中経過が長くなる作業を任せると、親の会話のコンテキストウィンドウを消費しにくくなります。
- 作り方の例として、名前と説明を書いたMarkdownの設定ファイルを置く方式が公式ドキュメントで説明されています(2026-10-23 時点)。
さぶえーじぇんと/Subagent
親のAIエージェントから作業を任され、自分専用のコンテキストで処理して結果だけを返す、補助役のAIエージェントのことです。
最終更新: 2026-10-23
サブエージェントとは(意味と読み方)
サブエージェントとは、メインで動いているAIエージェント(親)が、作業の一部を任せるために呼び出す別のエージェント(子)のことです。読みは「サブエージェント」、英語では subagent または sub-agent と書きます。
子のエージェントは、親とは別のコンテキストで動きます。親から受け取った指示をもとに、ファイルを読んだりコマンドを実行したりして、終わったら要約や結論だけを親に返します。途中で読んだ大量の資料は親の会話に入りません。
AIコーディングエージェントのひとつである Claude Code の公式ドキュメントでは、サブエージェントを「特定の種類の作業を受け持つ専門のAIアシスタント」と説明し、それぞれが独自のコンテキストウィンドウ、システムプロンプト、使えるツール、権限を持つとしています(公式ドキュメント「Create custom subagents」)。
サブエージェントに任せる利点
公式ドキュメントが挙げている利点を、意味がわかるように言い直すと次のとおりです。
| 利点 | どういうことか |
|---|---|
| 親のコンテキストを守れる | 検索結果やログを子が読み、親には要約だけが戻る |
| 使えるツールを絞れる | レビュー役には読み取りだけを許すなど、子ごとに権限を変えられる |
| 設定を使い回せる | ユーザー単位で置いた子は、どのプロジェクトからも呼べる |
| 役割に合わせて指示を書ける | 子ごとに専用のシステムプロンプトを持たせられる |
| 費用を調整できる | 軽い作業は速くて安いモデルの子に回せる |
複数のエージェントで役割を分ける構成全体はマルチエージェント、どれをどの順に動かすかはオーケストレーションの項目で説明しています。
設定ファイルの例
公式ドキュメントで説明されている作り方では、サブエージェントはYAMLの見出し部分(フロントマター)付きのMarkdownファイルです。見出し部分に設定を書き、本文がそのままサブエージェントへの指示(システムプロンプト)になります。必須の項目は name(名前)と description(説明)の2つです。
---
name: code-reviewer
description: 変更されたコードを読み、品質と安全性の問題を指摘する
tools: Read, Glob, Grep
---
あなたはコードレビュー担当です。呼ばれたら差分を読み、
具体的に直せる指摘だけを返してください。
置き場所は、そのプロジェクトだけで使うなら .claude/agents/、すべてのプロジェクトで使うならホームディレクトリの ~/.claude/agents/ です。同じ名前が両方にあるときはプロジェクト側が優先されます。tools を書くと、その子が使えるツールを限定できます。
どうやって呼び出されるか
呼び出し方は大きく2つあります。
- 自動で任せる:親のエージェントが、依頼の内容と各サブエージェントの
descriptionを見比べて、合うものに作業を渡します。説明文を「いつ使うか」がわかるように書くと、意図した場面で呼ばれやすくなります。 - 名前を指定して頼む:「code-reviewer に今の変更を見てもらって」のように、使ってほしいサブエージェントを名前で指定します。
公式ドキュメントによると、サブエージェントがさらに自分のサブエージェントを呼ぶこともでき、既定ではメインの会話から3階層下までに制限されています。
使うときの注意点
- 短い作業は任せない:子は自分のコンテキストで資料を読み直すので、数行で終わる作業を任せると、かえって時間とトークンを使います。
- 返してほしい形を決める:「変更が必要なファイルの一覧を箇条書きで」のように戻り値の形を指示すると、親が結果を使いやすくなります。
- 結果をうのみにしない:子の要約には読み落としが入ることがあります。重要な判断の前には、元のファイルや差分を人が確認します。
- 権限は必要な分だけ:調べるだけの子に書き込みやコマンド実行を許すと、意図しない変更の入口になります。
関連記事
出典・参考資料
よくある質問
Q1. サブエージェントとは何ですか?
親のAIエージェントから作業を任され、自分専用のコンテキストで処理して結果だけを返す補助役のAIエージェントです。調べ物やテストの実行など、途中経過が長くなる作業を任せると、親の会話が散らかりません。
Q2. サブエージェントとマルチエージェントは何が違いますか?
マルチエージェントは複数のエージェントで役割を分ける構成全体を指す言葉です。サブエージェントは、その中で親から作業を受け取って結果を返す側のエージェントを指します。親と子の関係がある、というのがサブエージェントの特徴です。
Q3. サブエージェントはどうやって作りますか?
AIコーディングエージェントの多くは、名前・説明・使えるツールを書いた設定ファイルで作ります。たとえば公式ドキュメントでは、YAMLの見出し部分に名前と説明を書いたMarkdownファイルをプロジェクトの .claude/agents/ に置く形が説明されています。必須は名前と説明の2つです。
Q4. サブエージェントを使うと料金は増えますか?
増えることがあります。サブエージェントは自分のコンテキストで資料を読み直すため、同じ内容を親と子で二重に読むと、その分のトークンを使います。短い作業は親に任せ、途中経過が長くなる作業だけを任せるのが無駄の少ない使い方です。