Skip to the content.

CRISPY AI 寫程式流程與 Instruction Budget

來源:愛好 AI 工程 Blog · 我錯了,還是要讀程式碼:Dex Horthy 重新檢討 AI 寫程式流程(2026-06-01)

模型沒有記憶,上下文的品質決定一切,所以千萬不要外包思考。改變的是把人的注意力從「讀冗長的計畫」轉移到「讀簡短的對齊文件 + 最終程式碼」。

由 Dex Horthy(HumanLayer)在實作半年後提出,是其原本 RPI(Research–Plan–Implement) 方法論的演進與認錯版本。


核心思想

RPI 的三個錯誤(作者親自認錯)

  1. 還是要讀程式碼:原本主張可跳過 code review/不讀 code,實作半年後下場不好,被迫大規模重寫。
  2. 計畫不該逐行讀:1,000 行計畫產出約 1,000 行 code,但實作常「飄移(drift)」,最後還是得重讀,沒省到時間。
  3. 不能產出 slop(粗製濫造):有真實後果的 production 系統,AI 生成的程式碼不能是垃圾。

核心矛盾:AI 產出量增加 50%,但其中約一半是 rework(修先前的錯),而非新功能。

為什麼 RPI 在規模化時失敗


CRISPY 八階段

# 階段 做什麼
1 Questions 該問什麼問題
2 Research 現況有什麼
3 Design 目標狀態是什麼
4 Structure Outline 怎麼到達(垂直切)
5 Plan 逐行實作細節
6 Worktree 開分支
7 Implement 寫 code
8 Pull Request 送審

首字母 QRSPI 不好記,所以改包裝成 CRISPY(脆,好記)。雖然嘴上說「三步」,實際演進成七到八步。

八階段又分成兩大塊:前五階段「研究與規劃」(Questions → Research → Design → Structure Outline → Plan)是人花時間對齊方向的地方;後三階段「動手實作」(Worktree → Implement → Pull Request)才真正寫 code、開分支、送審。

CRISPY 八階段:前五階段為研究與規劃(提問/研究/設計/結構大綱/計畫),後三階段為動手實作(開分支/實作/發 PR)

關鍵階段細節

一個例子看懂四個階段的差別

以「在既有 SaaS 帳號系統加上雙因素驗證(2FA)」為例,看 Research / Design / Structure Outline / Plan 的顆粒度差異——整體是從「現況的廣面事實」收斂到「程式碼層級的細節」:

階段 篇幅 內容 人介入程度
Research — 客觀調查現況事實:登入流程在哪、密碼怎麼驗、session 怎麼建、現有 SMS/email 機制、user data schema。不帶任何「2FA 該怎麼做」的意見。 低(純事實)
Design ~200 行 訂方向與關鍵決策:支援 TOTP 還是 SMS、備用碼怎麼處理、強制還是 opt-in、session 失效規則。列出「已決定」與「待人回答的問題」。 高(對齊方向)
Structure Outline ~2 頁 把工作切成垂直、可測試的增量:DB migration、TOTP 元件、API 介面、前端 UI。每個增量含測試方式,不含實作細節。 中(確認架構)
Plan ~8 頁 實作規格:具體檔名、行號、code snippet,細到可直接照做。 低(掃過即可)

→ 前面階段需要較多人類盯著對齊方向,最後的 code 產出則是「強制必讀」。

注意力該放哪

文件 怎麼讀
✅ Design + Outline 對齊方向,認真看
⚠️ Plan 快速掃過
✅ Code 徹底讀

Instruction Budget(指令預算)

模型大約能可靠遵守 150–200 條指令;超過就開始不可靠、跳步驟。

解法一:用程式邏輯取代 prompt 分支

解法二:用程式碼切分隔離意見


「咒語」問題(Magic Spell)


對齊(Alignment)才是重點


Context Budget 補充


務實的速度目標

開源例外