Claude Code

subagents 是什麼:讓主對話保持乾淨的分工術

subagent 是 Claude Code 可以委派任務的專職助手。每個 subagent 在自己獨立的 context window 裡工作:讀檔案、搜尋、跑工具的過程全部留在它那邊,做完只把一份摘要交回主對話。這讓主對話的 context 保持乾淨,長時間工作也不會塞爆。
subagents 是什麼:讓主對話保持乾淨的分工術:文章重點卡

subagents 是什麼:讓主對話保持乾淨的分工術

用 Claude Code 工作一段時間,你會撞到一面牆:對話越長,它越健忘。原因不是它累了,是 context window 滿了:每一次讀檔、每一次搜尋的結果都堆在主對話裡,空間有限,塞滿了就開始擠掉前面的東西。

subagent 就是為這面牆而生的分工術:把「過程很吵、結論很短」的任務外包出去,讓髒活在別的房間做完,只把答案帶回來。這篇帶你看懂它的原理、內建有哪些、什麼時候該用與不該用。

你將學到什麼

subagent 的原理

獨立 context 做事、只回傳摘要,過程全部不佔主對話。

為什麼需要它

context window 是有限資源,塞滿了主對話就開始失憶。

內建的三個

general purpose、Explore、Plan 各自負責什麼。

何時該用與不該用

一條判斷準則:中間過程對主對話重不重要。

先懂問題:context window 是有限的

跟 Claude Code 的每一句對話、每一次工具呼叫、每一份被讀進來的檔案內容,全都會存進主對話的 context window。這個空間是有限的,塞滿之後,模型就會開始抓不住對話前段的內容,表現出來就是「忘記你剛剛說過的規則」「重複問已經回答過的問題」。

麻煩的是,很多任務的過程很佔空間、結論卻很小。想知道「哪個服務處理退款」,可能要讀十五個檔案、跑好幾輪搜尋、追好幾層函式呼叫;但你真正需要留下的,只有最後那一行答案。把這種任務直接在主對話做,等於用一個問題的價格,付了十五個檔案的房租。

subagent 的運作原理

subagent 是 Claude Code 可以委派任務的專職助手。委派發生時,會有一個全新的 context window 被開出來,subagent 在裡面收到兩樣東西:一是設定檔給它的 system prompt,定義它的角色與行為;二是主 agent 根據你的要求寫的任務說明

接著它就自己開工:讀檔案、搜尋、改程式,需要什麼做什麼。做完之後,只有一份摘要回到主對話,subagent 那整串工作紀錄隨即被丟棄。主對話裡留下的只有「你問了什麼」跟「答案是什麼」,中間的塵土完全不落地。

主對話 context你的問題收到的摘要subagent 的 context讀了十五個檔案跑了好幾輪搜尋追完函式呼叫鏈完工後整段紀錄丟棄委派任務只回傳摘要
髒活在 subagent 自己的 context 裡做完,主對話只收到一份摘要。

拿前面那個退款的例子實際走一遍:你在主對話問「哪個服務處理退款」,Explore subagent 被派出去,在自己的 context 裡翻檔案、追呼叫鏈,最後回報一句「退款驗證在某個 middleware 檔案裡,由 API 路由呼叫」。主對話的帳本上只多了兩行:你的問題、它的答案。

同樣的問題直接在主對話問,帳本上會多出十幾份檔案內容,而那些內容之後的每一輪對話都還在持續佔位。

代價:看不到過程這個設計有一個明確的取捨:你失去了對過程的能見度。subagent 怎麼得出結論的,你看不到。這也是後面「什麼時候不該用」的伏筆。

內建的 subagent 有哪些

  • general purpose:多步驟任務用,既要探索又要動手做事的通用型。
  • Explore:快速搜尋與導覽程式碼專用,適合「幫我找到某段邏輯在哪」。
  • Plan:plan mode 時上場,負責研究與分析你的專案,作為提出計畫的基礎。

除了內建款,你也可以打造自己的 subagent:自訂 system prompt 與工具權限,做出程式碼審查員、測試撰寫員、文件產生器這類專職角色。做法我會在下一篇完整教。

什麼時候該用:一條判斷準則

決定要不要委派給 subagent,問自己一個問題就夠:中間過程對主對話重要嗎?如果你只需要結果,過程是雜訊,就委派出去;如果每一步的發現都會影響你下一步怎麼走,就留在主對話。

適合交給 subagent應該留在主對話
研究與探索:翻很多檔案、只要一個結論每一步都依賴上一步發現的除錯過程
程式碼審查:獨立視角反而看得更清楚跑測試:失敗時你需要完整輸出來診斷
需要專屬 system prompt 的任務,例如文案「你是某某專家」這種沒有實質加成的人設

左邊第三項值得多說一句:Claude Code 預設的 system prompt 走精簡技術風,寫行銷文案或設計網頁時反而綁手綁腳。這時一個帶著自訂 system prompt 的文案 subagent(定義好語氣、受眾、結構),或一個開場就載入你設計系統檔案的樣式 subagent,能做到主對話做不到的事。

另外,程式碼審查交給 subagent 還有個微妙的好處:跟你一起把程式寫出來的主對話,往往看不出自己的問題;獨立 context 的審查員以旁觀者身分讀 diff,回饋通常更誠實。

表格右邊那三種是點名的反模式:專家人設沒有用,因為 Claude 本來就有那些知識;環環相扣的多段流水線會在交接時遺失資訊;測試執行員會把你需要的失敗細節壓縮掉,只回一句「測試失敗了」反而害你多跑一輪。

小結

subagent 的本質是 context 的財務管理:主對話的空間是最貴的資產,把高耗損、低留存的工作外包到獨立 context 去做,只讓結論入帳。判斷準則記一句話就好:只要結果,就委派;要看過程,就自己來。下一篇我們動手打造自己的 subagent。

參考出處本文取材自 Anthropic 官方 Claude Academy 免費課程「Introduction to subagents」,由酒Ann 消化後以自己的視角重新編寫。想看英文原版課程,可到 Claude Academy 修習。

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

subagent 跟主對話有什麼不同?
subagent 有自己獨立的 context window,接到任務後自己讀檔、搜尋、執行,完成後只把摘要交回主對話,整個過程紀錄隨後就被丟棄,不佔主對話的空間。
用 subagent 有什麼代價?
你會失去過程的能見度:只看得到結論,看不到它是怎麼找到的。所以中間過程對後續判斷很重要的任務,反而應該留在主對話做。
Claude Code 內建哪些 subagent?
常用的有三個:general purpose 負責要探索也要動手的多步驟任務,Explore 負責快速搜尋與導覽程式碼,Plan 則在 plan mode 時負責研究與分析專案。
什麼任務最適合交給 subagent?
研究與探索類的任務最適合:例如「這個專案的退款邏輯在哪個服務裡」。它可能要翻十幾個檔案才有答案,但主對話只需要那一句結論。