跳至主要内容

AI 協助規格撰寫指南

決策記錄: ADR-001: AI 協助規格撰寫策略

本指南說明 AppFuse 如何運用 AI 助手(Claude Code)協助規格撰寫,採用蘇格拉底式閉環模式,讓人做決策、AI 確保完整性。


核心原則

人提供方向與決策,AI 提供結構與完整性。

AI 在規格撰寫中的角色是思考夥伴,而非作者:

  • AI 提問,不替人回答
  • AI 分析缺口,不替人填充
  • AI 整理結構,不替人創造
  • AI 不自行添加額外想法,所有輸出都源自人的指示
  • 決定完成,AI 不催促

閉環模型

    ┌─────────────────────────────────────────────┐
│ │
▼ │
┌──────────┐ ┌──────────────┐ ┌─────────┐ │
│ 人提出想法 │───→│ AI 澄清與分析 │───→│ AI 搜集 │ │
│ (方向) │ │ (提問/挑戰) │ │ 整理資料 │ │
└──────────┘ └──────────────┘ └────┬────┘ │
│ │
▼ │
┌──────────┐ │
│ 人做決策 │──┘
│ (形成新想法)│
└─────┬────┘

完成?──→ 產出文檔

每次循環中:

  1. 人提出想法 — 功能方向、業務需求、技術偏好
  2. AI 澄清與分析 — 用分類法掃描找出模糊或遺漏的面向,提出結構化問題
  3. AI 搜集整理 — 讀取 Epic 脈絡、參考同類文檔、整理為結構化選項
  4. 人做決策 — 從選項中選擇或提出新想法,循環繼續
  5. 人決定完成 — 人隨時可以結束循環,AI 根據累積的決策產出文檔

AI 介入程度分層

不同層級的規格文檔,AI 的介入程度不同。越上游越需要人的判斷力,越下游越適合 AI 自動化。

            人的判斷力重要性          AI 可靠度
Roadmap ████████████ ██
Domain Mdl ███████████ ███
Epic ██████████ ████
US ████████ ██████
SBE ████ █████████
API Spec ██ ████████████
文檔層級AI 介入模式說明
RoadmapLevel 2 — 對話式AI 作為思考夥伴,透過澄清循環協助人撰寫
Domain ModelLevel 2 — 對話式AI 作為思考夥伴,透過澄清循環協助人建立領域模型
Feature List自適應有 Roadmap 時 Level 3(一次性生成),無 Roadmap 時 Level 2(對話式)
EpicLevel 2 — 對話式AI 作為思考夥伴,透過澄清循環協助人撰寫
User StoryLevel 2 — 對話式AI 作為思考夥伴,透過澄清循環協助人撰寫
SBELevel 3 — 一次性生成AI 從 US 展開場景草稿,人審查
API SpecLevel 3 — 一次性生成AI 從 US/SBE 正向設計或從程式碼反向萃取規格

為什麼 Roadmap 適合對話式?

  • Roadmap 回答「做什麼」和「為什麼」— 需要市場洞察、競爭分析、利害關係人談判
  • 這些決策完全由人主導,AI 不自行添加額外想法
  • AI 的價值在於:搜集整理人的想法、確保結構完整(角色定義、權限矩陣、非功能需求等面向不遺漏)
  • 對話式模式確保每一項輸出都有對應的人類指示,AI 只是整理與結構化

為什麼 Domain Model 適合對話式?

  • Domain Model 定義業務實體、關聯關係與統一語言 — 這是概念層級的建模,需要人的領域知識
  • 上游(Roadmap、Epic)已有角色定義和資料結構段落可供 AI 萃取候選實體
  • 但「哪些是核心實體」、「關聯是一對多還是多對多」、「術語的正確定義」等決策完全由人主導
  • AI 的 6 類分類法(核心實體、屬性與約束、關聯關係、生命週期、業務規則、統一語言)能有效確保建模完整性
  • Domain Model 作為靜態模型(Static Model),與 Epic/US/SBE 的動態模型(Dynamic Model)互補

為什麼 Feature List 採用自適應模式?

  • 有 Roadmap 時(Level 3 一次性生成):功能已在 Roadmap 的戰略主題和 Epic 解構中識別完畢,AI 只需重新組織為使用者視角,不涉及新的決策
  • 無 Roadmap 時(Level 2 對話式):功能範圍尚未定義,需要透過澄清循環協助人識別功能領域、使用者能力、角色與權限
  • 修訂既有 Feature List 時(Level 2 對話式):需要討論新增/移除/調整哪些功能
  • /feature-list 是第一個自適應介入模式的 Skill — 偵測上游文檔狀態,自動選擇模式

為什麼 Epic 適合對話式?

  • Epic 定義功能範圍和 US 拆分 — 這是架構決策,不是文書工作
  • 但上游(Roadmap)已有人工撰寫的戰略脈絡可供 AI 參考
  • AI 的分類法掃描能有效識別遺漏的面向(業務價值、技術依賴、多租戶考量等)
  • 對話式讓人主導決策,AI 確保完整性 — 兼顧深度思考與結構化產出
  • 下游(/us)已有工具銜接,可端到端驗證

為什麼 User Story 適合對話式?

  • US 結構高度標準化(驗收標準、業務規則、技術規格等區段)
  • 上游(Epic)已有人工撰寫的脈絡可供 AI 參考
  • 下游(/sbe)已有工具銜接,可端到端驗證
  • AI 的分類法掃描能有效識別遺漏的面向

為什麼 SBE 適合一次性生成?

  • SBE 是將 US 驗收標準「展開為具體數據」— 規則明確、格式固定
  • 所有決策已在 US 中完成,SBE 只是結構化呈現
  • AI 可參考 40+ 個既有 SBE 範例保持風格一致

可用工具

Skill 鏈

/roadmap → 產出 Roadmap + Feature List

/domain-model → 對話式建立領域模型(實體、關聯、術語)

/feature-list → 獨立建立或修訂 Feature List(自適應模式)

/epic → 產出 Epic 文檔

/us → 產出 US 文檔

/checklist → 品質檢核(唯讀)

/sbe → 產出 SBE 場景
├→ /e2e → 產出 E2E 自動化測試(Playwright)
├→ /test-plan → 產出手動測試指南
└→ /sprint → 規劃 Sprint Backlog + 更新 Feature List 狀態

/api-spec → 產出 API 規格(正向設計或反向萃取)

↕ 任何階段皆可執行
/analyze → 跨文件一致性分析(唯讀)

客戶委託替代路徑:無 Roadmap 的專案可從 /feature-list(對話式)開始,取代 /roadmap 作為最上游文檔。

Skill類型用途
/roadmap對話式(澄清循環)協助撰寫 Roadmap,完成時附帶產出 Feature List
/domain-model對話式(澄清循環)對話式建立領域模型,定義業務實體、關聯與統一語言
/feature-list自適應(一次性/對話式)獨立建立或修訂功能清單
/epic對話式(澄清循環)協助撰寫 Epic
/us對話式(澄清循環)協助撰寫 User Story
/sbe一次性生成從 US 產生 SBE 場景草稿
/checklist一次性生成(唯讀)US 需求品質檢核,產出品質檢核清單
/api-spec一次性生成從 US/SBE 正向設計或從 Controller 反向萃取 API 規格
/analyze一次性生成(唯讀)跨文件一致性分析,產出分析報告
/e2e一次性生成從 SBE 產生 Playwright E2E 測試
/test-plan一次性生成從 US+SBE 產生手動測試指南
/sprint混合式(2-3 輪)盤點 US 庫存規劃 Sprint Backlog,更新 Feature List 狀態

本指南聚焦於規格撰寫的閉環模型與分類法。/e2e/test-plan/sprint 的詳細說明請見 Claude Code Skills 總覽

/roadmap — Roadmap 對話式撰寫

使用方式:

/roadmap                       # 建立新 Roadmap 或改寫既有 Roadmap
/roadmap 花店管理系統 # 以產品名稱開始

工作流程:

  1. 偵測文檔專案、檢查既有 Roadmap
  2. 萃取既有脈絡(若為修訂模式)
  3. 展示初始種子、確認方向
  4. 進入澄清循環(6-12 輪)— 使用 8 類分類法逐步深入
  5. 人決定完成後,產生 Roadmap 文檔
  6. 建立 Epic 目錄結構、輸出彙總報告

澄清分類法(8 類):

分類探索方向
產品願景為什麼做、解決什麼問題、市場定位
目標客群服務誰、客戶區隔、痛點
戰略主題主要業務目標、產品方向
用戶角色角色定義、權限設計、使用場景
功能規劃Epic 拆分、各 Epic 範疇
優先排序Now/Next/Later、MVP 範圍
技術架構多租戶策略、資料隔離、技術約束
非功能需求效能、安全、擴展、可用性

/feature-list — 功能清單管理(自適應模式)

使用方式:

/feature-list                   # 自動偵測模式(建立或修訂)
/feature-list 花店管理系統 # 以產品名稱開始

自適應模式:

條件模式介入等級
roadmap.md + 無 feature-list.md一次性生成Level 3 — 從 Roadmap 提取功能,重新組織為使用者視角
roadmap.md + 無 feature-list.md對話式建立Level 2 — 透過 6 類澄清分類法協助定義功能範圍
feature-list.md 已存在對話式修訂Level 2 — 討論新增/移除/調整功能

對話式模式的澄清分類法(6 類):

分類探索方向
功能領域系統有哪些主要功能區塊
使用者能力每個領域中使用者能做什麼
角色與權限哪些角色使用哪些功能
優先排序Now/Next/Later 階段劃分
範圍界定什麼在範圍內、什麼排除
Epic 映射功能與開發 Epic 的對應關係

/domain-model — 領域模型對話式撰寫

使用方式:

/domain-model                  # 自動偵測模式(建立或修訂)
/domain-model 花店管理系統 # 以產品名稱開始

自適應模式(始終 Level 2 對話式,但種子來源不同):

條件路徑種子來源
有 Roadmap/Epic + 無 domain-model.md對話式建立(有上游)從 Epic 功能範疇的資料結構段落、Roadmap 角色定義萃取候選實體
無上游文檔 + 無 domain-model.md對話式建立(無上游)research/ 或使用者描述推導
domain-model.md 已存在對話式修訂讀取既有模型,詢問修訂方向

澄清分類法(6 類):

分類探索方向
核心實體業務中有哪些關鍵物件
屬性與約束關鍵屬性、驗證規則
關聯關係實體間如何關聯(1:1, 1:N, M:N)
生命週期實體狀態與轉換
業務規則跨實體的領域不變量
統一語言術語定義、易混淆術語

/epic — Epic 對話式撰寫

使用方式:

/epic 4                        # 建立或改寫 Epic 4
/epic epic-4 # 同上
/epic 支付管理 # 以描述搜尋或建立新 Epic

工作流程:

  1. 偵測文檔專案、定位 Roadmap
  2. 萃取 Roadmap 上游脈絡
  3. 展示初始種子、確認方向
  4. 進入澄清循環(4-8 輪)— 使用 8 類分類法逐步深入
  5. 人決定完成後,產生 Epic 文檔
  6. 更新 Epics README 連結、輸出彙總報告

澄清分類法(8 類):

分類探索方向
業務價值為什麼做、解決什麼問題、目標客群
功能範圍核心功能、進階功能、排除項
用戶角色主要使用者、角色權限差異
US 拆分User Stories 列表、優先級分組
技術依賴跨 Epic 關係、外部系統
資料模型關鍵 Entity、欄位、關聯
多租戶與安全數據隔離、編號格式、權限控制
非功能需求效能、擴展性、可用性

/us — User Story 對話式撰寫

使用方式:

/us US-401                      # 從 Epic 的 US 列表中定位待建條目
/us --epic=4 營收報表查看 # 指定 Epic + 描述
/us 營收報表查看 # 只有描述,需詢問 Epic

工作流程:

  1. 偵測文檔專案、定位 Epic
  2. 萃取 Epic 上游脈絡
  3. 展示初始種子、確認方向
  4. 進入澄清循環(4-8 輪)— 使用 8 類分類法逐步深入
  5. 人決定完成後,產生 US 文檔
  6. 更新 Epic 連結、輸出彙總報告

澄清分類法(8 類):

分類探索方向
功能行為主要用戶流程、步驟、成功路徑
角色與權限誰能操作、權限等級差異
業務規則計算邏輯、驗證規則、業務約束
邊界案例錯誤場景、空狀態、極端值
UI/UX頁面佈局、互動行為、響應式設計
API 設計端點、Payload、狀態碼
資料模型欄位、關聯、既有表
非功能需求效能、分頁、快取

/checklist — US 需求品質檢核

使用方式:

/checklist US-201                  # 以 US 編號定位

工作流程:讀取 US + Epic 脈絡 → 執行 7 維度品質檢核 → 產生品質檢核報告

7 大品質維度(借鑑 Spec Kit):

維度說明
Completeness所有必要需求是否已記錄
Clarity需求是否明確無歧義
Consistency需求之間是否對齊且無衝突
Measurability成功標準是否可客觀驗證
Coverage所有場景/邊界案例是否已涵蓋
Edge Case邊界條件和故障模式是否已定義
Non-Functional效能、安全、無障礙的規格

注意/checklist 是唯讀的,絕不修改原始 US 文檔。報告中的建議行動會連結到具體的 Skill 指令(如 /us),由人決定是否執行。

/sbe — SBE 場景生成

使用方式:

/sbe US-301                    # 以 US 編號定位

工作流程:讀取 US → 選擇場景 → 產生 SBE 場景檔 → 更新 US 的 SBE 區段

/analyze — 跨文件一致性分析

使用方式:

/analyze                       # 全專案分析
/analyze epic-2 # 分析 Epic 2 及其下游文件
/analyze US-201 # 分析特定 US 及其 SBE

工作流程:偵測文檔專案 → 收集文件清單 → 執行 5 通道分析 → 產出分析報告

5 個分析通道:

通道檢查內容
結構完整性Roadmap → Epic → US → SBE 的文檔是否存在、連結是否有效
覆蓋率US 驗收標準是否被 SBE 場景覆蓋
一致性跨文件的 API 路徑、Payload 欄位、角色權限是否一致
術語一致性角色名稱、實體名稱跨文件是否統一
規格品質US/SBE 是否缺少必要區段、是否有 TODO 標記

注意/analyze 是唯讀的,絕不修改原始檔案。報告中的建議行動會連結到具體的 Skill 指令(如 /us/sbe),由人決定是否執行。


借鑑來源:GitHub Spec Kit

AppFuse 的 AI 協助方法借鑑了 GitHub Spec Kit 的兩個核心概念:

Clarify(澄清)

Spec Kit 的 /speckit.clarify10 大分類法掃描 spec 的完整度,每個分類標記為 Clear / Partial / Missing,以 Impact × Uncertainty 排序問題優先級,逐一提問後直接回寫 spec。

Spec Kit 的 10 大分類:Functional Scope & Behavior、Domain & Data Model、Interaction & UX Flow、Non-Functional Quality Attributes、Integration & External Dependencies、Edge Cases & Failure Handling、Constraints & Tradeoffs、Terminology & ConsistencyCompletion SignalsMisc/Placeholders

AppFuse 已借鑑的部分/us/epic/roadmap 的澄清循環採用類似的 8 類分類法掃描,但不讓 AI 直接回寫,而是整理為選項讓人決策。

AppFuse 尚可改善的部分(優先級:低):

Spec Kit 有、AppFuse 缺價值建議行動
Terminology & Consistency(術語一致性)跨文檔使用不同術語是常見問題(如「訂單」vs「工單」)可在對話式 Skill 的分類法中增加此維度
Completion Signals(完成訊號)確保每個驗收標準是可測試的、每個指標是可量測的可在澄清循環中加入此檢查
覆蓋率摘要表Spec Kit 每次完成時產出 Clear/Partial/Missing 覆蓋率表✅ 已實作 — /us/epic/roadmap 的彙總報告已包含「分類法覆蓋摘要」區段

不採用的部分:Spec Kit 讓 AI 直接回寫 spec,AppFuse 維持「人決策、AI 整理」的閉環模式不變。

已解決的情境

情境說明解決方案
客戶委託專案跳過 Roadmap客戶委託的專案,上游需求來自客戶的 RFP/SOW,團隊可能直接從 Epic 開始,無需自行撰寫 Roadmap✅ 已透過 /feature-list 的對話式模式解決。客戶委託路徑:/feature-list(對話式)→ /epic/us/sbe。Feature List 作為最上游文檔,提供功能範圍、角色定義、優先排序等脈絡,供下游 /epic/analyze 讀取

Analyze(分析)

Spec Kit 的 /speckit.analyze 做跨文件一致性檢查(spec ↔ plan ↔ tasks),使用六通道分析(Duplication、Ambiguity、Underspecification、Constitution Alignment、Coverage Gaps、Inconsistency),產出唯讀分析報告。

AppFuse 的借鑑/analyze 將此概念適配到 AppFuse 的文檔鏈(Roadmap → Epic → US → SBE),使用五通道分析(結構完整性、覆蓋率、一致性、術語一致性、規格品質),檢查跨層級的對齊度。與 Spec Kit 相同,/analyze 是唯讀的,絕不修改原始檔案;不同之處在於建議行動會連結到具體的 Skill 指令(如 /us US-207/sbe US-201),讓人直接執行修正。

Checklist(檢核表)

Spec Kit 的 /speckit.checklist 產生需求品質檢核表,核心理念是**「英文的單元測試」(unit tests for English)**— 測試的是需求撰寫品質,而非實作是否正確。

正確寫法(測試需求品質):

- [ ] CHK001 - 導航需求是否對所有可點擊的品牌元素都有明確定義? [Clarity, Spec §FR-010]
- [ ] CHK002 - 「合理時間內」是否已量化為具體的秒數? [Measurability, US-201 §非功能需求]

錯誤寫法(測試實作):

- [ ] 驗證按鈕點擊後導航到首頁
- [ ] 確認載入時間在 2 秒內

Spec Kit Checklist 的 7 大品質維度

維度說明範例問題
Completeness所有必要需求是否已記錄「所有 API 故障模式的錯誤處理需求是否已定義?」
Clarity需求是否明確無歧義「『快速載入』是否已量化為具體的時間閾值?」
Consistency需求之間是否對齊且無衝突「導航需求在所有頁面之間是否一致?」
Measurability成功標準是否可客觀驗證「『平衡的視覺重量』能否被客觀量測?」
Coverage所有場景/邊界案例是否已涵蓋「零狀態場景的需求是否已定義?」
Edge Case邊界條件和故障模式是否已定義「圖片載入失敗時的降級行為是否已規定?」
Non-Functional效能、安全、無障礙的規格「所有互動元素的無障礙需求是否已規定?」

Spec Kit Checklist 的工作流程

  1. 動態產生最多 3 個情境問題(釐清焦點領域,如 security、UX、API)
  2. 結合答案衍生檢核表主題
  3. 讀取 spec.md(+ 選用 plan.md、tasks.md)
  4. 產生檢核表檔案至 checklists/ 目錄(如 ux.mdapi.mdsecurity.md
  5. 每個項目格式:- [ ] CHK### - [問句]? [品質維度, 可追溯性引用]
  6. 可追溯性要求:至少 80% 的項目包含 [Spec §X.Y] 引用
  7. 項目軟性上限:40 個

AppFuse 的實作

/checklist 已實作為獨立 Skill,定位於 /us 產出後、/sbe 產出前的品質閘門。

面向說明
位置/us/checklist/sbe
輸入US 文檔(+ Epic 脈絡)
輸出品質檢核清單(獨立 Markdown 檔案,不修改原始 US)
/analyze 的區別/analyze 做跨文件一致性檢查(結構性),/checklist 做單一文件品質檢核(語意性)
品質維度參考 Spec Kit 的 7 維度(Completeness、Clarity、Consistency、Measurability、Coverage、Edge Case、Non-Functional)
Skill 定義.claude/skills/checklist/SKILL.md

花店訂單 US 的品質檢核範例:

## Requirement Completeness
- [ ] CHK001 - 訂單金額的計算規則是否明確定義(小計、稅金、運費、折扣)?
[Completeness, US-201 §業務規則]
- [ ] CHK002 - 所有訂單狀態轉換的觸發條件是否已定義?
[Completeness, US-201 §驗收標準]

## Requirement Clarity
- [ ] CHK003 - 「合理時間內」是否已量化為具體的秒數或百分位數?
[Measurability, US-201 §非功能需求]

## Edge Case Coverage
- [ ] CHK004 - 配送日期額滿時是否定義了替代方案(如推薦下一個可用日期)?
[Edge Case, US-201 §Scenario 2]

## Consistency
- [ ] CHK005 - 「客戶」與「消費者」是否指同一角色?跨 US 使用是否一致?
[Consistency]

與 Spec Kit 的關鍵差異

Spec KitAppFuse
文檔作者AI 產生,人審查人決策,AI 整理
AI 角色草稿撰寫者思考夥伴
風險人可能直接接受 AI 草稿每個決定都經過人的判斷
適用場景快速原型正式產品規格
一致性分析spec ↔ plan ↔ tasksRoadmap → Epic → US → SBE 完整鏈
分析報告可回寫 spec僅產出獨立報告,絕不修改

使用注意事項

AI 推斷內容需標記

當 AI 根據脈絡推斷未經人確認的內容時,會加上標記:

<!-- TODO: 此項由 AI 推斷,待確認 -->

產出文檔後,團隊應搜尋 <!-- TODO 標記,逐一確認或修正。

Three Amigos 審查不可省略

無論 AI 介入程度如何,Three Amigos 審查仍是必要的品質閘門:

  1. 產品經理 — 確認業務價值與驗收標準
  2. 開發人員 — 確認技術規格與可行性
  3. 測試人員 — 確認 SBE 場景與邊界條件

漸進式導入

建議的推進順序:

階段行動目的
Phase 1使用 /sbe 產生 SBE驗證 AI 產出品質
Phase 2使用 /us 撰寫 US驗證對話式模式
Phase 3收集回饋、調整流程持續改善

參考資源


最後更新: 2026-03-02