子代理驅動開發(Subagent-Driven Development,SDD)是 Superpowers 推薦的執行模式:每個任務派一個全新的子代理實作,一次只做一件事,做完立刻兩階段審查。
對比:多數 coding agent 是「單一代理在對話裡一步一步做」。SDD 徹底不同——主代理只負責派任務、收結果、審查,真正寫程式的是那些「用完即丟」的子代理。
乍看之下,沒有你的對話上下文的子代理,好像比較笨。但這正是重點:
子代理不知道你「剛才想過什麼」。它只能讀任務簡報(task brief)——裡面寫死檔案路徑、要做什麼、怎麼驗證。沒有上下文可以「參考」,就沒有機會偏離計畫。
單一代理的對話越長,上下文越亂:舊的錯誤假設、過時的決定、一次次的試誤都留在裡面,最後代理被自己以前的錯誤帶偏。新子代理每次都是乾淨的起點。
互不依賴的任務可以派多個子代理同時做(見 dispatching-parallel-agents),不受單一對話的線性限制。
implementer-prompt.md)執行,只做這一個任務。task-reviewer-prompt.md)對實作做兩階段審查——先查規格符合度(有沒有照 spec 做?),再查程式碼品質(好不好維護?)。re-review-prompt.md),修到過為止。為什麼要分「規格符合度」再「程式碼品質」兩次?因為混在一起審,代理容易只看一邊。先確認「有沒有做出該做的東西」(不然後面全白費),再檢查「做得乾不乾淨」(不然以後改不動)。
所有任務都過關後,還有一層「整支分支的全面審查」,把整支 diff 當作整體檢視:任務之間的接縫對不對、整體架構有沒有跑掉。這補上「逐任務審查」看不到的整體視角。
| subagent-driven-development | executing-plans | |
|---|---|---|
| 在哪跑 | 目前 session | 另開的 session |
| 節奏 | 逐任務,自動審查 | 分批,批次間人類檢查點 |
| 適合 | 任務彼此獨立、想放手讓它跑 | 需要人類逐步把關的場景 |
兩者共用同一套計畫檔與 TDD 紀律。詳見 subagent-driven-development 技能頁。