超越 Vibe coding!Spec-Driven Development(SDD)如何降低 AI 寫程式的混亂?
生成式 AI 讓寫程式的門檻快速降低,vibe coding 已成為最具話題性的開發方式:只要在聊天視窗輸入自然語言, AI 就能即時產出可執行的應用原型,甚至讓非工程背景的人也能實作。不過,也有聲音指出,這種缺乏前置規劃的開發模式,一旦進入複雜或長期專案階段,往往會帶來不確定性、反噬企業團隊本身,這使得另一軟體開發方法「Spec-Driven Development」(規格驅動開發,以下簡稱 SDD)成為新焦點。
SDD:不是先寫程式,而是先把要做什麼說清楚
技術顧問公司 Neudesic 技術長 Nathan Lasnoski 在個人部落格指出,SDD 是一種先投入資源在簡潔、可測試的「規格」(Specifications),再交由 AI 生成程式碼的開發方法。與其一開始就讓 AI 施作,SDD 要求資深工程師或產品負責人先清楚定義系統行為、限制條件與預期成果,讓規格成為人與 AI 之間的「動態契約」(living contract)。AI 負責回答怎麼做,人類則負責把要做什麼、為什麼要做說清楚。
Lasnoski 認為,SDD 的核心在於將「規劃」與「實作」分離,不論在規劃期間是否有 AI 輔助,這既能維持開發流程的敏捷性,又能確保快速生成的 AI 程式碼建立在清楚明確的基礎上,不會偏離方向。他觀察,SDD 帶來的成果包含讓開發者的速度提升、改善軟體品質與可維護性,甚至包含大規模系統現代化專案。
這裡所說的規格,不等於傳統的產品需求文件(PRD)。根據技術顧問公司 Thoughtworks,規格是對軟體外顯行為的具體描述,包括輸入與輸出之間的關係、前後置條件、不變量、介面型別、系統整合契約與狀態機等。換言之,SDD 的規格描述的是系統「如何表現」,而不只是業務想要什麼。
SDD 是 AI 版本的「瀑布式開發」嗎?
隨著「先寫規格」的說法浮上檯面,也有人質疑,SDD 是否只是瀑布式開發(Waterfall)的 AI 版本。對此,微軟首席產品工程師 Den Delimarsky 表示,SDD 並不是要回到冗長、僵化、無人閱讀的文件流程,更不是試圖預測未來所有需求。
Delimarsky 認為,SDD 的核心價值在於讓技術決策清晰明確、可審查、可演進,就像替團隊的思考過程加上版本控制。當關鍵假設與取捨被明確寫入規格,團隊就能在尚未寫下任何程式碼之前,及早發現理解落差,而不是等到系統成形後才付出高昂代價回頭修正。他指出,這種「共享上下文」的方法,對於依賴 AI 代理(AI Agent)打造產品的工作流程尤其重要,能引導 AI 代理找到正確的解決方案。
SDD 的興起,也與「情境工程」(context engineering)概念緊密相連。Lasnoski 表示,今日企業能提供給 AI 的情境資訊極為豐富,包含大量存在於程式碼之外的知識,例如系統架構圖、安全規範等,而這開啟了新的可能性:AI 不再需要猜測某個 API 的用途或業務領域背景,而是能直接從企業內部的實際知識中獲得資訊。他認為,這種做法有時被稱為情境工程。
不過,SSD 並不等於寫越多越好。Thoughtworks 強調,一份好的規格應該使用領域導向的一致語言(ubiquitous language),避免過早陷入技術實作細節,並常以 Given/When/Then 的結構描述行為情境,在清楚與精簡之間取得平衡。這不僅有助於人類理解,也能降低 AI 產生幻覺的風險。此外,雖然大型語言模型擅長處理自然語言,但實務經驗顯示,半結構化輸入與結構化輸出仍是提升推理穩定度的關鍵。因此,即便在生成式 AI 時代,機器可讀的規格與約束,仍是不可或缺的工程基礎。
Thoughtworks 指出,瀑布式開發真正的問題在於回饋週期過長;而當前 AI 開發的風險則相反,是生成速度過快、快到掩蓋了需求不清與設計錯誤。SDD 的角色,正是在兩者之間建立新的平衡點,透過將模糊性前移,換取後續更短、更有效的迭代循環。
工具正在興起、工程師角色正在轉變
隨著 GitHub 推出 Spec Kit 、Amazon 推出 Kiro 等工具,SDD 開始具備可操作的流程框架,但實際應用的工作流程因工具而異。Thoughtworks 也指出,不同人對於規格的定位仍有不同的看法:有人認為規格只是開發流程中的一次性中介產物,也有人視之為描述軟體行為的最終真相,這些差異,也會導致 SDD 出現各種不同做法。
這也讓工程師角色開始轉變。OpenAI 對齊研究員(Alignment Researcher)Sean Grove 在日前一場演講表示,規格將成為未來最有價值的程式碼形式,而隨著 AI 模型日益強大,工程師的工作重點將從撰寫具體的程式語法(syntax)轉向撰寫清晰、明確的意圖與價值觀規範。
Delimarsky 表示,當你清楚定義需求(也就是規格),並提供 AI 理解你所處情境所需的完整脈絡,就能將出乎意料多的工作交由機器完成。最終成果是:軟體能更快交付、錯誤更少,而開發者則能專注於自己最擅長的事情;而在每一家企業都正逐步成為軟體公司的時代,是否擁抱這種典範轉移,很可能將決定未來誰能領先、誰又會落後。
立即預約下載【2026 AI 人才年會暨 AI 職涯博覽會】演講精華,掌握 AI 時代人才升級的最前沿趨勢與戰略
*本文開放合作夥伴轉載,資料來源:Nathan Lasnoski、Thoughtworkers、Microsoft、《Hackernoon》、AI Engineer、《Dev Community》,首圖來源:AI 工具生成