框架結構:錨點確認 → Step 0(資料充足度閘門)→ W(擴增選項)→ R(現實檢驗)→ A(拉開距離)→ P(準備好犯錯)→ 絆腳索(持續監控)

核心理念:提醒決策者「你是有選擇的」,不替決策者做選擇。

本 SKILL 為通用 WRAP 規則,獨立於任何專案框架。專案若需要掛鉤(Hook)、CLI 或任務系統整合,請在該專案內另建落地層文件。


觸發條件

情境識別特徵模式
連續失敗同一問題修改 2+ 次仍失敗快速
被困住表達「做不到」「沒辦法」「不支援」「禁止」「不可能」快速
偏離核心連續 2+ 個任務單位不在當前迭代目標完整
重大決策影響架構/流程/版本方向的非技術決策完整
救火排擠花 > 30 分鐘在非原定計畫的問題上快速
分析任務根因調查、代理人失敗歸因、測試失敗檢討快速+(配合兩階段反思)
根因深度反思用戶質疑「分析太表層」「不夠深」、或需要把失敗歸因寫成可重用規則完整 WRAP 強制:先列 5+ 候選假設 + 現實檢驗(Reality Test) + 2 層深因,再用 W/A/P 檢驗
反思深度質疑用戶要求「太表層」「再想想」「更深一層」「還有其他可能」「反向驗證」完整 WRAP 強制:先擴增假設,再做反向驗證,最後回到可執行結論
提案評估評估提案可行性完整
不可逆 / 時間壓力一旦執行難以回退,或須在很短時間內定案完整(重 P 階段回退計畫)
利害關係人衝突多方目標不一致、需平衡不同立場完整(重 W 假選項偵測)
個人化建議使用者用「我」「我該」「推薦給我」,或話題涉及健康/運動/裝備/金錢/法律/醫療Step 0 強制
CLI / 規則自動駕駛(autopilot)(決策路徑層 3.1)CLI 撞錯後立即重試或猜變體(非查 --help / 規則文件)快速(強制查文件後再試)
既有結論錨定(Anchor)(決策路徑層 3.2)WRAP W 階段選項能一句話概括 / 全指向同一根因完整(強制反向思考(Consider the Opposite) + 重新定義問題)
規則失敗草率改規則(決策路徑層 3.3)失敗第一反應「改規則」,未先重試 2 次快速(先挖根因再決定改規則或改行為)
多步驟成功率盲點(決策路徑層 3.4)多步驟計畫中所有中間步驟都預測成功快速(R 階段基本率 + 每步獨立驗證)

上述 4 項決策路徑層因子可由各專案映射到自己的掛鉤(Hook)、CLI 或任務系統;本 skill 只保留通用判斷語意。

快速模式(5 分鐘):錨點 + Step 0 + W + 基本率(R 核心)+ 機會成本(A 核心)+ 決定 快速+模式:快速模式 + 強制 R 的基本率 / 反向驗證兩階段反思(分析任務最容易跳過事證直接下結論,故在快速基礎上補回 R 核心 + 一輪反向驗證) 完整模式(15-30 分鐘):全階段 Step 0 強制:個人化建議場景,不論採用哪個模式,Step 0 為必經閘門

各專案可依自身工作流建立機器可讀觸發條件、自動觸發機制、關鍵字清單對應,以及任務啟動階段的簡化三問(W/A/P 1-2 分鐘版)。


錨點確認(Anchor Check)

進入分析前先確立錨點。

第一錨點 — 產品決策

問題目的
「誰是我們的客戶?」建立決策錨點
「當前的核心目標是什麼?」對齊迭代目標

第二錨點 — 流程決策

問題目的
「這個流程改善影響決策品質或開發效率嗎?」區分「改善工具」vs「低價值維護」
「不做這個改善,會重複付出什麼代價?」評估一次性投入 vs 持續回報

閘門判斷

1這個問題影響核心客戶 / 核心目標嗎?
2    ├─ 是 → 進入 Step 0
3    ├─ 否 → 這個流程改善影響決策品質或開發效率嗎?
4    │        ├─ 是且持續回報 > 一次性投入 → 進入 Step 0
5    │        ├─ 是但低回報 → 建提案(提案暫存區) → 回到核心任務
6    │        └─ 否 → 記錄待辦 → 回到核心任務
7    └─ 純粹救火 → 建任務單位 + 低優先級 → 回到核心任務

引用:英特普拉思特「病人才是我們的客戶」— 確立後,所有困難的決定都有了錨點。


Step 0. 資料充足度閘門(Data Sufficiency Gate)

核心問句:「我手上的資訊夠做這個決策嗎?還是我正在用假設替代資料?」

模式辨識

模式特徵答案來源
資訊查詢問的是客觀知識(「X 和 Y 差別」「怎麼運作」)公開資料即可
決策諮詢問的是「我該怎麼選/做/買」必須基於當事人條件

使用者說「我是 X」、「推薦給我」、「我該買哪個」 → 決策諮詢。決策諮詢以個案資料為基準,群體平均值只作為背景參考。

判定流程

 1Step 0:資料充足度檢查
 2 3    ├─ 檢查 1:我知道當事人是誰嗎?(年齡/性別/身體/財務條件)
 4    ├─ 檢查 2:我知道當事人的目標嗎?
 5    ├─ 檢查 3:我知道當事人的限制嗎?(預算/時間/禁忌)
 6    ├─ 檢查 4:我知道當事人的環境嗎?(地區/可用資源)
 7    ├─ 檢查 5:我在用「平均值假設」替代「個人資料」嗎?
 8    └─ 檢查 6:如果假設錯誤,後果會嚴重嗎?
 91011判定結果
12    ├─ 資料充足 → 進入 W 階段
13    ├─ 資料不足 + 低風險 → 進入 W,但標記假設
14    ├─ 資料不足 + 中風險 → 暫停,漸進式問 2-3 個關鍵變數
15    └─ 資料不足 + 高風險 → 強制完整問卷 + 建議諮詢專業人士

為什麼 Step 0 必須在 W 之前

W 階段「擴增選項(Widen Options)」是「擴增選項空間」,但選項的意義取決於當事人條件。如果不先確認資料充足度:

表面現象實際狀況
列出 A/B/C/D 四個選項(看似多元)四個選項都基於「用戶是平均值」的假設
對選項做現實檢驗(Reality Test)只是驗證「對平均值用戶是否可行」,非「對此用戶可行」
Attain Distance 考量機會成本比較的是錯誤假設下的成本
Prepare to be Wrong預想的失敗原因都是技術性,忽略「假設錯誤」這個最大風險

結論:Step 0 缺失會讓整個 WRAP 流程變成「精美的錯誤分析」。

反模式偵測

警告信號含義
擴增選項(Widen Options)時寫出「適合的用戶選 A,其他用戶選 B」已承認用戶差異會影響選擇,卻未先確認用戶是哪種
選項描述含「通常」「一般來說」「大多數人」用群體敘述替代個體判定
執行現實檢驗(Reality Test)時發現「數據來源是群體統計」這屬於 Step 0 應提前檢出的問題
Attain Distance 的機會成本計算需假設用戶偏好偏好是 Step 0 資料,不該在 A 階段假設

失敗模式:Step 0 最容易被跳過是因為反問當事人打斷對話流暢度。流暢度與準確度的取捨應交由當事人決定。

各專案可建立個人化建議的三層機制(識別 / 分級 / 誠實)。


W — 擴增選項(Widen Your Options)

核心問句:「還有什麼其他方式可以達成目標?」

爬梯子法(由近到遠)

層級搜尋範圍做法
0. 身邊當前專案既有程式碼/模組搜尋既有 API
1. 同層當前專案其他模組的做法檢查類似功能的實作
2. 同領域社群(GitHub Issues、文件)網路搜尋
3. 跨領域其他工具/框架的類比方案AI 內建知識調用

每層找到可行方案就停止,找不到才往上爬。

品質檢查

檢查問題不通過的信號
選項消失測試如果以上選項全部被移除,還能怎麼做?選項不足 → 框架太窄
假選項偵測選項之間有實質差異嗎?全部指向同一根因/同一途徑 → 季辛吉陷阱
框架測試能否用一句話概括所有選項?可以 → 選項多元性不足
方案性質三類涵蓋候選方案是否涵蓋 新增工具 / 改造既有 / 零工具或純文件 三類?全屬「新增工具」→ LLM 工具化偏誤(toolification bias),強制補「改造既有」與「零工具」選項
方案關聯性檢查任兩方案是否可退化為同一方案或既有機制?可退化 → 實質選項數量要重算(假多樣性)
反向思考(Consider the Opposite)如果我相信的正好相反,會怎樣?真正該問的問題是什麼?能提出有力相反論述 → 重新定義問題後從 W 重跑

反向思考(Consider the Opposite)是最容易被跳過但最重要的檢查 — 也是防止「在錯誤問題框架下擴增選項」的最後防線。詳細操作與範例見 detailed-techniques

方案性質三類涵蓋方案關聯性檢查用來抵抗 LLM 的工具化偏誤(toolification bias):LLM 在不少情境傾向把「新增工具」當答案,較少提「改造既有機制」與「零工具」選項。即使補上多個方案,若方案間強關聯也可能退化為 1 個實質選項。

假設層級多元性(真正的擴增選項,Widen)

選項必須在「假設根因」層級多元,而不只是「實作手段」層級多元

擴增選項(Widen)列出多個方案 ≠ 真正擴增了選項空間。若所有方案都接受同一個未驗證的根因假設,仍是偽擴增選項(pseudo-Widen) — 方案脫靶率會集中分佈(要嘛全中、要嘛全脫)。

最低操作:列方案前先寫出「我假設問題是 X 造成的」,再質疑 X 是否為真根因。

分析類任務(根因調查、設計決策)建議完整執行三層質疑、現實檢驗(Reality Test)閘門與警告信號檢查。

多輪迭代查詢(深度議題建議)

對複雜議題(如規則設計、提案評估),W 階段不應一次性完成擴增,採四輪迭代結構:

輪次名稱目的
1發散型 (Divergent)廣泛關鍵字鋪面建立問題地圖
2具體化 (Concrete)將抽象主題轉為具體案例
3精準化 (Precise)從前兩輪提煉精準關鍵字深挖
4反向驗證 (Inverse)對結論找反例 / 批評 / 反駁

進入下一輪訊號(至少 3 條)、邊界條件、實證統計詳見 iterative-research


R — 現實檢驗(Reality-Test Your Assumptions)

核心問句:「需要什麼事證才能證明這個方法可行?」

基本率 > 預測

壞問題(預測)好問題(基本率)
「這樣改會成功嗎?」「這類問題的常見解法有哪些?成功率?」
「我目前相信的根因會成功嗎?」「這類症狀的常見根因分佈是什麼?」
「代理人會完成嗎?」「這類任務耗盡資源的常見閾值是什麼?」

大範圍觀照(Zoom Out)+ 近距離檢視(Zoom In)

方法做法產出
大範圍觀照(Zoom Out)搜尋基本率:多少人遇到?常見解法?統計性判斷
近距離檢視(Zoom In)讀具體案例內文、實際變更內容直覺性判斷

兩者缺一不可:基本率建立基準,近距離檢視觸動直覺。

大範圍觀照(Zoom Out)前置確認(搜尋範圍校準):

搜尋前問自己:「我搜尋的是問題本身的基本率,還是我預設解法的基本率?」

  • 搜尋「tool call 閾值校準」→ 預設解法的基本率(狹窄)
  • 搜尋「為什麼要拆分任務」→ 問題本身的基本率(廣闊)

清單類答案的來源核對

LLM 列清單時最容易產生幻覺(會「補齊」看起來合理的項目)。現實檢驗(Reality Test)對清單類答案必須執行逐項對 source 核對,禁止整批信任。

最低規則

  • 找到該領域的權威 source(官方 docs、本機 spec、Context7)
  • 清單每一項對照 source;找不到 → 標記為候選幻覺
  • 單項細節(schema、欄位語意)比整體清單可信

完整防護重點是幻覺模式分類、逐項核對流程與反模式識別;各專案可另建來源清單與核對模板。

試水溫(Ooch)

對每個選項問:「能否用最小成本驗證?5 分鐘內能得到初步答案嗎?」

  • 能 → 先試水溫再決策
  • 驗證成本高 → 進入完整分析

最強版本論證(Steelman)

選定方案後、執行前:

  1. 「用最有力的方式陳述被放棄選項的優點」
  2. 「列出選定方案的三個缺點」

做得到 → 決策品質足夠;做不到 → 回到 R 階段補充。

反向驗證範本(深度議題建議)

對結論做反向搜尋避免確認偏誤。標準格式:

1| 我們的結論 | 反向搜尋目標 |
2|----------|-----------|
3| [結論] | [批評 / 反例 / 反駁 / 限制] |

至少涵蓋 4-8 種反向方向類型(學術批評 / 反方論點 / 失效情境 / 統計限制 / 文化限制 / 家長主義(paternalism)警示 / 取捨揭露(trade-off) / 自我參照悖論)。

詳見 iterative-research 「反向驗證實踐範本」章節。


A — 拉開距離(Attain Distance)

核心問句:「投入這個問題的時間,會擠壓哪個更重要的目標?」

前置強制檢查

進入 A 前必完成以下 4 項檢查,任一觸發即回 W 階段重擴增。

檢查項問題觸發條件
框架概括測試能否用一句話概括所有候選方案?「能」→ 選項多元性不足,回 W
反面框架識別問題的反面框架是什麼?(例:「如何擋 X」的反面是「為何會有 X」)未列出反面框架即進 A → 強制停下列出
相反論述檢視反向思考(Consider the Opposite):若我相信的正好相反會怎樣?真正該問的問題是什麼?能提出有力相反論述 → 重新定義問題後從 W 重跑
工具選擇檢查(Tool selection check)物化 / 步驟數 / 目的地 / 白名單 4 問(見下)任一問暴露繞路 → 回 W 換 1 步工具

工具選擇檢查(Tool selection check)觸發條件:選工具(tool)前 + 預估步驟數 > 2 + 涉及 Write/Bash 組合(例如 Write 暫存檔再 Read 再 Bash 寫入)。

Tool selection 4 問

問題核心範例(反模式 → 正確)
Q1 物化檢查我是否把「解決方案」物化為「工具」(「用 Write 建檔」),而非解決「問題」(「把文字寫進任務紀錄」)?「Write /tmp/ctx.md 再 Read 再 bash append」(物化)→「heredoc append」(解決問題)
Q2 步驟數檢查選擇路徑的實際步驟數是 N? 有無 1 步路徑被忽略?3 步(Write→Read→Bash)→ 1 步(heredoc Bash 或 Edit 任務紀錄)
Q3 目的地檢查工具產出目的地是 CLI/檔案系統? 匹配需求嗎?目的是寫進任務紀錄 → 首選 Edit / heredoc CLI,避免多餘中介檔
Q4 白名單檢查目前工具是否在「低摩擦首選」名單外(偏好 heredoc Bash / Edit 直接編輯,次選 Write 類)?長文寫入任務紀錄首選 Edit 或 cat <<'EOF' heredoc

違反防護的代價:A 階段方案比較表面周詳,實際全指向同類型解法;或單步最優化但總步驟盲,把多步繞路誤判為簡單方案。

完整 4 問操作細節見 detailed-techniques 「工具選擇檢查(Tool selection check)詳細技巧」章節。

機會成本顯性化

每個選項強制列出:

1選項 A:[做法]
2  機會成本:花 X 時間,這段時間可以 [替代用途]
3  風險:[可能失敗的條件]
4  不選其他的代價:[放棄什麼]

引用:DVD 實驗 — 只加上「不買,留下 14.99 美元買別的」,不買率從 25% 升到 45%。顯性化機會成本能改變決策。

10/10/10 規則

時間
10 分鐘後這個決定當下的感受
10 個月後這個決定對使用者/專案的影響
10 年後這個決定對整體生態/信任度的影響

核心優先事項對齊

問題目的
「這個決策服務於哪個優先事項?」對齊
「如果優先事項衝突,哪個排第一?」排序
「投入這問題的時間,擠壓哪個更重要的目標?」機會成本

排序確定後,低優先事項的決策自動有答案 — 記錄延後,不投入時間。

提案系統對接

使用「安全停放區」承接暫緩想法:想法被記錄,並明確標示目前聚焦的工作。

系統角色
提案暫存區安全停放區 — 記錄想法,不代表要做
任務追蹤系統(pending)承諾清單 — 已決定要做,排入排程
迭代目標文件核心優先事項 — 當前迭代的目標

悖論識別檢查清單(規則 / Skill / 掛鉤(Hook)設計時必檢)

設計規則 / 流程 / 系統時,必對 5 條檢查清單逐項自檢:

  • 此規則是否本身違反它要保護的價值?
  • 此規則是否通過善意家長主義(benevolent paternalism)4 條件測試?(實質傷害 / 介入有效 / 利益大於風險 / 最小限制)
  • 此規則的「正確示範」是否本身違反它要禁止的模式?
  • 此規則的設計者立場是否被透明化?
  • 此規則是否預留「用戶可覆蓋」機制?

詳見 anti-paternalism(含規則設計中的家長主義(paternalism)悖論案例)。


P — 準備好犯錯(Prepare to Be Wrong)

核心問句:「假設這個方案失敗了,最可能的原因是什麼?」

決策確定後、執行前,完成四項檢查:

檢查問題判斷
行前預想(Premortem)假設 12 小時後失敗了,列出 3 個最可能原因任一原因可能性 > 50% → 重新評估
未來區間最好的結果?最壞的結果?兩端都能接受嗎?
安全係數預估時間/資源 x 1.3-1.5(經驗起點、依任務調整)緩衝夠嗎?
回退計畫失敗怎麼回退?回退成本?回退成本 > 收益 → 重新評估

Gary Klein 方法:先假設計畫失敗了,然後問「是什麼殺了它?」比問「可能會失敗嗎?」多產出 25% 的洞察(且更具體)。

自我暴露偏好實踐(提供建議時必行)

提供建議時必暴露偏好、推理鏈、盲點,不偽裝中立:

實踐禁止正確
暴露偏好假裝中立提問「我傾向 X,理由 Y」
暴露推理鏈只給結論列出推理步驟讓用戶可追溯
暴露盲點假裝完整考慮「我可能漏掉的角度有 Z」
標記偏誤標成推薦(Recommended)改為「我目前的猜測」或不標

Voss 自陳:「one person’s influence is another person’s manipulation」——影響力的本質取決於是否被透明化。推薦標記(Recommended)已被學術界(DarkBench)列為 LLM 暗黑模式(dark pattern)。

詳見 anti-paternalism 「自我暴露偏好實踐」章節。


絆腳索(Tripwire)

核心理念:絆腳索不保證做出正確決定,但讓你意識到「是該做決定的時候了」。

絆腳索類型

類型觸發條件動作
期限型非核心問題花 > 15 分鐘建任務延後,回到核心
失敗型同一修改連續 2 次失敗搜尋社群或換方向
偏離型連續 2+ 個任務不在當前迭代目標回到核心任務
回退型已回退過一次完全停止,換方向
嘗試型同一問題修改嘗試 2 次向外求解
資料充足度進入決策諮詢前強制 Step 0 閘門

完整類型(含正面絆腳索 — 捕捉意外成功)、命名效應、切割機制見 tripwire-catalog

階段間切割點

WRAP 每階段之間是切割點 — 強迫問「是否繼續」:

  • Step 0 完成 → 「資料夠了嗎?還是需要先問?」
  • W 完成 → 「選項品質夠嗎?」
  • R 完成 → 「證據支持哪個選項?」
  • A 完成 → 「這符合核心優先事項嗎?」
  • P 完成 → 「行前預想的風險可接受嗎?」

與其他決策類 Skill 的關係

Skill 類型分工
技術方案比較(3+ 方案比較)方案比較用專用 skill;認知偏誤防護用 WRAP
Bug 證據驅動修復明確 bug 用證據驅動修復 skill;被困住/連續失敗用 WRAP
任務認知負擔評估任務拆分用專用 skill;決策品質用 WRAP
決策格式模板(5W1H)格式模板負責「怎麼寫」;WRAP 負責「怎麼想」
學習捕捉WRAP 的正面絆腳索串接學習捕捉 skill

參考文件

通用(可跨專案複用)

文件內容
detailed-techniques每階段的詳細技巧、範例、書中引用(DVD 實驗、努金調解、季辛吉陷阱、Gary Klein 方法)
pm-checklist快速模式 + 完整模式檢查清單 + 決策品質自測
tripwire-catalog絆腳索類型完整目錄、自動駕駛失敗模式、切割機制、命名效應
iterative-research多輪迭代查詢方法論(4 輪結構:發散 → 具體化 → 精準化 → 反向驗證 + 進入下一輪訊號 + 反向驗證 8 種類型範本)
anti-paternalism悖論識別檢查清單 + 自我暴露偏好實踐(善意家長主義(benevolent paternalism)4 條件測試、自我參照悖論識別、推薦標記(Recommended)是暗黑模式(dark pattern))
claim-quick-wrap任務啟動的簡化三問(W/A/P 1-2 分鐘版)、快速模式進一步壓縮版

專案整合(落地層)

需要把 WRAP 接到具體掛鉤(Hook)/ CLI / 任務系統時讀。各檔為「通用語意 → 專案實作」的對應範本,複用到新專案時各自改寫。

文件內容
integration-patterns落地層入口與路由:依賴方向(core → pattern → 專案)、8 個整合範本的索引

Last Updated: 2026-04-28 Version: 2.4.0 — 多輪 review 修正:參考文件表補 integration-patterns 路由 + claim-quick-wrap(原 orphan);觸發條件補「不可逆 / 時間壓力」「利害關係人衝突」+ 定義「快速+」模式;階段標題去除錯亂編號(0. / 5.);LLM 工具化偏誤改條件式語氣;安全係數標經驗值。 Version: 2.3.0 — 觸發條件新增 4 項決策路徑層干擾(CLI 自動駕駛(autopilot) / 既有結論錨定(Anchor) / 草率改規則 / 多步驟成功率盲點);既有觸發條件不變動(向後相容)。 Version: 2.2.0 — 觸發條件新增反思深度質疑(reflection_depth_challenge)說明,含與被困住語意的差異。 Version: 2.1.0 — 新增多輪迭代查詢方法論(W)+ 反向驗證範本(R)+ 悖論識別檢查清單(A)+ 自我暴露偏好實踐(P)+ 2 個新 references(iterative-research / anti-paternalism)。 Source: 《零偏見決斷法》(Decisive) — Chip Heath & Dan Heath