子代理
這是什麼
由主工作階段協調、負責有限範圍研究、程式開發、寫作或驗證工作的專門代理。
白話解釋
想像把三卷底片放在同一個信封交給照相館:底片可以同時沖洗,但照相館會等三卷都完成後才把整個信封交回。Hermes 的批次子代理也是如此;若分成三個信封,也就是三個彼此分開的頂層呼叫,才會分別完成、分別回報。子代理不共用對話,但仍可能存取同一批專案檔案,因此每項任務都要指定不同的輸出路徑。
為什麼重要
子代理用來把有限範圍的研究、程式開發、寫作或驗證工作交給專門代理實例,而不是把所有事情塞進同一段持續增長的上下文。代理團隊委派正是建立在這項機制上:協調者拆解任務、分派子代理,再整合各自回傳的結果。每個子代理通常使用自己的工作階段,因此工作階段隔離能防止探索過程污染協調者本身的上下文。
運作方式
呼叫 delegate_task 會建立一個擁有全新對話、獨立 task_id 終端工作階段與受限工具集的子代理。葉節點會從繼承的父工具集中固定移除 delegate_task、clarify、memory、send_message、execute_code 與 cronjob;模型可見的呼叫結構不能逐一指定子代理工具集或 max_iterations,實作位於 tools/delegate_tool.py。子代理預設角色為 leaf;只有明確設定 role='orchestrator' 才可繼續委派。delegation.max_concurrent_children 控制同時執行上限。頂層單一任務會在背景執行,完成後回傳一則最終訊息;頂層批次則共用一個背景工作識別,所有任務完成後才回傳一則整合訊息。協調型子代理與無法投遞背景結果的端點會改為同步執行。這些隔離只涵蓋對話與終端機工作階段,不代表子代理擁有彼此隔離的檔案系統。
具體範例
使用者要求 Hermes 研究三家競爭者的定價頁面並各自摘要。Hermes 以一次 delegate_task 呼叫提交三個 task,每個都有自己的 goal 與背景 context,而不是依序研究。三個子代理會在設定上限內並行執行,主對話在它們工作期間仍可處理其他問題。三項工作全部完成後,Hermes 才用一則整合訊息送回三份最終摘要;若希望哪一份先完成就先回傳,應改用三個彼此分開的頂層呼叫。因為檔案系統不是沙箱,三項任務也不可寫入同一個輸出檔案。
如何連結
「子代理」屬於「介面」系列。最直接相關的概念包括:「即時預覽」、「Hermes 桌面版」、「代理執行環境」、「個人作業系統」。這些連結描述教學關係,不取代來源證據。
來源證據
tools/delegate_tool.py#<file>— 結構性檔案來源;用來確認委派實作的來源檔關聯。
