第二十四章:排程任務 — cronjob 建立/更新/串聯、時區、no-agent 腳本模式
如果說 plan 技能讓管家學會了「怎麼做」,那排程(Cronjob)就是教會管家「什麼時候做」。
想像一下,如果每天早上 8 點,管家會自動幫你整理好當天的新聞;每個禮拜五下午 5 點,管家會自動幫你發送週報… 這畫面太美,簡直就是終極的懶人(劃掉)自動化福音!今天,我們就要教你如何幫管家設定鬧鐘,讓它成為一個真正的全天候數位員工。⏰
📅 給管家設鬧鐘:什麼是 Cronjob?
Cronjob 是一個古老但極度可靠的排程工具。簡單來說,它就是一個時間表。你可以設定「每小時的第幾分鐘」、「每天的幾點」、「每週的星期幾」去執行特定的 Hermes 指令。
Hermes 把這個有點複雜的東西包裝得很平易近人。你不用去背那些奇怪的 * * * * * 符號(雖然會背的話看起來比較帥),你可以直接對管家下達類似口語的排程指令。
🌍 時區陷阱 (Timezone)
設定排程時,最常踩的坑就是時區!你設定了早上 8 點,結果管家以為是格林威治時間的 8 點(台灣的下午 4 點),那可就糗大了。記得在設定時,確保管家使用的是你當地的時區喔!
🏃 輕量級的 no-agent 模式
有時候,你排程的任務只是一個簡單的 Python 腳本(比如去某個網站戳一下),根本不需要大語言模型(LLM)去思考。這時候你可以啟用 no-agent 模式。在這種模式下,Hermes 不會呼叫 LLM,而是直接執行你指定的腳本。這不僅省時間,還省下了寶貴的 API 費用!這可是客家精神的極致展現。
🛠️ 指令教學:當個掌控時間的魔法師
讓我們來實際設定幾個鬧鐘吧!
介紹指令:使用 hermes cron 進行排程任務管理
💡 應用練習例子
練習 1:建立你的第一個晨間喚醒服務 我們把第十八章寫好的 morning-briefing 技能設定成每天早上 8 點執行:
hermes cron create "每天早上 8 點執行 morning-briefing 技能"幽默小提示:管家會把它翻譯成標準的 cron 格式並儲存。從明天開始,你就可以一邊吃早餐一邊看它幫你整理的簡報了。小心不要依賴到忘記怎麼自己查新聞喔!
練習 2:檢視與更新排程 如果你最近換了工作,想改成早上 9 點才看簡報,你可以先列出所有的排程,然後更新它:
# 先列出所有排程看看 ID
hermes cron list
# 假設剛剛那個鬧鐘的 ID 是 1,把它改成早上 9 點
hermes cron update 1 "改為每天早上 9 點執行"管家會非常順從地把鬧鐘調晚一個小時。這可比叫醒一個有起床氣的人類容易多了!
練習 3:使用無腦 (no-agent) 腳本模式省錢 如果你有一個寫好的 backup.py 腳本,想每天半夜跑一次,但不想浪費 LLM 的 token 去思考怎麼執行:
hermes cron create "每天半夜 12 點執行 backup.py" --no-agent這個 --no-agent 參數就是你的省錢小幫手!管家會盲目地按時執行腳本,完全不動腦,也就完全不花 API 的錢。
🎉 恭喜你獲得了時間管理的超能力!
現在,你的 Hermes Agent 已經不僅僅是被動接受指令了,它學會了在特定的時間「主動」出擊。
不過,當你的任務越來越多,只有一個管家可能會忙不過來,甚至會把不同的任務搞混(比如把給老闆的週報發給了你媽媽… 😨)。這時候該怎麼辦呢?
下一章,我們將解鎖管理學的最高境界——《委派子代理 (Delegate Task)》。教你如何讓大管家「發包」工作給其他小管家!我們第二十五章見!👥