Files
ai-guide/translations/zh-TW/Vibe Coding 零基础教程/10 编程工具/工具实战/Spec-kit:规范驱动开发框架.md
T

9.0 KiB
Raw Blame History

Spec-kit:規範驅動開發框架

讓 AI 按照專業流程開發專案

你好,我是程式設計師魚皮。

在前面的文章中,我們學習了如何用 AI 快速生成程式碼。但你可能會發現,AI 有時候會 「想到哪寫到哪」,生成的程式碼可能不符合預期,或者專案做到一半就亂套了。

有沒有辦法讓 AI 按照專業的流程來開發專案呢?

這篇文章,我會介紹 Spec-kit,一個由 GitHub 推出的規範驅動開發框架,讓 AI 像專業程式設計師一樣工作。

讓我們開始吧!

一、什麼是 Spec-kit

Spec-kit 是 GitHub 推出的規範驅動開發(SDD)框架。

什麼是規範驅動開發呢?

傳統開發流程是:想到什麼寫什麼,邊寫邊改,最後再補文件。這樣容易導致需求不明確、程式碼和文件對不上。

而規範驅動開發的思路正好相反:先把需求寫成規範文件,並且把規範文件當作程式碼的唯一真相來源。你可以把規範文件理解為 "法律條文",它包含了詳細的需求描述、系統設計和介面定義。AI 必須嚴格遵守這些條文來生成程式碼,確保產出完全符合預期。

二、快速上手 Spec-kit

讓我通過一個實際例子,帶你快速上手 Spec-kit。

1、安裝 Spec-kit

首先打開終端,利用 uvx 命令直接安裝運行 Specify 工具,並初始化一個專案:

uvx --from git+https://github.com/github/spec-kit.git specify init my-project

選擇你使用的 AI 編程工具,Spec-kit 支援 Claude Code、GitHub Copilot 等幾乎所有主流編程工具。這裡我選 Claude Code

根據作業系統選擇腳本類型,Windows 選下面的,其他選上面的:

執行完這個命令後,會在當前目錄下創建一個 my-project 資料夾:

資料夾裡面包含了這些核心文件:

  • .specify/memory/constitution.md:專案的基本準則和約定
  • .specify/scripts/:一些可執行腳本
  • .specify/templates/:模板文件
  • .claude/commands/:定義了一套內建的斜槓命令,讓你在 AI 編程工具中可以直接調用

初始化程式還給了我們一些指引,告訴我們接下來如何運用這些命令來開發專案。

用 Claude Code 打開這個專案資料夾,就可以在對話中使用定義好的命令了。

2、標準化開發流程

接下來就是標準化的開發流程,參考 官方文件,主要分為 7 個步驟:

1Constitution 制定專案準則

運行 /speckit.constitution 命令,定義專案的基本原則、程式碼規範、效能標準等。這是專案的 "憲法",後續所有開發都要遵守。

比如:

/speckit.constitution 禁止使用藍紫漸變色風格的 UI

💡 如果你要做中文專案,最好在制定專案準則時就明確告訴 AI 「整個網站使用中文」。

AI 更新了專案準則文件:

建議每一步我們都用 Git 提交一個版本,這樣出了問題後能及時回滾,也便於我們看到每一步改動的文件。

2Specify 編寫功能規範

運行 /speckit.specify 命令,描述要做什麼功能、為什麼做、用戶需求是什麼。比如:

/speckit.specify 我想做個【自動提醒我喝水的網站】

AI 為這次的需求創建了一個新的 Git 分支,防止污染現有專案。在這個分支下創建了一個需求規格文件(spec.md) + 一個需求檢查文件(requirements.md)。

需求規格文件非常詳細,還包含了邊緣測試用例,針對用戶各種可能的操作進行處理。

需求檢查文件中記錄了 AI 對於需求的理解,打勾表示 AI 理解並確認了:

3)Clarify 釐清不明確的地方(可選)

如果你發現需求檢查文件中有的條目沒有打勾,那你需要通過 Clarify 命令來讓 AI 引導你進一步明確需求,直到所有的條目都打上勾。

運行 /speckit.clarify 命令,AI 會提出結構化的問題,讓你來回答。從而幫你填補需求中的空白,比如邊界情況、錯誤處理等。

4Plan 制定技術方案

運行 /speckit.plan 命令,讓 AI 決定用什麼技術棧、系統架構、資料模型、API 介面等。

制定技術方案完成,這次生成了一大堆文件,簡單了解一下:

  • CLAUDE.md 專案開發指南,記錄技術棧和專案結構,用於指導 Claude Code 接下來如何開發
  • quickstart.md 快速入門指南,包含 6 個實施階段和部署方案
  • plan.md 實施方案,定義了純客戶端架構、儲存策略、憲法合規性檢查等
  • data-model.md 資料模型設計,定義了 4 個核心實體(提醒設定、水量日誌、每日進度、歷史記錄)和儲存結構
  • research.md 技術研究文件,記錄了 8 項關鍵技術決策
  • contracts/api-contract.md API 介面文件

接下來,我們就可以準備開發實現了。

5Tasks 拆解任務

運行 /speckit.tasks 命令,把計劃拆解成可執行的任務列表,並標註依賴關係和優先級。

生成了一個任務列表文件,每一步要做什麼都非常清晰:

6Analyze 分析檢查(可選)

運行 /speckit.analyze 命令,檢查規範、計劃、任務是否完整一致,提前發現設計缺陷。

可以看到,AI 沒有檢查出問題,還讓我自信地進行下一步,真爽死了!

7Implement 執行實現

最後,運行 /speckit.implement 命令,讓 AI 按照任務列表生成程式碼。

大功告成,看一下效果~

因為我這裡始終沒有提到使用中文輸出,所以網站內容都是英文的,不過我覺得效果還可以。

三、Spec-kit 的優缺點

到這裡,我們已經學會了如何用 Spec-kit 開發完整專案,再複習一下完整流程:

即使不用 Spec-kit,我們開發完整專案時也可以人工遵循這些步驟。

這種模式最大的好處是 對齊。所有人都基於同一份清晰的規範文件工作,大家對需求的理解高度一致,既減少了溝通中的誤解,又能確保程式碼品質。

不過缺點也很明顯,對於小專案,本來直接寫程式碼幾分鐘就能搞定了,上面這套流程走下來差不多要半個小時!

所以這套流程比較適合團隊從 0 開始做完整的新專案,雖然流程比直接寫程式碼慢一些,但能大大降低返工的風險,長遠來看反而更高效。

寫在最後

看到這裡,相信你已經對 Spec-kit 有了基本的了解。

Spec-kit 不是萬能的,但在合適的場景下,它能幫你大幅提升專案品質。

如果你正在做大型專案、需要團隊協作、對程式碼品質要求高,那麼可以試試 Spec-kit。但如果你只是想寫個簡單的腳本或者快速驗證一個想法,直接讓 AI 生成程式碼會更快。

選擇合適的工具,才能事半功倍。

在接下來的文章中,我會繼續介紹其他規範化開發工具,幫你找到最適合自己的開發方式。

推薦資源

1)魚皮 AI 導航網站:AI 資源大全、最新 AI 資訊、免費 AI 教程

2)編程導航學習圈:學習路線、編程教程、實戰專案、求職寶典、交流答疑

3)程式設計師面試八股文:實習/校招/社招高頻考點、企業真題解析

4)程式設計師寫履歷神器:專業模板、豐富例句、直通面試

51 對 1 模擬面試:實習/校招/社招面試拿 Offer 必備