Skill、Sub-agent、Cron:讓 AI 24 小時自動工作的三大機制
AI Agent 怎麼學會新技能?怎麼分身處理多個任務?又怎麼在固定時間自動執行工作?這篇拆解三個讓 Agent 持續運作的核心機制。
Skill、Sub-agent、Cron:讓 AI 24 小時自動工作的三大機制
📖 本文是「解剖 AI Agent」系列的第 4 篇(完結)。← 上一篇:AI Agent 的安全風險
前兩篇我們聊了 AI Agent 的基本原理和記憶系統。但光是能對話和記東西,還不足以讓 Agent 成為真正的自動化助理。
要讓 AI 能夠獨立處理複雜任務、24 小時不間斷運作,還需要三個關鍵機制:Skill(技能)、Sub-agent(分身) 和 Cron(排程)。
Skill:AI 的工作手冊
當你請 AI 做一件複雜的事(比如製作一支影片),中間可能牽涉十幾個步驟:寫腳本、做投影片、截圖、配音、語音驗證、影片合成……如果每次都靠模型自己想該怎麼做,很容易漏掉步驟。
Skill 就是寫好的 SOP。
它不是一段程式碼,而是一份純文字檔案(通常是 .md 格式),裡面記載:
- 完成任務的步驟順序
- 每個步驟需要用到的工具在哪裡
- 遇到例外狀況該怎麼處理
Skill 的巧妙之處:按需載入
Agent 不會把所有 Skill 都塞進 System Prompt——那樣會讓上下文爆掉。它的做法是:
- 在 System Prompt 裡只放一份清單,列出有哪些 Skill 可用,以及簡短說明
- 語言模型判斷當前任務需要哪個 Skill
- 用讀取工具把那個 Skill 的內容載入
- 按照 Skill 的步驟開始執行
這是一種 Context Engineering 的技巧——只在需要的時候才載入資訊,避免佔用寶貴的上下文窗口。
Skill 可以交換
因為 Skill 就是文字檔,所以你可以直接把自己的 Skill 分享給別人的 AI Agent,或者從社群平台下載別人的 Skill。就像在《駭客任務》裡把武功直接灌入大腦一樣,AI 只要把 Skill 放進指定資料夾,就立刻學會了一套新的工作流程。
不過前面一篇文章提過,下載來路不明的 Skill 要注意安全風險。
AI 也會自己創造工具
除了使用現有的工具和 Skill,語言模型其實也能自己寫程式來解決問題。
舉個例子:你告訴 AI「每次做語音合成後要用語音辨識驗證,不對就重做,最多五次」。模型想了想,覺得每次都要來回溝通太麻煩,於是自己寫了一個小腳本,把合成、驗證、重試的邏輯全部包進去,一次執行搞定。
這些「免洗小工具」通常用完就被 AI 遺忘,下次又會重新寫一個。但它們展現了 Agent 解決問題的靈活性。
Sub-agent:分身術
當任務可以拆成平行的子任務時,Agent 能派出分身去處理。
假設你要 AI 比較兩篇論文的方法。語言模型會要求 Agent 繁殖出兩個 Sub-agent(子代理),一個去讀論文 A 並摘要,另一個去讀論文 B 並摘要。兩個分身各自跟語言模型溝通、搜尋網頁、下載論文、逐段閱讀,最後把摘要回傳給主 Agent。
為什麼不直接用主 Agent 做?
關鍵在於節省上下文空間。
讀一篇論文可能需要跟語言模型來回幾十次:搜尋、下載、分段閱讀、整理。如果這些過程都發生在主 Agent 的上下文裡,窗口很快就會被塞滿。
但用 Sub-agent 的話,所有繁瑣的過程都在分身的獨立上下文中進行。對主 Agent 來說,它只看到最終的摘要結果,就像主管只看報告,不需要知道下屬加了幾天班。
這也是 Context Engineering 的核心思維:讓每一層只看到它需要的資訊。
無限外包的陷阱
分身也能召喚分身嗎?理論上可以,但如果不加限制,就會變成無限外包——每個人都把工作丟給下一層,最後沒人真的在做事。
解決方法很粗暴但有效:讓分身失去繁殖能力。 Agent 在程式層面直接禁止 Sub-agent 使用「召喚分身」這個工具。不是靠語言模型的指令來約束,而是程式碼直接鎖死。
Cron:讓 AI 學會「等」和「守時」
AI Agent 的一個根本問題是:模型不會主動做任何事。
語言模型只會在收到輸入時才產生輸出。沒有人問它問題,它就靜靜待著。Agent 跟模型對話結束後,如果沒有新的觸發,整個系統就停住了。
心跳機制:定時叫醒
Heartbeat(心跳) 是最基本的解決方案。每隔一段固定時間(比如 15 分鐘),Agent 就會自動送一個預設的指令給語言模型,讓它「醒來」看看有什麼事要做。
心跳的指令通常是「去讀一下 heartbeat.md 這個檔案,看有沒有待辦任務」。模型讀完之後,如果有任務就開始執行,沒有就回覆「沒事」然後繼續等下次心跳。
有趣的是,心跳指令不一定要很具體。比如你可以把心跳設成「往你的目標前進」,如果 AI 的設定裡寫著它的目標是「成為一流的學者」,那每 15 分鐘它就會起來做點跟學術研究有關的事——讀論文、寫筆記、整理資料。
Cron Job:定點觸發
心跳是固定間隔的敲鐘,Cron 則是在特定時間觸發特定任務。
當你說「每天中午做一支影片」,語言模型會使用排程工具,設定一個 Cron Job:中午 12 點觸發,觸發時的指令是「製作一支影片」。到了中午,Cron 系統就會像一次額外的心跳一樣戳一下 Agent,但帶著特定的任務指令。
學會等待
Cron 帶來一個意想不到的能力:讓 AI 學會等待。
假設 AI 要使用一個線上工具,上傳資料後那個工具需要 5 分鐘才能處理完成。一般情況下,AI 看到「處理中」就只能回報「處理中」然後結束,因為它不會主動等待。
但有了 Cron 之後,聰明的模型可以在看到「處理中」時,設定一個 3 分鐘後的 Cron Job:「3 分鐘後回來檢查這個頁面」。3 分鐘到了,Cron 觸發,AI 回來檢查,發現處理完了,就繼續下一步。
這讓 AI 能夠操控需要等待的非同步流程,甚至能用一個 AI 去操控另一個 AI 的服務。
三者合體:真正的自動化
當 Skill、Sub-agent 和 Cron 三個機制同時運作,AI Agent 就不再只是一個問答工具,而是一個真正的自動化系統:
- Skill 確保複雜任務不會遺漏步驟
- Sub-agent 讓多個任務可以同時進行
- Cron 讓 AI 能定時工作、學會等待
這三個機制沒有一個是革命性的新技術——它們本質上都是「寫死的程式規則」加上「語言模型的判斷力」。但組合在一起,就讓 AI 從「被動回答問題」進化到「主動完成工作」。
📖 系列回顧:① AI Agent 不是 AI → ② 記憶機制 → ③ 安全風險 → ④ 自動化機制(本篇)
本文觀念參考台大李宏毅教授公開課程內容,由 Penna 🐧 重新整理撰寫。