喚醒條件
這是什麼
排程工作在呼叫模型前執行的腳本判定機制,可依最後輸出或空白結果選擇喚醒代理或靜默略過。
白話解釋
郵件室職員會查看每封來信,但只把真正需要律師處理的內容送進法務部門;例行續約與垃圾郵件不會占用昂貴時間。喚醒條件在 Hermes 中扮演相同把關角色:小型腳本先檢查實際狀況,只有確認有值得處理的事情時,才會啟動完整代理並支付模型呼叫成本。
為什麼重要
Cron 工作的選用執行前 script 能以兩種方式讓模型保持休眠:cron/scheduler.py 的 _parse_wake_gate 若發現最後一行非空標準輸出是 {"wakeAgent": false} 之類 JSON,就會略過本次執行;成功但完全沒有輸出的腳本則讓 _build_job_prompt 回傳 None,並記錄「腳本沒有輸出,略過 AI 呼叫」。其他標準輸出都會喚醒代理,並作為收集到的上下文加入工作提示。Hermes 沒有內建數值門檻;何種情況值得喚醒由腳本作者決定,Hermes 只執行該判定。
運作方式
喚醒判定就是所有 cron 工作原本都可攜帶的同一個 script 欄位,cron/jobs.py 沒有另外定義喚醒條件資料結構。cron/scheduler.py 的 run_job 會在建立提示前執行一次腳本;若判定不喚醒,程式會立刻以靜默執行標記返回,完全略過提示建構與代理對話輪次,因此不會進入工具迴圈或模型呼叫。若判定喚醒,腳本輸出不會被丟棄,而是由 _build_job_prompt 放進提示的「腳本輸出」區段,讓代理直接使用剛檢查的資料。腳本若以錯誤結束,而不是給出喚醒判定,會被視為腳本失敗並明確回報,不會靜默吞掉。
具體範例
儲存庫監控工作每 15 分鐘先執行腳本,以 git fetch 比較目前與上次檢查的 commit 數量。沒有新 commit 時,腳本最後一行輸出 {"wakeAgent": false},本次排程週期記為靜默,完全不呼叫模型;有新 commit 時,腳本改為輸出簡短差異摘要,該文字會進入代理提示,再由代理整理成「上次檢查後新增 3 個 commit」的白話通知。
如何連結
「喚醒條件」屬於「自動化」系列。最直接相關的概念包括:「排程」、「無模型任務」、「代理執行環境」、「個人作業系統」。這些連結描述教學關係,不取代來源證據。
來源證據
toolsets.py#<file>— 結構性來源;只確認來源檔關聯,不單獨證明特定呼叫順序。route:POST:/api/cron/jobs— 此基準關聯未納入核准的核心來源投影,不能單獨作為已驗證程式行為的依據;上文另依釘選版本來源人工核對。cron/scheduler.py#_parse_wake_gate— 解析最後一行 JSON 的喚醒判定。cron/scheduler.py#_build_job_prompt—wakeAgent: false與空白標準輸出的靜默略過路徑。
