Spec Driven Development 心得分享
原作者:簡光正
昨晚看了保哥 Will Huang 在 Happy Designer 社群的AI × Spec Driven Development 分享(如以下觀點卡),也有些想法筆記,跟大家分享。
整場的內容有以下4點:
1. 規格成為唯一的真相 (Single Source of Truth) 與權力反轉:
在傳統開發中,程式碼是「唯一的真相」(single source of truth),因為程式碼不會騙人,但規格文件常與實際實作脫鉤,最終失去參考價值。SDD 則完全顛倒了這個情況。規格變成了真相的來源,是整個專案的核心。規格應該是通用的語言,讓使用者、設計師、工程師和 PM 都能理解。
2. 規格的可執行性與自動化:
SDD 最大的改變是讓規格成為一個「可執行的資產」,規格可以直接生成工作實作,只要修改規格,程式碼就能自動生成,目標是實現整個流程的全自動化
3. 意圖驅動的開發與持續迭代:
SDD 強調開發過程必須從「意圖」開始,並且持續不斷地疊代和完善規格, 從模糊的起始想法開始,透過 AI 輔助補完,生成結構化、高品質的產品需求描述 (PRD),再制定實作計劃,確定技術、框架和程式語言,最後根據數據不斷完善規格,任何變更都必須從修改規格開始,以保持程式碼與規格的一致
4. 工程師的角色轉變:
SDD 時代,工程師的工作內容將發生變化,工程師不再專注於編寫程式碼的細節,而是定義規格需要的 AI 資源、提示詞 (prompts)、規則 (rules)、底層架構,以及將採用的技術。工程師未來可能感受不到寫程式碼的樂趣或痛苦,但會改成享受快速打造軟體產品的樂趣
以下是個人的一些想法總結:
1. SDD不會取代開發者,而是重新定義「開發」
寫程式從來不是目的,只是手段。目的是解決問題、創造價值。SDD讓我們更接近目的本身。就像會計師不因為Excel而失業(反而效率大增),開發者不會因為AI而消失。但不適應的開發者會。
2. 是機會也是警訊
如果我們能掌握那最關鍵的30%(架構、安全、業務邏輯),我們的價值會倍增,反之,如果我們還是只會做那70%(樣板程式碼、標準實作)也就是AI擅長的70%,我們的價值會歸零。未來的市場鐵定不會需要「能把Python語法記得滾瓜爛熟」的開發者,而是需要「能設計出優雅的系統並能指揮AI落地」的架構師。
3. 轉型窗口來臨,轉型要趁早
我們可能只剩3~5年時間來培養新技能、建立新的思維與認知、找到新定位,根據不同的階段,也會有不同的方式
初級開發者:
用AI加速學習,但要讓自己務必理解每行程式碼(不要只是複製貼上),專注培養架構思維,練習寫清晰的規格和文件,並且能找到願意幫你Review 你AI生成程式碼的Mentor
中級開發者:
這是成為規格架構師的黃金時期,可以試著開始在團隊中推動SDD實驗,建立新的「AI協作工作流程」,千萬別再待在舒適區,只把AI當「更快的Stack Overflow」
資深開發者:
將隱性知識顯性化(例如:寫下架構決策、設計模式...等),並建立團隊的規格範本,也要培訓初級開發者「如何審查AI」。別再抗拒改變,堅持「手寫程式碼才是真本事」
對於SDD的趨勢,我自已也是抱持著樂觀的看法,也有人擔心SDD會讓軟發開發失去「工藝」的美感。但我們可以回想過往:
詩人用文字創作,但沒人說「用鍵盤打字破壞了書法之美」
音樂家用樂器演奏,但沒人說「電吉他取代了手工吉他」
建築師用CAD設計,但沒人說「電腦繪圖讓建築失去靈魂」
SDD不會讓我們停止思考如何構建軟體,反而可以讓我們能在更高的層次思考,思考系統如何能更優雅地解決問題,而不是糾結於第87行該用for還是while
就像畫家從手工研磨顏料進步到使用現成顏料,他們失去的是雜務,獲得的是更多時間專注於構圖和表達。
作者:簡光正