SubAgent 與 Skills:AI Agent 的兩種擴展方式
整理版優先睇
SubAgent 似虛擬機,Skills 似應用程式,揀啱擴展方式先唔會迫爆 Agent 嘅上下文。
呢篇文章出自一位有實戰經驗嘅 AI Agent 開發者,佢想解釋清楚 Skills 同 SubAgent 呢兩種擴展 Agent 能力嘅方式,解決讀者成日混淆兩者嘅問題。整體結論係:Skills 係一份「操作手冊」,畀 Agent 按需加載知識,唔會佔太多上下文;SubAgent 係一個獨立運行嘅「專家助手」,有自己的上下文,做完嘢先交結果,唔會污染主 Agent。
作者用一個具體嘅「文章配圖」案例做對比:如果用 Skills,主 Agent 要串行處理三套圖,中間過程全部塞喺同一個上下文,好易爆;如果用 SubAgent + Skills,主 Agent 可以同時開三個 SubAgent,每個獨立配圖,最後只收結果,上下文清爽好多。佢強調,揀邊種方式取決於任務複雜度、需唔需要並行、同埋想唔想保持主 Agent 嘅思維清晰。
呢篇文章嘅價值係畀咗一個好清楚嘅決策框架:任務簡單、知識可複用、想節省上下文就揀 Skills;子任務複雜、要並行、想主 Agent 保持乾淨就揀 SubAgent。對設計 AI Agent 架構嘅人嚟講,係好實用嘅參考。
- Skills 係操作手冊,用漸進式加載慳上下文;SubAgent 係虛擬機,獨立上下文唔怕污染。
- Skills 適合簡單、串行、可複用知識嘅任務;SubAgent 適合複雜、並行、中間過程繁瑣嘅子任務。
- 用 Skills 時主 Agent 全程掌控,但串行執行會慢;用 SubAgent 可以並行,加快成個流程。
- 核心取捨:要主 Agent 嘅上下文乾淨,定係要佢全程控制每個細節。
- 設計 Agent 時,第一步係判斷子任務嘅獨立性同複雜度,再決定開 Skills 定 SubAgent。
Agent 似 OS,Skills 似 App,SubAgent 似 VM
AI Agent 就好似一個操作系統,Skills 就係安裝喺上面嘅應用程式,而 SubAgent 係另一個操作系統,不過預裝咗應用程式,仲好似虛擬機咁獨立運行,有自己的上下文。呢個比喻一聽就明:你唔會將所有應用程式嘅數據擺喺系統核心,亦唔會開幾個虛擬機仲共用同一塊記憶體。
Skills 係應用程式,SubAgent 係虛擬機
呢個比喻幫你快速掌握兩者嘅本質差異:Skills 擴充 Agent 嘅能力,但所有運作都喺主 Agent 嘅上下文中;SubAgent 就完全獨立,做完嘢先交結果。
Skills:教 Agent 新技能嘅操作手冊
Skills 係一份「操作手冊」。你請咗個好聰明嘅助理,但佢對你嘅業務一無所知。每次佈置任務,你都要從頭解釋流程、注意事項、工具用法。Skills 就係將呢啲知識寫成文檔,Agent 需要時自己去睇,唔使你反覆交代。
漸進式加載
作者舉咗一個「給文章配圖」嘅 Skill 做例子,內容包括點分析文章、有咩風格揀、點寫提示詞、圖片存邊度。Agent 啟動時只記住「有呢個配圖技能」,大約 100 個 token,真正要用先讀詳細內容。呢種設計叫「漸進式加載」,好處係裝好多 Skill 都唔會撐爆上下文。
- 1 分析文章,找出需要配圖嘅位置
- 2 揀風格:科技感、温暖、極簡等
- 3 寫圖像生成嘅提示詞
- 4 設定圖片儲存位置同命名規則
SubAgent:開個虛擬機專注做複雜任務
SubAgent 係一個獨立運行嘅「專家助手」。佢有自己的上下文窗口,相當於自己的工作記憶。做完嘢淨係交返個結果,中間過程唔會污染主 Agent 嘅思維空間。
獨立上下文
作者再用一個比喻:你係項目經理,手下有三個專家。你唔需要睇住佢哋每一步操作,只需要話畀佢哋任務目標,等佢哋交報告就得。
呢種做法喺需要並行處理多個獨立任務時特別有用,例如同時生成三套唔同風格嘅配圖方案。
真實案例:文章配圖嘅 Skills vs SubAgent 之爭
假設你寫完一篇文章,想配三套唔同風格嘅插圖方案畀用戶揀。如果只用 Skills,主 Agent 要分析文章 → 設計三種方案 → 調用畫圖 Skill 畫第一套 → 畫完再畫第二套 → 再畫第三套。
上下文爆炸
問題有兩個:第一,上下文爆炸——三套圖嘅生成過程全部堆喺主 Agent 嘅「腦子」度,幾十張圖嘅提示詞、中間結果、錯誤重試全部佔位;第二,速度慢——必須一個接一個畫,串行執行。
如果用 SubAgent + Skills,主 Agent 分析文章 → 設計三種方案 → 同時啟動三個 SubAgent。每個 SubAgent 預裝咗「畫圖 Skill」,拎住文章路徑同自己負責嘅方案,獨立去讀文章、生成提示詞、調用畫圖工具、插入圖片,完成後淨係返新文章嘅 URL 同簡短摘要。主 Agent 上下文中淨係得三個結果連結,用戶想睇邊套就再讀對應 URL。
- 用 Skills:主 Agent 全程控制,但串行慢、易爆上下文
- 用 SubAgent:並行快、上下文乾淨,但需要額外管理 SubAgent
任務簡單用 Skills,任務複雜開 SubAgent
呢個案例清楚顯示咗兩者嘅取捨:你要主 Agent 嘅上下文乾淨,定係要佢全程控制每個細節?明智嘅做法係按任務複雜度決定。
一句講曬 SubAgent 同 Skills 嘅分別:AI Agent 就好似操作系統,Skills 就好似應用程式,SubAgent 都係操作系統,不過佢預裝咗應用程式,仲好似虛擬機咁運行,有獨立嘅上下文。
Skills:教 Agent 新技能
Skills 係一份「操作手冊」。
你請咗個好聰明嘅助理,但係佢對你嘅業務一無所知。每次派任務,你都要由頭解釋流程、注意事項、工具點用。Skills 就係將呢啲知識寫成文件,Agent 需要嘅時候自己會去睇,唔使你反覆交代。
例如我寫咗一個「幫文章配圖」嘅 Skill,佢會話俾 Agent 知:
• 點樣分析文章揾出需要配圖嘅位置 • 有邊啲風格可以揀(科技感、温暖、極簡……) • 點樣寫圖像生成嘅提示詞 • 圖片擺喺邊、點樣命名
Agent 啟動嗰陣時只係記住「有呢個配圖技能」,大概用 100 個 token,真係要用嗰陣先至去讀詳細內容。呢個叫**「漸進式加載」**,好處係裝一大堆 Skill 都唔會撐爆上下文。

SubAgent:開個虛擬機做嘢
SubAgent 係獨立運行嘅「專家助手」。
佢自己有自己嘅上下文窗口,相當於自己嘅「工作記憶」。做曬嘢之後淨係交返個結果返嚟,中間嘅過程唔會污染主 Agent 嘅思維空間。
你係項目經理,手底下有三個專家。你唔需要睇實佢哋每一步操作,只需要話俾佢哋知道任務目標,等佢哋交報告就得。

一個真實案例:幫文章配圖
假設我寫完一篇文章,想配三套唔同風格嘅插圖方案,俾用戶自己揀。
如果淨係用 Skills:
主 Agent 分析文章 → 設計三種方案 → 調用畫圖 Skill 畫第一套 → 畫完再畫第二套 → 再畫第三套
問題嚟啦:
1. 上下文爆炸:三套圖嘅生成過程全部堆曬喺主 Agent 嘅「腦」裏面,幾十張圖嘅提示詞、中間結果、錯誤重試……全部霸住曬位置 2. 速度慢:一定要一張接一張畫,串行執行
如果用 SubAgent + Skills:
主 Agent 分析文章 → 設計三種方案 → 同時啟動三個 SubAgent
每個 SubAgent:
• 預裝咗「畫圖 Skill」 • 攞到文章路徑同自己負責嘅方案 • 獨立去讀文章、生成提示詞、調用畫圖工具、插入圖片 • 完成之後淨係返:新文章嘅 URL + 簡短摘要
主 Agent 嗰邊呢?上下文乾乾淨淨,得三個結果連結。用戶想睇邊套,先去讀取對應嘅 URL。

幾時用邊個?
用 Skills:
• 任務簡單,主 Agent 全程掌控 • 需要嘅知識可以重複用 • 想節省上下文,按需要加載
用 SubAgent:
• 子任務複雜、需時長、中間過程好麻煩 • 需要並行處理多個獨立任務 • 想保持主 Agent 嘅「思維清晰」
一句講曬
Skills 係應用程式,裝喺主系統裏面按需要調用;SubAgent 係虛擬機,獨立運行完之後再將結果交返嚟。任務簡單就用應用程式,任務複雜就開虛擬機。
一句話解釋 SubAgent 和 Skills 的區別:AI Agent 就像操作系統,Skills 就像應用程序,SubAgent 也是操作系統,不過預裝了應用,並且像虛擬機一樣運行,獨立上下文。
Skills:教 Agent 新技能
Skills 是一份“操作手冊”。
你招了個聰明的助理,但他對你的業務一無所知。每次佈置任務,你都得從頭解釋流程、注意事項、工具用法。Skills 就是把這些知識寫成文檔,Agent 需要時自己去翻閲,不用你反覆交代。
比如我寫了一個“給文章配圖”的 Skill,它告訴 Agent:
• 怎麼分析文章找出需要配圖的位置 • 有哪些風格可選(科技感、温暖、極簡……) • 怎麼寫圖像生成的提示詞 • 圖片存哪裏、怎麼命名
Agent 啓動時只記住“有這麼個配圖技能”,大概 100 個 token,真正要用時才去讀詳細內容。這叫**“漸進式加載”**,好處是裝一堆 Skill 也不會撐爆上下文。

SubAgent:開個虛擬機幹活
SubAgent 是獨立運行的“專家助手”。
它有自己的上下文窗口,相當於自己的“工作記憶”。幹完活只把結果交回來,中間過程不會污染主 Agent 的思維空間。
你是項目經理,手下有三個專家。你不需要盯着他們每一步操作,只需要告訴他們任務目標,等他們交報告就行。

一個真實案例:給文章配圖
假設我寫完一篇文章,想配三套不同風格的插圖方案,讓用戶自己選。
如果只用 Skills:
主 Agent 分析文章 → 設計三種方案 → 調用畫圖 Skill 畫第一套 → 畫完再畫第二套 → 再畫第三套
問題來了:
1. 上下文爆炸:三套圖的生成過程全堆在主 Agent 的“腦子”裏,幾十張圖的提示詞、中間結果、錯誤重試……全佔着位置 2. 速度慢:必須一個接一個畫,串行執行
如果用 SubAgent + Skills:
主 Agent 分析文章 → 設計三種方案 → 同時啓動三個 SubAgent
每個 SubAgent:
• 預裝了“畫圖 Skill” • 拿到文章路徑和自己負責的方案 • 獨立去讀文章、生成提示詞、調用畫圖工具、插入圖片 • 完成後只返回:新文章的 URL + 簡短摘要
主 Agent 這邊呢?上下文乾乾淨淨,只有三個結果連結。用戶想看哪套,再去讀取對應的 URL。

什麼時候用哪個?
用 Skills:
• 任務簡單,主 Agent 全程掌控 • 需要的知識可以複用 • 想節省上下文,按需加載
用 SubAgent:
• 子任務複雜、耗時長、中間過程繁瑣 • 需要並行處理多個獨立任務 • 想保持主 Agent 的“思維清晰”
一句話總結
Skills 是應用程序,裝在主系統裏按需調用;SubAgent 是虛擬機,獨立運行完再把結果交回來。任務簡單用應用,任務複雜開虛擬機。