AI-Chain

Spec Kit:我為什麼把它看成「規格先行」的 AI 開發底座

Spec Kit 把需求、規格、計畫、任務和實作串成一條可重複的 AI 開發流程。我認為它真正有價值的地方,不是再多一個編碼工具,而是把前期對齊這件最容易失控的事,變成可執行、可驗證的工作方式。

分享:
Spec Kit:我為什麼把它看成「規格先行」的 AI 開發底座

Spec Kit:我為什麼把它看成「規格先行」的 AI 開發底座

我最近看 Spec Kit,最大的感受不是「又多了一個 AI 編碼工具」,而是它把很多團隊一直想做、卻很難做好的事情,整理成一條比較完整的開發流程。它的核心不是直接替你寫出最多程式碼,而是把需求、規格、技術計畫、任務拆解,接到最後的實作階段,讓 AI 協作不再只是靈感輸出,而是有骨架可依。

這件事對我來說很重要,因為大多數 AI coding 問題,真正卡住的往往不是「模型不會寫」,而是「團隊一開始說不清楚」、「需求一直變」、「寫到一半才發現彼此理解不同」。Spec Kit 的價值,就在於它試著把這些混亂前移,先讓規格變得可執行,再讓程式碼跟著規格走。

它到底是什麼

根據官方文件,Spec Kit 是一套開源工具組,目標是幫助開發者走進 Spec Driven Development。它的入口很直接:先安裝 specify-cli,再用 specify init 建立專案,接著透過幾個標準化命令把流程跑起來。

官方把流程拆成四個主要階段:

  1. constitution,先建立專案原則。
  2. specify,定義你要做什麼,以及為什麼要做。
  3. plan,把技術棧、架構與實作方式講清楚。
  4. tasksimplement,把計畫變成可執行任務,再往下實作。

這個順序很像把一個模糊想法,先磨成一份可以討論的規格,再磨成可以執行的工程工單。對我來說,這就是它比一般「AI 幫我寫碼」工具更有工程味的地方。

我認為它最有價值的 4 個點

1. 它先處理「怎麼想清楚」,不是直接衝程式碼

很多 AI 工具的問題是太快進入實作。當你還沒有把邊界條件、成功標準、限制、非功能需求講清楚時,模型很容易給你一份看起來完整、其實很鬆散的結果。

Spec Kit 的做法剛好相反。它先逼你把 constitutionspecify 做完,等於先把決策邏輯固定下來,再談後面的技術方案。這對需要多人協作的團隊特別重要,因為一旦規格寫得夠清楚,AI 產出的內容就比較容易維持一致。

2. 它不是單點工具,而是一整套工作流

官方文件提到,它支援 30 多種 AI coding agent 整合,包含 Claude Code、GitHub Copilot、Gemini CLI 等等。這代表它不是綁死某一個模型或某一個終端工具,而是把方法論做成可攜式工作流。

這種設計我很喜歡。因為真正難複製的,不是某個模型今天寫得多好,而是整個團隊怎麼在不同工具之間維持同一套節奏。Spec Kit 想做的,就是把這個節奏標準化。

3. 它允許你客製,但不會一開始就失控

官方還提供 extensionspresets。簡單講,就是它不是死板的模板機器,你可以依照團隊流程改造,但改造是有層次的,不是隨手亂改幾個提示詞就算數。

對企業或長期專案來說,這點很實際。因為每個團隊都有自己的規範,例如命名方式、審查流程、合規要求、架構偏好。Spec Kit 的延展方式,讓這些規則可以被納入工作流,而不是藏在大家各自腦中。

4. 它把「任務拆解」變成可執行產物

我一直覺得,很多 AI 協作失敗,不是因為沒有計畫,而是計畫停留在文件層,最後沒有落地成可追蹤的任務。

Spec Kit 的 /speckit.tasks/speckit.implement 很關鍵。前者把規格和計畫拆成任務,後者再把任務推到實作。這種轉換,如果做得夠好,就能減少「文件寫完了,沒人真的照著做」的情況。

如果我要第一次開始用,我會怎麼做

官方文件給得很清楚,基本前置條件是 Linux 或 macOS,Windows 也支援;另外需要 Python 3.11 以上、Git,以及一個 AI coding agent,還有 uv

我會先照官方建議裝 specify-cli

uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z

然後建立專案:

specify init my-project --integration copilot

初始化完以後,我會先做三件事:

  1. 先跑 specify version,確認工具真的裝對。
  2. 先寫 constitution,把專案原則固定下來。
  3. 再跑 specifyplantasks,不要一開始就急著進 implement

如果是互動式終端,系統會提示你選整合的 agent;如果是非互動模式,預設會走 GitHub Copilot,除非你明確指定 --integration。這種設計很務實,因為它考慮到命令列、CI、批次流程都可能是使用場景。

我會特別注意的幾個坑

坑 1:不要把 Spec Kit 當成萬靈丹

它能幫你建立流程,但不能保證你的規格本身就好。如果需求一開始就很模糊,AI 只是更快把模糊放大而已。也就是說,它提升的是「把事情做對齊」的效率,不是自動替你做產品決策。

坑 2:安裝來源要小心

官方文件有特別提醒,正式維護的套件只來自 GitHub 的 github/spec-kit 倉庫,名稱相近的其他套件不一定是官方版本。這點不能忽略,因為工具鏈一旦混到非官方版本,後面出問題會很難查。

坑 3:小功能不一定值得全流程上 Spec Kit

如果只是改一個小按鈕、修一個很局部的 bug,整套流程可能會顯得有點重。Spec Kit 更適合用在需要明確規格、多人協作、可持續演進的功能上。換句話說,它不是為了每一個 commit,都一定要啟動全套儀式。

我會怎麼判斷它適不適合團隊

如果你的團隊常常遇到下面幾種情況,我會覺得 Spec Kit 值得試:

  • 需求常常在開發中途改口。
  • PM、設計、工程師對同一件事的理解差很多。
  • 你想讓 AI 產出更可控,而不是只追求更快。
  • 你希望規格、計畫、任務和實作有比較清楚的追蹤關係。
  • 你已經有 coding agent,但缺一套更穩定的前期方法。

如果你的團隊現在已經很熟悉自己的需求整理節奏,那 Spec Kit 可能不是救命藥,但它仍然可能是一個很好的結構化參考。尤其是當你想把經驗沉澱成方法,而不是只留在個人習慣裡的時候。

我的結論

我會把 Spec Kit 看成一個很務實的訊號:AI 編碼的下一步,不只是更會寫 code,而是更會把「怎麼做」前面的那一大段也工程化。

它最吸引我的地方,不是某個單一指令有多神,而是它把規格、計畫、任務、實作串成一條可以重複使用的路徑。對我來說,這比「單次產出一大坨程式碼」更有長期價值。

如果你也在思考,怎麼讓 AI 真的進到開發流程,而不是只停留在 demo 或聊天紀錄裡,我會建議你先看 Spec Kit。它不一定適合所有專案,但它很值得當成一個方法論樣板來研究。


參考資料