複数のエージェントに作業を委任すると、複雑なタスクをより迅速に進めることができます。 各エージェントは、作業の定義済みの部分に集中でき、あなたまたは別のエージェントが全体的な結果を調整します。
エージェントがどのように作業を調整するか
通常、マルチエージェントの作業には、全体的な目標を追跡するオーケストレーターがあります。 オーケストレーターは通常、サブエージェントに作業を委任するメイン エージェントです。
通常、連携されたワークフローには次の作業が含まれます。
- 目標を小さなタスクに分割する。
- タスク間の依存関係の識別。
- 必要なコンテキストとツールを使用してサブエージェントに各タスクを割り当てる。
- 独立したタスクを並列で実行する。
- 結果を確認して結合しています。
複数のエージェントを使用する場合
権限の委任は次の場合に最適です。
- 大規模または複雑なタスク: 要求に複数の独立した手順 (複数のファイルのリファクタリング、依存関係の更新、モジュール間でのテストの実行など) が含まれている場合。
- 並列化可能な作業: タスクを相互に依存しないサブタスクに分割できる場合。
- 自動化されたワークフロー: 大規模なタスクを可能な限り迅速に完了する必要がある場合 (たとえば、オートパイロット モードを使用して、 Copilot が自律的に動作できるようにする場合など)。
/fleet コマンドを使用した作業の委任と並列化
GitHub Copilot CLI または /fleet で GitHub Copilot app コマンドを使用すると、メイン Copilot エージェントはプロンプトを分析し、小さなサブタスクに分割できるかどうかを判断します。 サブタスクとその依存関係の性質に基づいて、サブエージェントで効率的に実行できるかどうかを評価します。
サブタスクの一部またはすべてをサブエージェントに割り当てる場合は、オーケストレーターとして機能し、サブタスク間のワークフローと依存関係を管理します。
可能であれば、オーケストレーター エージェントはサブエージェントを並列で実行し、タスク全体をより迅速に完了できるようにします。
各サブエージェントには独自のコンテキスト ウィンドウがあるため、メイン セッションのすべてのコンテキストを引き継ぐことなく、割り当てられたタスクに集中できます。
デリゲーション作業の計画
複雑なタスクの場合、委任前の計画で目標を明確にし、管理可能なサブタスクに分割し、それらの間の依存関係を明らかにすることができます。
GitHub Copilot appとCopilot CLIでは、/planスラッシュ コマンドを使用すると、その内訳を整理し、フリート モードで適切なサブタスクをエージェントに委任し、独立した作業を並列で実行できます。
/fleetスラッシュ・コマンドの使用を参照してください。
/fleet コマンドを使用する場合の考慮事項
複数のエージェントを使用すると、次の利点があります。
- より高速な完了: 独立したタスクを同時に進行させることができます。
- フォーカスされたコンテキスト: 各エージェントは、関連するコンテキストのみで、限定されたタスクに集中できます。
- 特殊化: 特定のタスクに適したカスタム エージェントまたはモデルに作業を割り当てることができます。
利点に加えて、考慮すべきいくつかの側面があります。
- 使用量の増加: 各エージェントは個別に AI モデルと対話するため、サブエージェントによって実行される作業を小さなタスクに分割すると、作業がメイン エージェントによって処理された場合よりも多くの LLM 相互作用が発生する可能性があります。 したがって、プロンプトで
/fleetを使用すると、より多くの GitHub AI Credits が消費される可能性があります。 - タスクの構成: 並列作業は、タスクが独立していて、境界が明確で、結果を調整するコストが節約できる時間よりも低い場合に、最も大きな価値をもたらします。 要求が本質的に順次である場合、
/fleetを使用してもメリットが得られない可能性があります。
次のステップ
/fleetの実行、タスクへの特殊なサブエージェントの割り当て、サブエージェント タスクの管理、コマンド ラインからの直接フリート モードの開始の詳細については、AUTOTITLE を参照してください。