Skip to main content
subagent は、リード Agent が対話の途中で一時的な実行ユニットを作成し、独立したタスクを渡して、自分のコンテキストで完了させたうえで結果を返す機能です。機能の効果や利用場面はサブ Agentを参照してください。本ページではツールの種類・設定・実装の詳細を説明します。

組み込みの種類

作成時に種類を選び、その種類がシステムプロンプトと利用できるツールの範囲を決めます:

カスタムの種類

ワークスペースの subagents/ ディレクトリに .md ファイルを置くと、新しい種類を追加できます。形式は Skill と同じです:
フィールドの説明: tools を限定するのが最も確実な制約です。read, ls, search_files だけの種類はどのファイルも変更できません。tools を書いた種類は Skill を継承しないため、Skill が必要な場合はこのフィールドを省略し、本文で作業範囲を限定します。 ワークスペースの初回起動時に、subagents/ の下に README.mdexample.md.template が生成されます。後者を .md ファイルにコピーすれば有効になります。テンプレートは毎ターン読み直されるため、新しいファイルは次のメッセージで反映され、再起動は不要です。
ツール名は完全一致で照合され、tools の許可リストに MCP ツールは含まれません。MCP ツールを使う場合はこのフィールドを省略してください。

無効化されるツール

以下のツールはすべてのサブ Agent で利用できません:

関連する設定

サブ Agent はデフォルトで有効です。Web コンソールとデスクトップクライアントの「設定 → Agent 設定」でオン・オフでき、変更は次のターンで反映され、再起動は不要です。より細かい制限は config.json で調整します:

実装設計

  • コンテキストの分離:サブ Agent は空のメッセージ履歴で起動し、ペルソナファイルを読み込まず、メモリマネージャーにも接続しません。メイン対話には呼び出しの記録と最終的な結論のみが残ります。
  • 並行実行:1 回の呼び出し内の複数タスクはそれぞれのスレッドで実行され、同一の時間予算を共有します。同じターンで発行された複数の呼び出しも同時に開始します。
  • ステップ数は半分:サブ Agent の最大ステップ数はリード Agent の半分です。タスクの範囲はすでに明確で、対話全体と同じ予算は不要です。使い切ると、完了した部分を要約するよう求められます。
  • タイムアウトの追跡:タイムアウトしたタスクはキャンセルされてタイムアウトとして記録され、結果の数は常にタスクの数と一致します。これによりリード Agent は「見つからなかった」と「完了しなかった」を区別できます。
  • 表示とコンテキストの分離:モデルに返るのは構造化データ、ユーザーに表示されるのは整形されたレポートで、どちらも同じ結果から生成され、表示内容はモデルのコンテキストには入りません。