AI:SDD下的利器 Spec Kit 真的好用嗎?
前言
Spec Kit 是 SDD(Specification-Driven Development)理念下誕生的工具。2020 年後,隨著 AI 浪潮逐漸襲來,SDD 開始受到關注;尤其在 2025 年,LLM 的快速迭代讓社群有了大量討論,探討 AI 輔助開發的可能性,Spec Kit 便應運而生。
Spec Kit 快速體驗
10 秒內讓你快速理解社區火紅的 Spec Kit 究竟有什麼魔力!
軟體開發方法論比較(可選閱讀)
在認識 Spec Kit 之前,先來了解各種軟體開發方法論的差異,這有助於理解 SDD 的定位。
傳統開發(中小企業主流)
情境: 客戶說:「我想要一個會員登入功能。」
流程:
- 拿到需求: 工程師開始想像登入畫面長什麼樣子
- 直接寫程式: 馬上開始寫程式碼
- 測試: 寫完後,手動點擊畫面試試看。「看起來可以登入!」
- 交付與修改: 客戶或 QA 發現問題:「密碼錯誤三次應該要鎖帳號,你沒做!」工程師只好回去修改,但可能不小心改壞了其他功能
核心問題:
專案規模擴大時,可能改1錯10
客戶需求往往模糊,規格一旦做錯可能全部打掉重來
備註:所以一般 PM 或 UIUX 團隊都會先提供 Prototype 給客戶確認,但就算如此,仍可能在開發完成後發現不符合需求。
TDD(Test-Driven Development)
為了解決傳統開發的核心問題:改1錯10(確保事情要做「正確」!)
情境: 客戶說:「我想要一個會員登入功能。」
流程:
| 階段 | 說明 |
|---|---|
| 🔴 紅燈 | 為接下來要開發的功能撰寫測試用例,這些測試一定會失敗(因為程式還未開發) |
| 🟢 綠燈 | 撰寫程式碼,讓測試用例通過 |
| 🔄 重構 | 優化撰寫的程式碼 |
核心問題:
學習曲線高
開發時間增加(這也是大多企業不做的原因)
只保證程式的品質(做正確),但不保證程式的方向(是否做對用戶需求)
商業市場上,先推出產品往往比產品品質更重要。例如 ChatGPT 推出就造成轟動,直到 2025 年市佔率依舊占了一大塊。
ATDD(Acceptance Test-Driven Development)
為了解決傳統開發核心問題:釐清客戶的模糊需求,確保「做對方向」!
情境: 客戶說:「我想要一個會員登入功能。」
流程:
- 團隊討論: PM、RD、QA、SA、客戶(視情況)一起坐下來討論需求
- 定義驗收標準: 確保要做到什麼程度才算合格交付
- 開發功能: 根據驗收標準進行開發(可能採傳統開發或 TDD)
- 驗收交付: PM 或客戶根據驗收清單進行驗收,直到通過
核心問題:
溝通成本較高(技術人員與非技術人員的溝通)
考驗團隊文化
BDD(Behavior-Driven Development)
為了解決 ATDD 的問題:溝通成本高
情境: 客戶說:「我想要一個會員登入功能。」
流程:
- 團隊討論: 同ATDD,團隊成員一同討論,但使用「Given-When-Then」工具,作為技術與非技術人員的溝通橋樑來撰寫規格
- 定義驗收標準: 確保要做到什麼程度才算合格交付
- 開發功能: RD 根據規格開發功能
- 自動化測試: 「Given-When-Then」規格文件可轉為自動化測試,確保品質
核心問題:
學習成本高
考驗團隊文化
開發方法論小結
每一種軟體開發模式都有其利弊,大多時候會採用 Hybrid(混合) 方式:
| 場景 | 常見做法 |
|---|---|
| 政府專案 | 會有驗收標準才撥款(ATDD 精神) |
| 快速迭代產品 | 定義 User Story 確認方向 |
| 大型維運系統 | Tech Leader 更在乎「做正確」,確保系統年穩定運行率 > 95% |
Spec Kit 操作說明懶人包
實際使用心得
使用 SDD 後,總結了我 2025 年底使用 Spec Kit 的看法:
缺點
非常燒 Tokens,Claude Pro 的週額度約 2 天就用完了(我的籃球專案進度都還沒 1/10)
走 Spec Kit 流程到 /tasks 階段時,若發現漏加規格,整個流程需重跑,Tokens 再見
優點
Spec 部分確實寫得很詳細,能將模糊的流程更具體化
產出的最終成品品質更好(畢竟燒了那麼多 Tokens)
建議
為了解決燒 Tokens 的問題,目前社區討論中,我個人贊同 Hybrid 派 的做法:
建議流程
只用 Spec Kit 產生規格文件
讓 Spec Kit 專注在它最擅長的事:將模糊需求轉為詳細規格(eg:例如使用 Gemini CLI 來生成規格,前提是自己要先把需求寫過一版)
使用 AI工具 進行開發
使用 AI 工具,例如 Cursor、Claude CLI 等,手動去增加 Spec 來生成程式碼
AI工具自動更新規格文件
開發完成後,請AI工具自動將規格更新到需求文件上,一旦要進行需求調整或者擴充時,可以讓 LLM 更快擁有必備的知識
這種方式的最終成品表現上,品質也是相當不錯的,這也是我目前比較推崇的方式!
(後續如果有更好的做法,屆時再來更新)





