# 面向 AI 編碼代理的規範驅動開發

Canonical: https://specscore.md/zh-tw/spec-driven-development/

SpecScore 是一種用於規格說明的開放、可 lint 的檔案格式，用 Markdown 和 YAML（YAML Ain't Markup Language）寫成，並由命令列介面（CLI）檢查這些檔案。 **規範驅動開發（SDD）是一種實踐，其中一份書面、可測試的規範——需求與驗收標準—— 是構建程式碼並據以驗證程式碼的唯一可信來源。** 與其直接從提示詞或工單走向程式碼， 你先就軟體必須做什麼達成一致，然後按照這份規範來構建。如今 AI 代理已經在編寫大量程式碼， 規範正是讓它們持續構建正確東西的關鍵。

- 規範是唯一可信來源；程式碼由它衍生，並對照它來檢查。
- 需求與明確的驗收標準配對，因此「完成」是可測試的，而非主觀的。
- AI 代理向規範查詢意圖，而不是從程式碼中猜測——更少的錯誤構建。
- 它與測試驅動開發互補，而非取而代之。

最後更新：2026年10月30日

## 什麼是規範驅動開發？

規範驅動開發顛倒了通常的工作順序。它不把規範當作事後補寫的文件——也不把它完全跳過—— 而是讓規範成為首要的產物。程式碼、測試和評審都追溯回它。

這個意義上的規範不是一堵文字牆。它是結構化的：一組**需求**，每條都帶有明確的**驗收標準**， 以可測試的措辭說明要讓該需求被滿足，什麼必須為真。正是這種結構， 讓評審者、測試套件和 AI 代理都能以相同的方式解讀同一份文件。

規範還是一個**活的產物**。當需求改變時，規範先改變，程式碼隨之跟進—— 因此規範永遠不會漂移成虛構。

## 為什麼現在重要：AI 抬高了賭注

AI 編碼代理生成程式碼的速度遠快於人能閱讀它的速度。這轉移了瓶頸。難的部分不再是敲出實現， 而是**把意圖說明得足夠清楚，使生成的程式碼就是你想要的程式碼**。 一個被給到模糊提示詞的代理，會自信產出看似合理卻錯誤的東西，而且是以機器的速度。

規範就是那道護欄。當預期行為和驗收標準被寫下來，代理就有了一個明確的構建目標， 以及一份據以驗證的檢查清單——而人類評審者在任何程式碼存在之前，就有了一個固定的東西可以核准。 SDD 是團隊避免讓 AI 的速度變成 AI 重工的方式。

## 規範驅動開發如何運作

工作流程是一個循環，而不是一份一次性的文件：

- **捕捉意圖。** 在確定解決方案之前，先記錄尚未成形的方向——問題、目標、未決問題。
- **規定行為。** 把達成一致的方向轉化為需求，每條都帶有明確、可測試的驗收標準。
- **分解為計畫。** 把規範拆成循序的任務，每個任務都引用它所滿足的驗收標準。
- **實現。** 按照規範，逐個任務地構建——由人或 AI 代理完成。
- **對照標準驗證。** 用驗收標準而非感覺來檢查結果。
- **讓規範保持鮮活。** 當需求改變時，先更新規範；程式碼隨之跟進。

## 規範驅動開發的好處

- 分歧在規範評審期間浮現——成本低——而不是在實現之後——成本高。
- 「完成」是客觀的，因為驗收標準是可測試的。
- 規範是所有人的共享上下文：產品、工程和 AI 代理。
- 變更可追溯——每個任務都指回它所滿足的標準。

### 為什麼它對 AI 代理尤其有幫助

- **機器可讀的意圖：** 代理直接讀取需求，而不是從程式碼中推斷它們。
- **需要載入的上下文更少：** 代理查詢規範中相關的一片，而不是整個程式碼儲存庫。
- **可驗證的輸出：** 驗收標準給代理一個具體的通過/不通過目標。
- **可追溯性：** 生成的程式碼可以回溯到促成它的需求。

## 規範驅動開發與相關實踐的對比

 實踐 唯一可信來源 與 SDD 的關係 測試驅動開發 程式碼層面失敗的測試 互補——驗收標準成為那些測試。 傳統 PRD 為人撰寫的散文 結構化程度較低；不能直接測試，也不可被機器讀取。 僅靠提示詞（“vibe coding”） 提示詞和模型的猜測 沒有持久、可評審的目標——這正是 SDD 存在要修復的問題。

要檢視 SpecScore 與其他規範工具的詳細對比，請參見[對比頁面](/zh-tw/vs/)。

另見與以下工具的對比： [Kiro](/zh-tw/vs/kiro/), [Tessl](/zh-tw/vs/tessl/), [BMAD Method](/zh-tw/vs/bmad-method/), [Task Master AI](/zh-tw/vs/task-master-ai/).

這些工具放在一起——GitHub Spec Kit、OpenSpec、Kiro 以及其他——見[2026 年最佳規範驅動開發工具](/zh-tw/spec-driven-development/tools/)。

如何寫出 AI 程式代理能夠核對的驗收標準，見[如何撰寫驗收標準](/zh-tw/articles/acceptance-criteria/)。

Kiro 需求所用的 EARS 句式，見[EARS 需求語法](/zh-tw/articles/ears-requirements/)。

如何在持續整合中 lint 這份規格，見[在 CI 中 lint 規格](/zh-tw/articles/lint-specs-in-ci/)。

含需求、驗收標準、計畫和任務的 Markdown 功能規格範本（產品需求文件，PRD）見[Markdown PRD 範本](/zh-tw/articles/feature-spec-template/)。

用 Claude Code 和 Cursor 做規範驅動開發：功能檔案裡寫什麼，`specscore agent setup` 寫什麼，以及如何在迴圈和 CI 中執行 `specscore spec lint`，見 [用 Claude Code 和 Cursor 做規範驅動開發](/zh-tw/articles/claude-code-specs/)。

## 權衡，以及何時不要使用它

規範驅動開發並非免費。它把精力前置到在任何程式碼執行之前去思考和書寫， 對於一次性指令稿或用完即棄的實驗來說，這是一筆錯誤的交易。而且規範只有在保持最新時才有幫助—— 一份任其腐爛的規範會變得具有誤導性，比沒有還糟。當工作大到值得規劃、需要被維護， 或要交給 AI 代理大規模構建時，SDD 才會獲得回報。

## 在實踐中與 AI 代理一起做規範驅動開發

要與 AI 代理一起執行 SDD，你需要兩樣東西：一種你的團隊和代理都能理解的**機器可讀的 規範格式**，以及一種讓代理**讀取、寫入和驗證**這些規範的方式。

**SpecScore** 正是這樣的一種實現。它是一種面向特性、需求和驗收標準的開放 Markdown + YAML 格式——你儲存庫中的純檔案——並配有一個 CLI，供你的代理呼叫以查詢、 編輯和 lint 它們。由於結構是機器可讀的，代理可以問「我接下來該構建什麼？」， 得到未完成的需求及其驗收標準，然後對照它們檢查自己的工作。它與工具無關，且[開源](https://github.com/specscore/specscore)。

從 [面向你的編碼代理的 AI 技能](/zh-tw/ai/)開始，或[安裝 CLI](/zh-tw/cli/)。

## 常見問題

規範驅動開發和測試驅動開發是一回事嗎？

不是。TDD 在程式碼層面從失敗的測試驅動實現。規範驅動開發在更上一層運作：它先把預期行為和驗收標準固定在一份書面規範中。兩者是互補的——規範中的驗收標準往往會成為 TDD 隨後驅動的那些測試。

規範驅動開發會拖慢你嗎？

它在寫程式碼之前增加了時間，卻減少了重做錯誤東西所花的時間。對於一次性指令稿，這點開銷並不值得。但對於 AI 代理大規模生成的東西，或團隊必須維護的東西，先寫規範通常從頭到尾都更快。

規範和 PRD 有什麼區別？

PRD 通常是面向人的散文。規範驅動開發中的規範是結構化且可測試的——帶有明確驗收標準的離散需求——因此評審者和 AI 代理都能據以精確地行動。

AI 編碼代理如何使用規範？

當規範可被機器讀取時，代理會向它查詢與當前任務相關的需求和驗收標準，而不是載入整個程式碼庫，然後對照這些標準檢查自己的輸出——這是對看似合理卻錯誤的程式碼的一道防護。

SpecScore 是什麼？

SpecScore 是一種用 Markdown 和 YAML 寫成的、開放且可 lint 的規格檔案格式，並帶有查詢、編輯和 lint 這些檔案的命令列介面（CLI）。格式在公開儲存庫 [specscore/specscore](https://github.com/specscore/specscore)。

SpecScore 使用什麼授權？

公開儲存庫 [specscore/specscore](https://github.com/specscore/specscore) 中的規範與文件是 [CC BY 4.0](https://github.com/specscore/specscore/blob/main/LICENSE)。[specscore/specscore-cli](https://github.com/specscore/specscore-cli) 中的參考命令列介面（CLI）是 [Apache-2.0](https://github.com/specscore/specscore-cli/blob/main/LICENSE)。

規格驅動開發是否綁定一家 AI 供應商？

不綁定。規格是儲存庫裡的純文字檔。CLI 是本機程式。本站的 AI Skills 為能執行技能的代理包裝這個 CLI。格式本身不要求單一供應商。

如何安裝 CLI？

按 [/zh-tw/cli/install/](/zh-tw/cli/install/) 安裝，或從 [AI Skills](/zh-tw/ai/) 開始。CLI 程式發布在 [specscore/specscore-cli](https://github.com/specscore/specscore-cli)。
