自動化

喚醒條件

決定排程工作是否應喚醒代理的執行前訊號。

概念專屬圖版喚醒條件hx-graph-context-concept-wake-conditions正在載入視覺預覽…
以原始尺寸檢視

喚醒條件

這是什麼

排程工作在呼叫模型前執行的腳本判定機制,可依最後輸出或空白結果選擇喚醒代理或靜默略過。

白話解釋

郵件室職員會查看每封來信,但只把真正需要律師處理的內容送進法務部門;例行續約與垃圾郵件不會占用昂貴時間。喚醒條件在 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.pyrun_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_promptwakeAgent: false 與空白標準輸出的靜默略過路徑。

工作流程

相關文章

相關筆記