傳統軟體開發:多從撰寫程式碼開始。
規格驅動開發:先定義「做什麼 (What)」和「為什麼做 (Why)」,再考慮「如何實現 (How)」。
這意味著在實際編碼前,團隊需先明確:
這不僅是一份需求文件,更是一種系統化的思考過程,確保團隊成員對最終產品有共同理解。
SDD 類似 提示工程 (Prompt Engineering) 的進化版,透過規格引導 AI 建構符合預期的軟體。特別適合大型企業與「App 工廠」模式 —— 一套標準(如後端 .NET、前端 React),能快速開發數百個應用程式;技術棧改變時,僅需修改「如何」的部分,「做什麼」與「為什麼」保持穩定,提升靈活性與可維護性。
GitHub Spec Kit 提出了 SDD 的三大核心要素 :
特性 | 規格驅動開發 (SDD) | 上下文工程 (Context Engineering) | 規範化編程 (Normalized Programming) |
---|---|---|---|
核心理念 | 先定義「做什麼 / 為什麼」,再考慮「如何」 | 專注「如何更好與 AI 溝通」 | 聚焦「如何明確我們真正想要什麼」 |
主要目標 | 結構化規格引導 AI 精確建構軟體 | 優化輸入,利用長期記憶動態管理歷史資料 | 以規範文件清晰表達意圖與價值,嵌入模型訓練 |
解決問題 | 傳統開發痛點,提升效率與品質 | 智能體失敗源於上下文不足 | AI 開發問題源於人類目標模糊 |
開發者角色 | 意圖設計者、資訊建築師 | 資訊建築師 | 規範編寫者 |
關注點 | 明確「做什麼 / 為什麼」 | 優化「怎麼做」 | 澄清「做什麼」 |
三者雖然切入點不同,但共同挑戰傳統 提示詞工程的侷限性,並推動開發者角色進化為 意圖設計者,開啟 AI 協作的軟體開發新時代。