極簡差異 (Minimizing Diff) 開發工作流
一個優秀的 AI 開發工作流,不僅要看它能「多快交付功能」,更要看它交付的變更是否乾淨、安全且易於審查。極簡差異 (Minimizing Diff) 工作流是 Ponytail 的官方核心工作流,旨在透過系統化的步驟,引導 AI 代理只做出最少、最集中的代碼變更。
這套工作流包含 4 個核心階段:
graph LR
A["階段 1:範圍限制 (Scope Limit)"] --> B["階段 2:本地基準 (Local Baseline)"]
B --> C["階段 3:極簡實作 (Minimal Code)"]
C --> D["階段 4:Git 差異審查 (Diff Audit)"]
階段 1:範圍限制 (Scope Limit)
在收到使用者的任務需求時,AI 代理不應該直接動手寫程式。
- 識別最小變更集合:找出實現該需求最核心的檔案與函數。
- 制定邊界合約:宣告本任務「不應該修改」的檔案範圍。如果一個需求只需要修改 UI,那後端與設定檔就不應被觸及。
階段 2:本地基準 (Local Baseline)
在動手修改檔案前,建立目前的代碼快照:
- 確保當前 Git 工作區是乾淨的 (
git status)。 - 執行一次完整的單元測試與建置 (
pnpm run build或同等指令),確認當前代碼能順利通過,作為品質基準線。
階段 3:極簡實作 (Minimal Code)
依據 7 階極簡階梯開始編寫程式碼:
- 禁止樣板程式碼:不寫任何額外的 getter/setter 或輔助介面。
- 最大化代碼復用:如果有現成函數,直接呼叫之。
- 錯誤與安全防護優先:在編寫最少代碼的同時,主動加入防禦性邊界檢查。
階段 4:Git 差異審查 (Diff Audit)
在宣告任務完成前,執行自我審查:
- 執行
/ponytail-review對 Git 變更進行審查。 - 執行
git diff,人工或由代理逐行檢查變更。如果發現有多餘的空行、偵錯用console.log,或是臆測未來而寫的註解,一律予以移除。 - 確認變更僅限於階段 1 規劃的最小集合內。