概覽與核心概念

SDD 讓規格成為可執行的核心,階段明確、每步可驗證,避免一次爆量改動。

Spec Kit 是什麼?

Spec Kit 是一套實踐 規格驅動開發(Specification-Driven Development,SDD) 的開源工具包,由 GitHub 與 Microsoft 聯合推廣。它的核心理念很簡單:在寫任何一行程式碼之前,先把「要做什麼」與「成功長什麼樣子」寫清楚。規格文件不只是文字說明,更是驅動 AI 輔助開發、任務拆解、自動化驗證的單一事實來源(Single Source of Truth)。

核心定義:SDD 將規格(Specification)置於開發流程的最前端,讓需求、架構、任務與實作都圍繞著同一份規格文件進行,確保 AI 指令精準、人工審查有據可依、最終交付可被驗收。

傳統開發的三大痛點

在引入 SDD 之前,許多團隊都深受以下問題所苦:

研究顯示,需求缺陷(Requirement Defects)若在規格階段就被發現,修復成本僅為上線後發現的 1/100。SDD 正是把這道防線拉到最前面。

SDD 核心理念

SDD 建立在三個支柱之上:

規格先行(Spec-First)→ 小步驗證(Incremental Verification)→ 持續迭代(Continuous Refinement)

核心四階段流程

1

Specify — 定義規格

回答「誰在什麼情境下要解決什麼問題,成功長什麼樣子?」。產出 spec.md,包含使用者角色(User Role)、使用者旅程(User Journey)、功能需求、非功能需求(效能、資安、可存取性)以及明確的驗收標準(Acceptance Criteria)。此階段最重要的產物是可量化的成功條件,讓後續所有決策都有依歸。

2

Plan — 技術規劃

回答「用什麼架構與技術,怎麼滿足效能、資安、維運限制?」。產出 plan.md,涵蓋技術棧選型理由、系統架構圖、資料模型、API 設計、部署策略與風險評估。此階段讓架構決策透明化,避免實作時才發現技術路線不可行而大規模重構。

3

Tasks — 任務拆解

回答「如何拆成可驗證的小任務,先做哪一塊風險最低?」。產出 tasks.md,將整個功能拆解成 20–60 分鐘可完成的獨立工作單元,每個任務都帶有明確的輸入、輸出與驗收條件,並標注依賴關係與優先序。這份文件也是給 AI 執行器(如 Claude Code)最精準的指令集。

4

Implement — 逐步實作

回答「每一步怎麼驗證,不通過要回哪一層修正?」。依序執行 tasks.md 中的任務,每完成一個任務立即執行對應的驗證步驟(單元測試、整合測試或手動驗收)。若驗證失敗,根據問題性質決定回到 Tasks 層修正拆解方式,或回到 Plan 層調整架構,而非盲目繼續往前。

SDD 與 TDD 的關係與差異

許多人第一次聽到 SDD 時會問:「這跟測試驅動開發(TDD)有什麼不同?」兩者並不衝突,但層次不同:

TDD 關注的是「這段程式碼是否正確運作」(How) SDD 關注的是「我們是否在做正確的事」(What & Why)
最佳實踐:用 SDD 確保做對的事,用 TDD 確保把事做對。兩者同時採用時,開發品質與速度的提升效果最為顯著。

SDD 帶來的具體好處

適用場景

SDD 並非銀彈,以下場景最能發揮其價值:

對於小型快速原型(Spike / PoC),SDD 的完整流程可能顯得過重。此時可採用輕量版:只寫一份簡短的 spec.md(半頁即可)來確認方向,其餘流程視需求省略。

三份核心文件介紹

Spec Kit 的一切圍繞著三份 Markdown 文件運作:

S

spec.md — 功能規格

定義「做什麼」與「為誰做」。包含功能概述、使用者角色、使用者旅程的逐步描述、功能需求清單、非功能需求(效能目標、瀏覽器支援、無障礙標準等)以及詳細的驗收標準。這是整個開發流程中唯一的需求事實來源,所有後續文件都必須對齊此文件。

P

plan.md — 技術計畫

定義「怎麼做」與「用什麼做」。包含技術棧選型與理由、系統架構說明、元件/模組劃分、資料流與 API 設計、資料庫 Schema 草稿、部署與維運考量,以及技術風險與對應的緩解策略。Plan 的品質直接決定任務拆解的準確性。

T

tasks.md — 任務清單

定義「誰做什麼、先後順序如何」。每個任務條目包含:任務編號、標題、詳細描述、輸入條件(相依的前置任務或資料)、輸出產物(程式碼、測試、文件)以及驗收步驟。任務粒度以 20–60 分鐘為佳,過大的任務需繼續拆分。這份文件可直接作為 AI 自動化執行的指令集。

總結:為什麼現在是採用 SDD 的最佳時機?

在 AI 輔助開發已成主流的今天,工程師的核心價值正在從「寫程式碼」轉移到「定義清晰的問題與驗收標準」。Spec Kit 提供了一套輕量、可落地的方法論,讓你不論使用哪種 AI 工具,都能以規格驅動 AI 的輸出,而不是被 AI 的隨機輸出所驅動。從下一個功能開始,試著先花 30 分鐘寫一份 spec.md,你會發現後續的實作速度與品質都將顯著提升。

立即開始:前往 安裝頁面 了解如何在你的專案中初始化 Spec Kit,或前往 流程頁面 深入了解每個階段的操作細節。