自動化

排程任務

與手動請求進入相同執行管線的排程代理工作。

概念專屬圖版排程任務hx-graph-context-concept-cron-jobs正在載入視覺預覽…
以原始尺寸檢視

排程任務

這是什麼

這是一份延後執行的代理工作定義;時間到後,它會像手動請求一樣走完整對話與工具管線。

白話解釋

想像把一份密封指示交給可信任的值班人員,請他在凌晨 3 點、其他人都睡著時照常執行。他不會改走精簡版流程,而是遵循白天值班時相同的步驟。Hermes cron job 就是這份指示:代理稍後在無人觸發的情況下自行執行工作。

為什麼重要

排程觸發不會改走另一條輕量排程器:cron job 與即時聊天訊息會進入相同的對話循環、輪次上下文建構與工具執行管線。因此,互動測試過的 skill 在排程觸發時仍以相同行為運作,不會因另一條特殊程式路徑而漂移。cronjob 工具集提供建立、列出、更新、暫停、恢復與立即執行操作,也能把 skills 直接附加在 job 定義上。

運作方式

建立工作時會呼叫 cron/jobs.pycreate_job:它解析 schedule 字串、產生隨機 12 字元 job ID、計算下次到期時間,再把 prompt(或附加的 skills)、model 與 provider 覆寫值、delivery 目標等設定存成一筆記錄。代理本身可透過單一 cronjob 工具存取這些操作(tools/cronjob_tools.py)。工作到期時,cron/scheduler.pyrun_job 透過 _build_job_prompt 組合 prompt,並在前面加入固定指示,提醒代理目前無人值守:不要呼叫 send_message,只需產出最終答案;沒有值得回報的內容時,必須精確回覆 [SILENT]。代理回傳的其他內容則會送往 job 設定的 delivery 目標。

具體範例

有人希望每 30 分鐘檢查一次收件匣是否有緊急事項,因此用 cronjob 工具建立工作,schedule 設為 every 30m、prompt 設為「檢查收件匣並標出緊急郵件」、delivery 設為 origin

  1. 排程器每 30 分鐘找到到期工作,並以該 prompt 執行完整代理迴圈。
  2. 若沒有緊急事項,代理精確回覆 [SILENT],系統不會傳送訊息。
  3. 若有需要注意的內容,摘要會送回建立這份工作的原始對話。

如何連結

「排程任務」屬於「自動化」系列,最直接相關的概念包括「暫停與恢復」、「排程藍圖」、「代理執行環境」與「個人作業系統」。

來源證據

  • toolsets.py#<file>toolset:cronjob 的來源圖譜結構性備援;確認排程工作工具集與工具註冊來源檔的關聯,不單獨證明上述排程器呼叫順序。

工作流程

相關文章

相關筆記