











在 AI 編碼助手(如 GitHub Copilot、Claude Code、Cursor)普及之前,軟件開發遵循 "代碼優先、文檔次之" 的模式,面臨三大核心痛點:
| 痛點 | 具體表現 | 影響 |
|---|---|---|
| 意圖與實現鴻溝 | 需求文檔模糊、變更頻繁,代碼與文檔長期脫節 | 溝通成本高,重構風險大,維護困難 |
| 協作效率低下 | 團隊成員對需求理解不一致,缺乏統一 "事實來源" | 重複工作多,衝突頻繁,交付週期長 |
| 質量保障滯後 | 測試在編碼後進行,缺陷發現晚,修復成本高 | 產品穩定性差,用戶體驗受損 |
隨著 AI 編碼工具的普及,這些問題被進一步放大:AI 能快速生成代碼,但缺乏對整體系統架構和業務邏輯的理解,容易產生 "局部正確但全局錯誤" 的代碼;同時,開發者過度依賴 AI 提示詞,導致代碼質量參差不齊,可維護性急劇下降。
規範驅動開發 (Spec-Driven Development, SDD) 是生成式 AI 時代下適配工程化開發的新型軟件開發方法論,核心是先由技術人員定義簡潔、可測試、形式化的系統規格說明 (Spec),將其作為人、團隊與 AI 之間的 "動態契約" 和開發過程的唯一事實來源。
SDD 帶來三大革命性轉變:
SDD 並非全新概念,而是在傳統軟件工程理論基礎上的進化:
| 對比維度 | Spec-Kit (GitHub) | OpenSpec | Superpowers |
|---|---|---|---|
| 核心定位 | "藍圖派":從零開始的完整規劃,適合 0-1 項目 | "園丁派":現有系統的增量改造,適合 1-n 項目 | "全流程管家":從需求到交付的完整開發流程管理 |
| 設計理念 | "規格即法律"(固定規則體系),強調門控流程和詳盡文檔 | "OPSX 靈活工作流"(動作而非階段),圍繞變更提案,流程簡潔 | "測試優先,證據驅動",系統化降低複雜度 |
| 哲學基礎 | 深度規範驅動,追求流程完整性和可控性 | 輕量級規範驅動,追求快速迭代和極簡主義 | 方法論驅動 (技能系統),強調心理學引導 AI 行為 |
| 適用團隊 | 組織完善、有嚴格流程合規的大型團隊 | 敏捷團隊、初創企業、需要快速迭代的項目 | 獨立開發者、質量導向團隊、AI 代理密集型項目 |
| 對比維度 | Spec-Kit (GitHub) | OpenSpec | Superpowers |
|---|---|---|---|
| 技術棧 | Python (uv 包管理器),CLI 驅動,支持多平臺 | TypeScript (npm),Web UI+CLI 雙模式,輕量級 | Markdown+JavaScript 插件,編輯器集成,跨平臺 |
| 核心流程 | 7 步線性流程:spec→plan→tasks→implement→verify→document→evolve | 3 步增量流程:propose→apply→archive,管理規範增量 | 5 步閉環流程:brainstorm→isolate→plan→TDD→review |
| 規範形式 | 結構化 Markdown,支持複雜場景和約束條件 | 極簡 YAML,聚焦變更點,最小化文檔量 | 自然語言 + 測試用例,強調可執行性和證據驗證 |
| AI 集成 | 內置支持 15+AI 編碼助手,統一接口管理 | 專注 Claude 和 Copilot,強調輕量級集成 | 深度集成 GitHub Copilot,支持蘇格拉底式對話 |
| 變更管理 | 動態憲法機制,規範版本化,完整審計追蹤 | 變更隔離,共識驅動,風險控制優先 | 微任務隔離,自動衝突解決,快速回滾機制 |
| 學習曲線 | 陡峭,適合有流程意識的團隊 | 平緩,適合快速上手的場景 | 中等,需要理解測試驅動理念 |
針對不同場景,建議結合項目類型、團隊規模、規範複雜度等多維度因素,綜合評估選擇最適合的 SDD 工具:
| 決策因素 | 選擇 Spec-Kit | 選擇 OpenSpec | 選擇 Superpowers |
|---|---|---|---|
| 項目類型 | 全新項目、企業級項目 | 增量變更、遺留系統 | 原型開發、AI 密集型 |
| 團隊規模 | 10 人以上、跨團隊 | 3-10 人、敏捷團隊 | 1-3 人、獨立開發者 |
| 規範複雜度 | 高 (需要詳細約束) | 低 (聚焦變更點) | 中 (強調測試用例) |
| 流程要求 | 嚴格 (門控機制) | 靈活 (增量流程) | 自動化 (全流程) |
| 學習成本 | 高 (需要培訓) | 低 (快速上手) | 中 (理解測試驅動) |
Spec-Kit 的核心創新在於將規範從靜態文檔轉變為可執行的開發指令:
Spec-Kit 的核心是七階段門控開發流程,每一階段均對應可驗證的工程產出,形成從需求到實現的強約束鏈。各環節嚴格順序執行,未經前一階段驗收,不得進入下一階段。
| 階段編號 | 階段名稱 | 核心目標 | 產出文件 | 關鍵約束 |
|---|---|---|---|---|
| 1 | Constitution | 建立項目憲法與技術紅線 | constitution.md | 定義禁止項、審批項、允許範圍;需團隊共識簽署 |
| 2 | Specify | 將自然語言需求轉化為形式化規範 | spec.md | 必須使用結構化語義模板,禁止模糊表述 |
| 3 | Clarify | 消除歧義,確認邊界與例外 | clarification.md | 所有模糊點必須由產品/架構師簽字確認 |
| 4 | Plan | 設計技術實現路徑與架構選型 | plan.md | 必須包含技術棧、數據流、依賴圖、風險評估 |
| 5 | Tasks | 拆解為可執行、可追蹤的開發任務 | tasks.md | 每項任務需綁定負責人、預估工時、驗收標準 |
| 6 | Analyze | 驗證規範一致性與變更影響 | 自動化分析報告 | 形式化驗證通過率 ≥95%,影響範圍必須可視化 |
| 7 | Implement | 由AI生成代碼並提交審查 | 生成代碼 + 測試用例 | 代碼必須與 spec.md 保持雙向追溯,禁止手動覆蓋 |
所有階段均通過 specify CLI 工具驅動,每個環節的交付物自動納入版本控制,形成可審計、可回溯、可驗證的工程契約鏈。
任意環節未通過門控檢查,系統將阻斷後續流程,確保“規範即權威”。
Spec-Kit 引入項目憲法 (Project Constitution) 概念,作為項目的 "最高法律":
Spec-Kit 的核心哲學是規範即唯一事實來源,所有開發活動都圍繞規範展開:
Spec-Kit 強調先明確意圖,再考慮實現,與傳統 "實現優先" 模式形成鮮明對比:
Spec-Kit 重新定義了開發者與 AI 的協作模式,從 "AI 輔助編碼" 升級為 "規範驅動 AI 開發":
Spec-Kit 採用模塊化、可擴展的架構設計,核心分為四層,從底層到上層依次為:
Spec-Kit 是 GitHub 官方開源的規格驅動開發(Spec-Driven Development, SDD)工具包。 它通過標準化的工作流(Specify → Plan → Tasks → Implement),幫助開發者利用 AI 編碼助手(如 claude、opencode 等)構建高質量軟件,解決“氛圍編碼”(Vibe Coding)導致的代碼質量不一和流程缺失問題。
Spec-Kit 基於Python 開發,依賴 uv 作為包管理器和工具運行器,因為它比傳統的 pip/venv 更快且更易於管理。
# 安裝 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# 驗證安裝
uv --version
# 使用 uv 安裝 Spec-Kit
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
# 驗證安裝
specify --version
初始化現有項目:
# 在當前目錄初始化
specify init .
# 指定特定的 AI 助手
specify init . --ai opencode
創建並初始化新項目:
# 基本初始化
specify init project01
# 指定特定的 AI 助手
specify init project01 --ai claude
# 指定腳本類型 (Mac/Linux默認sh,Windows默認ps,也可強制指定)
specify init project01 --script sh
初始化過程中的交互提示:
# 編輯 .gitignore 文件,添加以下內容(根據你使用的 AI 工具調整)
.opencode
.omo
.claude
.specify
specs
初始化完成後,打開你的 AI 編碼助手(如在終端輸入 opencode、claude 啟動對應編程工具,或在 VS Code/Cursor 中打開項目)。
檢查是否可用以下 Slash Commands(斜槓命令):
| 命令 | 功能描述 | 階段 |
|---|---|---|
| /speckit.constitution [必須] | 建立項目原則和非談判性準則 | 0. 準備 |
| /speckit.specify [必須] | 定義“做什麼”和“為什麼”,生成規格文檔 | 1. 規格化 |
| /speckit.clarify | 在規劃前通過提問澄清模糊需求 | 1.5 澄清 |
| /speckit.plan [必須] | 基於規格和技術棧生成技術實施計劃 | 2. 規劃 |
| /speckit.tasks [必須] | 將計劃分解為可執行的、有序的任務列表 | 3. 任務分解 |
| /speckit.analyze | 分析任務一致性和覆蓋率 | 3.5 分析 |
| /speckit.implement [必須] | 執行任務,生成代碼和測試 | 4. 實現 |
典型工作流示例:
問題:如何指定Spec文檔的語言和風格 ?
## Communication Guidelines
- **Language**: All specifications, plans, tasks, code comments, and commit messages MUST be written in **Simplified Chinese (zh-CN); unless explicitly requested otherwise.
- **Tone**: Professional, concise, and direct.
我們以 "XXL-API 項目代碼重構" 為例,展示 Spec-Kit 的完整實踐流程。
本次改造項目為正式開源項目,對代碼規範性與質量存在要求;另外,該重構需求涉及 “9個功能模塊”、“前後端代碼邏輯修改”,累計需要修改 130+ 項目文件,為中型顆粒度需求。本次改造需求存在一定複雜度。
進入項目根目錄,執行如下命令生成 Spec-Kit 工程契約鏈:
specify init .
執行後,會生成 .specify 契約鏈文件目錄:

執行如下命令生成 “項目憲法”(例如:項目約定、技術棧與約束、開發工作流等),確保後續規範和代碼實現的一致性和可控性。
# 創建項目憲法
/speckit.constitution
# 創建項目憲法,補充指定中文約束(否則默認生成 英文 內容)
/speckit.constitution 補充1條規則:所有規範文檔使用中文描述
執行後將會生成 .specify/memory/constitution.md 文件,內容如下:

執行如下命令 + 填寫功能需求描述,生成 “功能規格(Spec)”:
/speckit.specify 針對XXL-API項目按照如下要求重構:
1、按照下面項目規範結構,重構重構項目目錄結構:
xxl-api-admin/src/main/java/com/xxl/api/admin
- /framework: 基礎框架代碼,包含公共的 登錄、util、過濾器等組件。
- /business:業務代碼,包含具體業務模塊的 controller、service、model、mapper 子分層代碼。
xxl-api-admin/src/main/resources/templates
- /framework:基礎模板,基礎框架實體 對應的。
- /business:業務模板,業務領域實體對應的。
xxl-api-admin/src/main/resources/mapper
- /framework:基礎Mapper文件,基礎框架實體 對應的。
- /business:業務Mapper文件,業務領域實體對應的。
2、業務代碼分類判斷邏輯:Java代碼部分,當前 com/xxl/api/admin/controller/biz 下除了 UserController 都是 業務領域,保留User相關Java代碼不變,其他按照規範調整。模板部分,當前 help.ftl、index.ftl、login.ftl 屬於基礎框架,其他屬於業務領域;Mapper部分,當前 XxlApiUserMapper.xml 屬於基礎框架,其他屬於業務部分。
執行後將會生成 .specify/specs/001-project-structure-refactor/spec.md 文件,內容如下:

執行如下命令,生成 “技術規劃”:
/speckit.plan
執行後將會生成 .specify/plans/001-project-structure-refactor/plan.md 文件,內容如下:

執行如下命令,生成 “任務清單”:
/speckit.tasks
執行後將會生成 .specify/tasks/001-project-structure-refactor/tasks.md 文件,內容如下:

執行如下命令,將會按照拆解任務(tasks.md)進行 “代碼生成”:
/speckit.implement
Agent會按照任務清單(tasks.md)逐個實現,每個任務完成後自動對照requirements.md檢查。
所有任務完成後,人工進行Review驗收,確認符合要求後合併代碼(當前該PR已合入 XXL-API master分支,交付符合預期)。

constitution.md一旦確定不要頻繁修改,確保所有參與者都遵循統一規則SPEC.md避免過度約束實現細節,給AI留出技術優化空間此內容由慣性聚合(RSS閱讀器)自動聚合整理,僅供閱讀參考。 原文來自 — 版權歸原作者所有。