Skip to content

子代理派生

源码版本v2026.7.20

職責

delegate_tool 讓主 agent 把一個子任務派生給隔離的子代理:子代理有自己的對話、自己的終端、自己的工具集,跑完只把最終結果交回父代理。這實作了「零上下文成本」的流水線——父代理上下文不被子任務的過程細節污染。子代理在 ThreadPoolExecutor worker 裡執行,危險命令預設 auto-deny(可設定 auto-approve)。

關鍵檔案

資料流

  1. 主迴圈 provider 回傳 tool_call: delegate
  2. delegate_task:2426 被呼叫,拿到子任務描述與可選 toolsets。
  3. DaemonThreadPoolExecutor:2651 裡起一個 worker:
  4. 子代理完成後只把最終文字交回,delegate_task 經 tool_result:798 封裝回填給父代理。
  5. 父代理上下文只增長一條 tool 結果,不被過程污染。

小結

子代理派生 = 上下文隔離 + 危險命令管控。父代理只看結果,不看過程,這讓長流水線不被過程雜訊撐爆。安全預設 auto-deny,批量/cron 場景可 opt-in auto-approve。終端執行落在沙箱後端

非官方社群學習站,內容以 MIT 授權的 NousResearch/hermes-agent 原始碼為依據。