機能

Subagents

Bobがどのようにsubagentsを使って、メインの会話を汚染することなく、独立したコンテキストで焦点を絞った自己完結型のタスクを処理するかを学びます。

subagentsとは?

subagentはBobがspawnできる独立したエージェントで、焦点を絞った自己完結型のタスクを処理します。独自の隔離されたcontext windowで実行され、割り当てられた作業を実行し、結果の要約をメインの会話に返します。

subagentsは、進行中の会話に大量の無関係なコンテンツを追加してしまうような作業に役立ちます。たとえば、Bobがメインタスクを継続する前に、コードベースの特定のセクションを深く調査して特定の情報を収集する場合などです。

subagentsの仕組み

BobがsubagentをspawnするとBobは次のことを行います:

  1. 独自のcontext windowを持つ新しい独立したエージェントが作成されます。
  2. Bobが実行すべき焦点を絞ったタスクの説明を渡します。
  3. 開始前にspawnを承認するよう求められます。Bobは確認するまで待ちます。
  4. subagentは利用可能なtoolsを使ってタスクを実行します。
  5. subagentが発見した内容の要約をBobに返します。
  6. Bobはその要約を使ってメインの会話を継続します。

subagentはメインの会話とは別に実行されます。Bobが説明の中で明示的に渡さない限り、状態、ファイル、またはtoolの結果をBobと共有しません。

subagentの種類

用途の異なる2種類のsubagentがあります:

種類説明最適な用途
explore読み取り専用のコードベース探索、軽量モデルで実行コードの検索と要約、関連ファイルの検索、構造の理解
generalフルtoolアクセス、デフォルトモデルで実行読み取り、書き込み、またはコマンドを必要とする自己完結型タスク

コンテキストと会話履歴

デフォルトでは、subagentは親の会話履歴を参照しません。これにより、コンテキストを軽量に保ち、手元のタスクに集中できます。

subagentが会話で以前に示された決定、制約、または好みを理解する必要がある場合、Bobはfork_context: trueを設定して会話履歴をsubagentに渡すことができます。

モードの制限

作業中のモードによって、Bobがspawnできるsubagentの種類が制御されます。すべてのsubagentの種類を許可するモードもあれば、特定の種類に制限するか完全に禁止するモードもあります。アクティブなモードでsubagentのspawnが許可されていない場合、Bobはspawnせずに直接作業を完了します。

BobがsubagentsをいつどのようにBobが使うか

Bobはsubagentsを控えめに使用します。デフォルトは常にsubagentをspawnせずに直接作業を行うことです。subagentが検討されるのは、以下のすべてに当てはまる場合のみです:

  • タスクが明確に自己完結型であり、返送が必要なのは要約のみである。
  • メインのコンテキストに大量の無関係なコンテンツを追加することになる。
  • 1〜2回の直接的なtool呼び出しでは達成できない。

Bobはsubagentsを使いません:

  • 単純なファイル読み取りや簡単な検索。
  • 単一toolの操作。
  • 関連するコンテキストがすでに利用可能なタスク。

Subagentsとsubtasksの比較

Subagentsとsubtasksは関連しているが異なる概念です:

SubagentSubtask
可視性バックグラウンドで静かに実行されるUIに独自のパンくずリストと会話とともに表示される
インタラクション非対話型 — 要約のみを返す完全に対話型 — 進行状況をフォローし会話を継続できる
目的メインのコンテキストを汚染せずに情報収集や孤立した作業を完了する専用のトラッキングと個別スレッドから恩恵を受けるほど複雑な作業を処理する
出力Bobに返される要約独立した会話スレッド

バックグラウンドでの情報収集にはsubagentsを使用してください。可視性と専用の会話から恩恵を受ける複雑な作業にはsubtasksを使用してください。

subagentの動作を設定する

.bob/agents/にagent personaファイルを作成することで、subagentが何に集中するか、出力のフォーマット方法、使用できるtoolを制御できます。personaファイルはsubagentに定義されたロールと制約を与えます。たとえば、重大度順の検出テーブルを作成し、修正を提案しないよう明示的に指示されたコードレビュアーなどです。

設定手順と例については、agentペルソナを参照してください。

このトピックはいかがですか?