Subagents
概要
サブエージェントとは、メインのエージェントが焦点を絞った作業を処理するために生成できる別個の AI エージェントです。独自のコンテキストと独自の指示の中で動作し、仕事をこなして結果を報告します。各サブエージェントは新たに開始されるため、メインの会話はきれいに保たれます。脇道のタスクの詳細が、あなたが本当に気にかけている作業を押しのけることがありません。
強み
- 詳細の多い脇道のタスクを切り出すことで、メインのコンテキストを散らからせない。
- 独立した作業を並列で実行でき、はるかに高速になりうる。
- 各サブエージェントは専門化できる — レビュアー、検索担当、テスターなど、それぞれに焦点を絞ったプロンプトを持てる。
- 失敗が封じ込められる。あるサブエージェントが失敗してもセッション全体が脱線しない。
トレードオフ
- サブエージェントは渡されたことしか知らないため、コンテキストが不足すると的外れな結果になる。
- 多数のエージェントを生成するとトークンを多く消費し、高くつくことがある。
- 戻ってくるのは要約だけなので、脇道のタスクのニュアンスが失われることがある。
- 複数を同時に調整すること自体が複雑さを生む。
使いどころ
タスクが自己完結していて、そうしなければメインスレッドを肥大化させてしまう場合にサブエージェントを使いましょう。大きなコードベースの検索、diff のレビュー、複数の独立した調査を同時に実行する場合などです。
バイブコーディングとの相性
サブエージェントは、エージェントの注意力をスケールさせる手段です。ノイズの多い探索的な作業——「これが使われている箇所をすべて探して」「これにバグがないかレビューして」——をサブエージェントに渡し、メインのエージェントは計画に集中させましょう。戻ってくるのは結論であって全文の記録ではないため、各サブエージェントが何を返すべきかは明示してください。
Spawn a review subagent:
task: "Review the diff in src/auth for security issues."
return: "A short list of concrete problems, or 'no issues found'."