AI Specification-Driven Development

過去我們用 ChatGPT、Claude 或 Cursor 幫忙寫程式時,通常是想到什麼就下什麼 Prompt。

痛點: 當專案變大、程式碼變多時,AI 就會開始「失憶」或「瞎掰」。修 A 壞 B 被 AI 改壞;或者 AI 寫出來的架構跟原本專案的風格完全不搭。

為了解決這個問題,微軟、GitHub 以及各大技術社群開始推動 AI 規格驅動開發

它的核心邏輯是:「程式碼不再是核心,『規格(Intent/意圖)』才是真理。程式碼只是規格的副產品,讓 AI 負責去產出就好。」

AI 規格驅動的運作三步驟

1. 規格階段 (Specify) —— 定義 What

人類只需要用大白話(Markdown 格式)寫清楚這個功能「要做什麼(What)」「為什麼要做(Why)」。

  • 重點: 完全不談技術、不談程式碼。只寫使用者情境(User Stories)和驗收條件(Acceptance Criteria)。
  • AI 的角色: AI 會閱讀這份規格,如果發現有邏輯不通或邊界條件(Edge Case)沒寫清楚的地方,AI 會主動提出質疑(Clarify),逼人類把規則想清楚。

2. 計畫階段 (Plan) —— 定義 How

規格確定凍結後,才進入技術實作計畫。這時候才會決定:要用什麼框架?用什麼資料庫?

  • 重點: 這份 Plan 會變成 AI 寫程式時的導航地圖,確保它不會脫軌。

3. 任務與實作階段 (Tasks) —— 自動化執行

AI 會把技術計畫拆解成十幾個微小的 Task(例如:建立資料表、寫 Controller、寫測試、實作前端畫面)。

  • 重點: 人類這時候是不動手寫 Code 的。AI 會自己開測試檔案(TDD,測試驅動開發),自己寫業務邏輯,直到所有測試都亮綠燈為止。人類只負責「審查(Review)」AI 寫得對不對。