サブエージェント委任 — AIのクローン
サブエージェント委任 — AIのクローン — 公式ドキュメントに基づくわかりやすいガイド
想像してみてください。あなたはプロジェクトマネージャーで、3つの締め切りを同時に抱えているとします。全部自分でやりますか?いいえ、3人のアシスタントにそれぞれ指示を出し、作業を任せて、後から報告書を受け取るはずです。delegate_task は、まさにこれをあなたのAIに対して行います。
サブエージェント委任とは?
平たく言うと、メインのAIが複数の「ミニAI」(サブエージェント)を起動でき、それぞれが独立したサンドボックス環境で作業します。彼らは情報を共有せず、互いに干渉することもなく、完了時には単一のサマリーだけを返します。まるでAIに自己複製の力を与えるようなものです。
注意点:サブエージェントは記憶喪失
ここが最も重要なポイントです。サブエージェントは、あなたとの会話履歴を一切知りません。 彼らは入社初日の新入社員です。これまでに話した内容も、実行したコマンドも、すべて忘れています。彼らが持つ唯一の「初期情報」は、あなたが提供する次の2つのフィールドだけです。
goal: 達成してほしい目標context: 作業に必要な背景情報
つまり、必要な詳細をすべてその呼び出しに詰め込む必要があります。そうしないと、サブエージェントはまるで首のない鶏のように迷走してしまいます。
タスクが1つなら、アシスタントを1人送る
単一のジョブの場合、構文は簡単です。
delegate_task(
goal="Debug why tests fail",
context="Error: assertion in test_foo.py line 42"
)
ここでは、サブエージェントに「テスト失敗を調査して。エラーは42行目にある」と伝えています。
タスクが複数なら、チームを送る
複数のことを同時に処理したいですか? 並行して複数のサブエージェントを起動できます。デフォルトでは最大3つまで同時に動作します(調整可能で、ハードな上限はありません)。
delegate_task(tasks=[
{"goal": "Research topic A", "context": "Focus on recent primary sources"},
{"goal": "Research topic B", "context": "Compare the leading explanations"},
{"goal": "Fix the build", "context": "Project root: /home/user/project"}
])
各タスクは独立したサブエージェントになります。彼らは並行して動作し、互いに待つことはありません。
バックグラウンドモード:メインAIは忙しく動き続ける
ここがクールなトリックです。トップレベルの呼び出しは自動的にバックグラウンドで実行されます。メインAIは指示を送り出し、他の作業を続けます。サブエージェントが完了すると、その結果が新しいメッセージとして戻ってきます。メインAIが「コーディネーター」役を務める場合、すべてのサブエージェントの完了を待ってから、すべてを統合して最終レポートを1つ作成します。
まとめと実用的なアドバイス
delegate_task は、AIに複製マシンを与えるようなものです。複数の独立したタスクを同時に処理できるため、効率が劇的に向上します。
プロからのアドバイス: サブエージェントは記憶喪失であるため、context は、あなたのプロジェクトについて何も知らない新人社員にメールを書くように記述しましょう。背景情報、ファイルパス、エラーメッセージ、参考リンクなど、すべてを含めます。迷ったら、過剰に共有するくらいでちょうどいいです。それがこのツールを最大限に活用する秘訣です。
📖 公式ドキュメント
この記事は Hermes Agent の公式ドキュメントに基づいています:公式ドキュメント › getting-started/nix-setup