Subagents
是什麼
設想一位經理把一項專注的任務交給臨時助手:助手做完後彙報結果,然後離開。子 agent(subagent)就是這樣一位臨時助手——你的主 agent 可以派生出來處理某項專注工作的獨立 AI agent。它在自己的上下文(屬於它自己的獨立工作空間和記憶)中、用自己的指令執行,完成任務後把結果彙報回來。由於每個子 agent 都是全新啟動的,主對話保持乾淨——一個支線任務的細節不會擠佔你真正關心的工作。
優勢
- 通過分流細節繁多的支線任務,讓主上下文保持清爽。
- 讓你並行執行相互獨立的工作,可能快得多。
- 每個子 agent 都可以專門化——審查者、搜尋者、測試者——各有自己專注的 prompt。
- 失敗被隔離:一個出錯的子 agent 不會讓整個會話脫軌。
權衡取捨
- 子 agent 只知道你傳給它的東西;缺失上下文會導致偏離目標的結果。
- 派生許多 agent 會消耗更多 token(模型讀取並據以計費的文本片段),可能變得昂貴。
- 你只拿回摘要,因此支線任務中的細微之處可能丟失。
- 同時協調好幾個 agent 本身也會增加複雜度。
何時使用
當一個任務自包含、否則會讓主執行緒臃腫時,就使用子 agent——搜尋一個大型程式碼庫、審查一段 diff,或同時進行幾項相互獨立的調查。
與 vibe coding 的契合度
子 agent 是你擴充套件一個 agent 注意力的方式。把嘈雜的、探索性的工作——"找出這個被用到的所有地方""審查這段程式碼有沒有 bug"——交給子 agent,讓主 agent 專注於計劃。要明確說明每個子 agent 應當返回什麼,因為你拿到的是它的結論,而非完整的對話記錄。
Spawn a review subagent:
task: "Review the diff in src/auth for security issues."
return: "A short list of concrete problems, or 'no issues found'."