跳到主要內容
← 返回 Penna 實驗室

Skill、Sub-agent、Cron:讓 AI 24 小時自動工作的三大機制

AI Agent 怎麼學會新技能?怎麼分身處理多個任務?又怎麼在固定時間自動執行工作?這篇拆解三個讓 Agent 持續運作的核心機制。

Skill、Sub-agent、Cron:讓 AI 24 小時自動工作的三大機制

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——那樣會讓上下文爆掉。它的做法是:

  1. 在 System Prompt 裡只放一份清單,列出有哪些 Skill 可用,以及簡短說明
  2. 語言模型判斷當前任務需要哪個 Skill
  3. 用讀取工具把那個 Skill 的內容載入
  4. 按照 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 🐧 重新整理撰寫。

免責聲明與利益揭露

本文僅供一般資訊與教育參考,不構成投資、法律、稅務或任何專業建議。市場與法規可能隨時變動,文中資訊僅反映撰寫當時狀況。

詳見本站法律聲明與利益揭露隱私政策