サブエージェントに調査を任せる手順
結論
調べ物を本人にやらせると、会話が調査結果で埋まります。読んだファイルの中身、検索の空振り、関係のなかった候補。本題に戻る頃には、最初の相談が押し流されています。サブエージェントは、その調べ物を別の作業役に任せる仕組みです。それぞれが自分専用の作業領域を持つため、こちらの会話には結論だけが返ります。
最初から入っている作業役
自分で作らなくても、Claude Codeには組み込みのサブエージェントが入っています。必要な場面でClaudeが自分から使い分けます。いずれも親の会話の権限を引き継ぎますが、多くは使える道具が絞られた状態で動きます。
調査で中心になるのがExploreです。
- 読み取り専用 …
WriteとEditは禁止されています。調べるだけで、書き換えません - 用途 … ファイルの発見、コードの検索、全体の把握
- 呼ばれ方 … 変更を加えずにコードベースを調べたいとき、Claudeが自分から任せます
Exploreに任せると、調査の結果が主たる会話の文脈に流れ込みません。ここが「自分でやらせない」いちばんの利点です。呼び出すときには、どこまで丁寧に調べるかの水準(手早く/ふつう/徹底的に)も指定されます。
なおExploreとPlanは、CLAUDE.mdと親セッションのGitの状態を読み込みません。調査を速く安く済ませるための割り切りです。
自分用の作業役を作る
サブエージェントの正体は、YAMLのフロントマターが付いたMarkdownのファイルです。自分で書いてもよく、Claudeに書かせても構いません。
置き場所で使える範囲が決まります。~/.claude/agents/に置けば、この機械のどのプロジェクトでも使えます。1つのプロジェクトだけで使いたいなら、そのプロジェクトの.claude/agents/へ移します。
なお/agentsのコマンドは、作成の対話画面を開く役目をやめています。実行すると、Claudeに頼むか.claude/agents/を直接編集するよう案内が出るだけです。ファイルの置き場所と書き方自体は変わっていません。
前提条件
- Claude Codeが動く状態であること
- 任せたい調べ物が、こちらの会話の文脈なしでも伝わる形で書けること
- 自分用の作業役を作る場合は、
~/.claude/agents/または.claude/agents/にファイルを置けること
手順
- 調べたいことを、1つの依頼として言葉にします
- まずはそのまま頼みます。調査が必要だとClaudeが判断すれば、
Exploreに任せます - 特定の作業役に確実に任せたいときは、
@を入力して一覧から選びます - 自分用の作業役がほしい場合は、どんな役割で、どこに保存し、どの道具を使わせたいかを添えてClaudeに作成を頼みます
- 出来上がったファイルを開き、
name・description・tools・modelが意図どおりかを確かめます
検証の考え方
任せられたかどうかは、返ってきた内容の形で分かります。調査の過程ではなく、結論と根拠のまとまりが返っていれば、別の作業役が動いています。
意図した作業役が使われないときは、頼み方を見直してください。Claudeは、依頼の内容と各サブエージェントのdescription、そのときの文脈を見て割り振りを決めます。名前を出して「〜のサブエージェントで調べて」と頼む方法もあります。確実に指名したいときは@で選ぶのが早い方法です。
限界と注意
作業領域が分かれているということは、こちらの会話の細かい経緯が渡らないということでもあります。前のやり取りを前提にした曖昧な依頼は、そのままでは伝わりません。依頼は単体で意味が通る文にしてください。
また、自動で任される度合いはdescriptionの書き方に左右されます。積極的に使ってほしい作業役には、その旨を説明文に書いておくと呼ばれやすくなります。裏を返せば、説明が曖昧なままだと、作ったのに一度も使われないという結果になります。
学習上の注意
役割分担は、増やすほど良いというものではありません。作業役が増えると、どれが呼ばれたのかを追うのが難しくなります。まずは調べ物をExploreに任せるところから始め、繰り返し発生する固有の役目が見えてきた段階で自分用のものを作る。この順番なら、管理する対象が必要以上に増えません。
出典・参考
- C: 一次発表 Create custom subagents
Claude Code講座 STEP 8「自動化と外部連携に広げる」/ 全51本中 40本目
前の記事 サブエージェントとは何か:作業を分担させる考え方 次に読む スキルの自動起動と手動起動を切り替える手順