たとえ話にします。 自分の机で作業している時に、「資料の下調べだけ、隣の席の担当者にお願いする」イメージです。担当者は自分の机で調べ、結果の要約だけ持ってきます。 サブエージェントは、独自の指示・使える道具・会話の場(コンテキスト)を持つ助っ人で、終わると要約だけをメインの会話へ返します。
| 何をするか | どこで動く | |
|---|---|---|
| スキル | 手順書を読んで、自分で実行 | メイン会話の中 |
| サブエージェント | 別の担当者に任せる | 別の会話 |
内容は大きく3つです。
いちばんの利点は、大量の検索結果やログがメインの会話を埋めないことです。メイン会話は長くなると重くなるので(No.09)、調べ物のような「過程が長い仕事」を別の頭に出すと、メイン会話をきれいに保てます。使える道具を絞れるのも利点です。
Markdownファイル(見出しなどを簡単な記号で書く、ふつうの文章ファイル)1つがサブエージェント1人です。先頭に名前(name)と、いつ任せるか(description)を書き、その下に指示を書きます。
.claude/agents/:その作業場だけ~/.claude/agents/:自分の全作業場同じ名前があれば、作業場の方が優先されます。道具(tools)やモデル(model)も書けます。
○ よくある勘違い:「サブエージェントは勝手に全部の仕事を引き受ける」→ ×。説明文に合う仕事だけが任されます(No.03のスキルと同じ考え方)
○ 関係する単元:No.03 スキル、No.09 長い会話とコンテキスト
作業場の .claude/agents/hands.md に「手」が定義されています。「仕様が決まった作業や修正を任せる」「初めて見る目で見直す」という説明文で、頭(メイン会話)が決めた範囲だけを実行します。まず中身を開いて、先頭の name と description を探してみてください。
サブエージェント=別の会話に仕事を任せ、要約だけ受け取る。メイン会話を汚さない。定義は .claude/agents/ のMarkdown。
問1 大量のファイルを調べる仕事をサブエージェントに任せる、いちばんの利点は?
問2 この作業場だけで使うサブエージェントの定義は、どこに置く?
出典:Claude Code 公式ドキュメント「Create custom subagents」(https://code.claude.com/docs/en/sub-agents )/手元の作業場 .claude/agents/hands.md