| name | wrap-decision |
| description | WRAP 決策框架 — 認知偏誤防護、選項擴增與資料充足度閘門。防止自動駕駛、假選項、證據不足下的倉促決策。Use when: 被困住或連續失敗 2+、宣稱「做不到/無法/禁止」前、偏離核心目標、根因分析、代理人失敗歸因、提案評估、重大架構或規則決策、個人化建議(健康/醫療/金錢/法律)前、Context 沉重時。Triggers: stuck, blocked, loop, no progress, 分析, debug, 做不到, 限制性解法, 個人化建議, 具體推薦。 |
WRAP 決策框架 Skill
框架結構:錨點確認 → Step 0(資料充足度閘門)→ W(擴增選項)→ R(實境檢驗)→ A(拉開距離)→ P(準備好犯錯)→ 絆腳索(持續監控)
核心理念:提醒決策者「你是有選擇的」,不替決策者做選擇。
本 SKILL 為通用 WRAP 規則,獨立於任何專案框架。若本專案有對應落地實作,詳見 SKILL 尾部「本專案落地」索引。
觸發條件
| 情境 | 識別特徵 | 模式 |
|---|
| 連續失敗 | 同一問題修改 2+ 次仍失敗 | 快速 |
| 被困住 | 表達「做不到」「沒辦法」「不支援」「禁止」「不可能」 | 快速 |
| 偏離核心 | 連續 2+ 個任務單位不在當前迭代目標 | 完整 |
| 重大決策 | 影響架構/流程/版本方向的非技術決策 | 完整 |
| 救火排擠 | 花 > 30 分鐘在非原定計畫的問題上 | 快速 |
| 分析任務 | 根因調查、代理人失敗歸因、測試失敗檢討 | 快速+(配合 two-phase reflection) |
| 根因深度反思 | error-pattern 根因章節、用戶質疑「分析太表層」、ANA Ticket 產出 | Phase 2 WRAP 強制(見 .claude/methodologies/three-phase-reflection-methodology.md) |
| 反思深度質疑(S4) | 用戶說「太表層」「不夠深」「再想想」「這解釋不了」「為何不是」「更深一層」「還有其他可能嗎」,或使用 introspection 關鍵字;與 S2(被困住)的語意差異:S4 是正向「想更深」(質疑分析不夠徹底),S2 是否定「做不到」(宣告限制性結論);Hook category: reflection_trigger(非 wrap_standard) | three-phase-reflection 強制(見 .claude/methodologies/three-phase-reflection-methodology.md):Phase 1 列 5+ 候選假設 + Reality Test + 2 層深因 → Phase 2 WRAP 檢驗 → Phase 3 方法論對照 |
| 提案評估 | 評估提案可行性 | 完整 |
| 個人化建議 | 使用者用「我」「我該」「推薦給我」,或話題涉及健康/運動/裝備/金錢/法律/醫療 | Step 0 強制 |
快速模式(5 分鐘):錨點 + Step 0 + W + 基本率(R 核心)+ 機會成本(A 核心)+ 決定
完整模式(15-30 分鐘):全階段
Step 0 強制:個人化建議場景,不論採用哪個模式,Step 0 為必經閘門
各專案可依自身工作流建立機器可讀觸發條件、自動觸發機制、關鍵字清單對應,以及任務啟動階段的簡化三問(W/A/P 1-2 分鐘版)。本專案落地實作詳見 SKILL 尾部「本專案落地」索引。
0. 錨點確認(Anchor Check)
進入分析前先確立錨點。
第一錨點 — 產品決策:
| 問題 | 目的 |
|---|
| 「誰是我們的客戶?」 | 建立決策錨點 |
| 「當前的核心目標是什麼?」 | 對齊迭代目標 |
第二錨點 — 流程決策:
| 問題 | 目的 |
|---|
| 「這個流程改善影響決策品質或開發效率嗎?」 | 區分「改善工具」vs「低價值維護」 |
| 「不做這個改善,會重複付出什麼代價?」 | 評估一次性投入 vs 持續回報 |
閘門判斷:
這個問題影響核心客戶 / 核心目標嗎?
├─ 是 → 進入 Step 0
├─ 否 → 這個流程改善影響決策品質或開發效率嗎?
│ ├─ 是且持續回報 > 一次性投入 → 進入 Step 0
│ ├─ 是但低回報 → 建提案(提案暫存區) → 回到核心任務
│ └─ 否 → 記錄待辦 → 回到核心任務
└─ 純粹救火 → 建任務單位 + 低優先級 → 回到核心任務
引用:英特普拉思特「病人才是我們的客戶」— 確立後,所有困難的決定都有了錨點。
Step 0. 資料充足度閘門(Data Sufficiency Gate)
核心問句:「我手上的資訊夠做這個決策嗎?還是我正在用假設替代資料?」
模式辨識
| 模式 | 特徵 | 答案來源 |
|---|
| 資訊查詢 | 問的是客觀知識(「X 和 Y 差別」「怎麼運作」) | 公開資料即可 |
| 決策諮詢 | 問的是「我該怎麼選/做/買」 | 必須基於當事人條件 |
使用者說「我是 X」、「推薦給我」、「我該買哪個」 → 決策諮詢。不能用群體平均值替代個案資料。
判定流程
Step 0:資料充足度檢查
│
├─ 檢查 1:我知道當事人是誰嗎?(年齡/性別/身體/財務條件)
├─ 檢查 2:我知道當事人的目標嗎?
├─ 檢查 3:我知道當事人的限制嗎?(預算/時間/禁忌)
├─ 檢查 4:我知道當事人的環境嗎?(地區/可用資源)
├─ 檢查 5:我在用「平均值假設」替代「個人資料」嗎?
└─ 檢查 6:如果假設錯誤,後果會嚴重嗎?
│
▼
判定結果
├─ 資料充足 → 進入 W 階段
├─ 資料不足 + 低風險 → 進入 W,但標記假設
├─ 資料不足 + 中風險 → 暫停,漸進式問 2-3 個關鍵變數
└─ 資料不足 + 高風險 → 強制完整問卷 + 建議諮詢專業人士
為什麼 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 應檢出的問題,不是 R 的工作 |
| Attain Distance 的機會成本計算需假設用戶偏好 | 偏好是 Step 0 資料,不該在 A 階段假設 |
失敗模式:Step 0 最容易被跳過是因為反問當事人打斷對話流暢度。但流暢度的代價應該由當事人決定,不是由決策者單方面優化掉。
各專案可建立個人化建議的三層機制(識別 / 分級 / 誠實)。本專案落地實作詳見 SKILL 尾部「本專案落地」索引。
W — Widen Your Options(擴增選項)
核心問句:「還有什麼其他方式可以達成目標?」
爬梯子法(由近到遠)
| 層級 | 搜尋範圍 | 做法 |
|---|
| 0. 身邊 | 本專案既有程式碼/模組 | 搜尋既有 API |
| 1. 同層 | 本專案其他模組的做法 | 檢查類似功能的實作 |
| 2. 同領域 | 社群(GitHub Issues、文件) | 網路搜尋 |
| 3. 跨領域 | 其他工具/框架的類比方案 | AI 內建知識調用 |
每層找到可行方案就停止,找不到才往上爬。
品質檢查
| 檢查 | 問題 | 不通過的信號 |
|---|
| 選項消失測試 | 如果以上全部不能選,還能怎麼做? | 想不出來 → 框架太窄 |
| 假選項偵測 | 選項之間有實質差異嗎? | 全部指向同一根因/同一途徑 → 季辛吉陷阱 |
| 框架測試 | 能否用一句話概括所有選項? | 可以 → 選項多元性不足 |
| 方案性質三類涵蓋(PC-095) | 候選方案是否涵蓋 新增工具 / 改造既有 / 零工具或純文件 三類? | 全屬「新增工具」→ LLM toolification 偏見,強制補「改造既有」與「零工具」選項 |
| 方案關聯性檢查(PC-095) | 任兩方案是否可退化為同一方案或既有機制? | 可退化 → 實質選項數量要重算(假多樣性) |
| Consider the Opposite | 如果我相信的正好相反,會怎樣?真正該問的問題是什麼? | 能提出有力相反論述 → 重新定義問題後從 W 重跑 |
Consider the Opposite 是最容易被跳過但最重要的檢查 — 也是防止「在錯誤問題框架下擴增選項」的最後防線。詳細操作與範例見 references/detailed-techniques.md。
方案性質三類涵蓋與方案關聯性檢查源自 PC-095:LLM 訓練資料偏向「新工具教學」,W 階段候選方案結構性偏向「新增工具」,排除「改造既有機制」與「零工具」選項。即使補上 N 方案,若方案間強關聯也可能退化為 1 實質選項。W10-017(案例 1)與 W10-017.9(案例 2)均為 parallel-evaluation Plan 視角揭露。
假設層級多元性(真 Widen 原則)
選項必須在「假設根因」層級多元,而不只是「實作手段」層級多元。
Widen 出多個方案 ≠ 真正擴增了選項空間。若所有方案都接受同一個未驗證的根因假設,仍是偽 Widen — 方案脫靶率會集中分佈(要嘛全中、要嘛全脫)。
最低操作:列方案前先寫出「我假設問題是 X 造成的」,再質疑 X 是否為真根因。
完整偽 Widen 防護(三層質疑 + Reality Test 閘門 + 警告信號)與本專案案例見 SKILL 尾部「本專案落地」索引。分析類任務(根因調查、設計決策)建議完整執行。
多輪迭代查詢(深度議題建議)
對複雜議題(如規則設計、提案評估),W 階段不應一次性完成擴增,採四輪迭代結構:
| 輪次 | 名稱 | 目的 |
|---|
| 1 | 發散型 (Divergent) | 廣泛關鍵字鋪面建立問題地圖 |
| 2 | 具體化 (Concrete) | 將抽象主題轉為具體案例 |
| 3 | 精準化 (Precise) | 從前兩輪提煉精準關鍵字深挖 |
| 4 | 反向驗證 (Inverse) | 對結論找反例 / 批評 / 反駁 |
進入下一輪訊號(至少 3 條)、邊界條件、實證統計詳見 references/iterative-research.md。
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、欄位語意)比整體清單可信
完整防護(幻覺模式分類、逐項核對流程、反模式)與本專案案例見 SKILL 尾部「本專案落地」索引。
試水溫(Ooch)
對每個選項問:「能否用最小成本驗證?5 分鐘內能得到初步答案嗎?」
鋼鐵人測試(Steelman)
選定方案後、執行前:
- 「用最有力的方式陳述被放棄選項的優點」
- 「列出選定方案的三個缺點」
做得到 → 決策品質足夠;做不到 → 回到 R 階段補充。
反向驗證範本(深度議題建議)
對結論做反向搜尋避免確認偏誤。標準格式:
| 我們的結論 | 反向搜尋目標 |
|----------|-----------|
| [結論] | [批評 / 反例 / 反駁 / 限制] |
至少涵蓋 4-8 種反向方向類型(學術批評 / 反方論點 / 失效情境 / 統計限制 / 文化限制 / paternalism 警示 / trade-off 揭露 / 自我參照悖論)。
詳見 references/iterative-research.md 「反向驗證實踐範本」章節。
A — Attain Distance(拉開距離)
核心問句:「投入這個問題的時間,會擠壓哪個更重要的目標?」
前置強制檢查(PC-080 / PC-088 防護)
來源:PC-080 WRAP A 階段框架檢查未做 + PC-088 LLM tool selection 偏誤。進入 A 前必完成以下 4 項檢查,任一觸發即回 W 階段重擴增。
| 檢查項 | 問題 | 觸發條件 |
|---|
| 框架概括測試 | 能否用一句話概括所有候選方案? | 「能」→ 選項多元性不足,回 W |
| 反面框架識別 | 問題的反面框架是什麼?(例:「如何擋 X」的反面是「為何會有 X」) | 未列出反面框架即進 A → 強制停下列出 |
| 相反論述檢視 | Consider the Opposite:若我相信的正好相反會怎樣?真正該問的問題是什麼? | 能提出有力相反論述 → 重新定義問題後從 W 重跑 |
| Tool selection check(PC-088) | 物化 / 步驟數 / 目的地 / 白名單 4 問(見下) | 任一問暴露繞路 → 回 W 換 1 步工具 |
Tool selection check 觸發條件:選 tool 前 + 預估步驟數 > 2 + 涉及 Write/Bash 組合(例如 Write 暫存檔再 Read 再 Bash 寫入)。
Tool selection 4 問(PC-088 物化檢查):
| 問題 | 核心 | 範例(反模式 → 正確) |
|---|
| Q1 物化檢查 | 我是否把「解決方案」物化為「工具」(「用 Write 建檔」),而非解決「問題」(「把文字寫進 ticket」)? | 「Write /tmp/ctx.md 再 Read 再 bash append-log」(物化)→「heredoc append-log」(解決問題) |
| Q2 步驟數檢查 | 選擇路徑的實際步驟數是 N? 有無 1 步路徑被忽略? | 3 步(Write→Read→Bash)→ 1 步(heredoc Bash 或 Edit ticket md) |
| Q3 目的地檢查 | 工具產出目的地是 CLI/檔案系統? 匹配需求嗎? | 目的是寫進 ticket md → 首選 Edit md / heredoc CLI,非 Write 到 /tmp 中介 |
| Q4 白名單檢查 | 目前工具是否在「低摩擦首選」名單外(偏好 heredoc Bash / Edit 直接編輯,次選 Write 類)? | 長文寫入 ticket 首選 Edit md 或 cat <<'EOF' heredoc |
違反防護的代價:A 階段方案比較表面周詳,實際全指向同類型解法(如本專案 W13-007 案例:6 方案全在「擋訊號」框架,用戶 reframe 後整個 A 階段失效重做);或單步最優化但總步驟盲(PC-087 繞 /tmp 3 步路徑被 LLM 誤估為「容易」)。
完整 4 問操作細節與 PC-087 情境驗證見 references/detailed-techniques.md 「Tool selection check 詳細技巧」章節。
機會成本顯性化
每個選項強制列出:
選項 A:[做法]
機會成本:花 X 時間,這段時間可以 [替代用途]
風險:[可能失敗的條件]
不選其他的代價:[放棄什麼]
引用:DVD 實驗 — 只加上「不買,留下 14.99 美元買別的」,不買率從 25% 升到 45%。顯性化機會成本能改變決策。
10/10/10 規則
| 時間 | 問 |
|---|
| 10 分鐘後 | 這個決定當下的感受 |
| 10 個月後 | 這個決定對使用者/專案的影響 |
| 10 年後 | 這個決定對整體生態/信任度的影響 |
核心優先事項對齊
| 問題 | 目的 |
|---|
| 「這個決策服務於哪個優先事項?」 | 對齊 |
| 「如果優先事項衝突,哪個排第一?」 | 排序 |
| 「投入這問題的時間,擠壓哪個更重要的目標?」 | 機會成本 |
排序確定後,低優先事項的決策自動有答案 — 記錄延後,不投入時間。
提案系統對接
不是「待辦清單」(焦慮全部做完),而是「安全停放區」(想法被記錄,明確標示「現在不做」)。
| 系統 | 角色 |
|---|
| 提案暫存區 | 安全停放區 — 記錄想法,不代表要做 |
| 任務追蹤系統(pending) | 承諾清單 — 已決定要做,排入排程 |
| 迭代目標文件 | 核心優先事項 — 當前迭代的目標 |
悖論識別檢查清單(規則 / Skill / Hook 設計時必檢)
設計規則 / 流程 / 系統時,必對 5 條檢查清單逐項自檢:
詳見 references/anti-paternalism.md(含 W14-019 規則 5 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。
詳見 references/anti-paternalism.md 「自我暴露偏好實踐」章節。
5. 絆腳索(Tripwire)
核心理念:絆腳索不保證做出正確決定,但讓你意識到「是該做決定的時候了」。
絆腳索類型
| 類型 | 觸發條件 | 動作 |
|---|
| 期限型 | 非核心問題花 > 15 分鐘 | 建任務延後,回到核心 |
| 失敗型 | 同一修改連續 2 次失敗 | 搜尋社群或換方向 |
| 偏離型 | 連續 2+ 個任務不在當前迭代目標 | 回到核心任務 |
| 回退型 | 已回退過一次 | 完全停止,換方向 |
| 嘗試型 | 同一問題修改嘗試 2 次 | 向外求解 |
| 資料充足度 | 進入決策諮詢前 | 強制 Step 0 閘門 |
完整類型(含正面絆腳索 — 捕捉意外成功)、命名效應、切割機制見 references/tripwire-catalog.md。本專案的 Hook 自動觸發與訊號對應見 SKILL 尾部「本專案落地」索引。
階段間切割點
WRAP 每階段之間是切割點 — 強迫問「要不要繼續」:
- Step 0 完成 → 「資料夠了嗎?還是需要先問?」
- W 完成 → 「選項品質夠嗎?」
- R 完成 → 「證據支持哪個選項?」
- A 完成 → 「這符合核心優先事項嗎?」
- P 完成 → 「行前預想的風險可接受嗎?」
與其他決策類 Skill 的關係
| Skill 類型 | 分工 |
|---|
| 技術方案比較(3+ 方案比較) | 方案比較用專用 skill;認知偏誤防護用 WRAP |
| Bug 證據驅動修復 | 明確 bug 用證據驅動修復 skill;被困住/連續失敗用 WRAP |
| 任務認知負擔評估 | 任務拆分用專用 skill;決策品質用 WRAP |
| 決策格式模板(5W1H) | 格式模板負責「怎麼寫」;WRAP 負責「怎麼想」 |
| 學習捕捉 | WRAP 的正面絆腳索串接學習捕捉 skill |
參考文件
通用(可跨專案複用)
| 文件 | 內容 |
|---|
references/detailed-techniques.md | 每階段的詳細技巧、範例、書中引用(DVD 實驗、努金調解、季辛吉陷阱、Gary Klein 方法) |
references/pm-checklist.md | 快速模式 + 完整模式檢查清單 + 決策品質自測 |
references/tripwire-catalog.md | 絆腳索類型完整目錄、自動駕駛失敗模式、切割機制、命名效應 |
references/iterative-research.md | 多輪迭代查詢方法論(4 輪結構:發散 → 具體化 → 精準化 → 反向驗證 + 進入下一輪訊號 + 反向驗證 8 種類型範本) |
references/anti-paternalism.md | 悖論識別檢查清單 + 自我暴露偏好實踐(4 條件 benevolent paternalism 測試、自我參照悖論識別、Recommended 標記是 dark pattern) |
本專案落地(book_overview_v1 特定)
| 文件 | 內容 |
|---|
references/project-integration/README.md | 本專案整合層導讀、依賴方向、讀取路徑、維護原則 |
references/project-integration/triggers-alignment.md | YAML/Hook/SKILL 三層觸發條件對應 |
references/project-integration/simplified-three-questions.md | 任務啟動簡化三問的實作對齊 |
references/project-integration/pseudo-widen-guard.md | 偽 Widen 防護完整規格 + 本專案案例 |
references/project-integration/source-verification.md | 來源核對完整規格 + 本專案案例 |
references/project-integration/personalized-advice.md | Step 0 個人化建議本專案落地 |
references/project-integration/pm-rules-map.md | pm-rules 索引 |
references/project-integration/case-studies.md | 本專案 WRAP 案例集(PC/W 編號) |
Last Updated: 2026-04-18
Version: 2.2.0 — 觸發條件新增 S4 反思深度質疑(reflection_depth_challenge)說明,含與 S2 語意差異(正向「想更深」vs 否定「做不到」)及 Hook category: reflection_trigger。來源:W15-009 Solution §4 §5 T3 落地(W15-019)。
Version: 2.1.0 — 新增多輪迭代查詢方法論(W)+ 反向驗證範本(R)+ 悖論識別檢查清單(A)+ 自我暴露偏好實踐(P)+ 2 個新 references(iterative-research / anti-paternalism)。來源:W14-019 規則 5 設計過程實證。
Source: 《零偏見決斷法》(Decisive) — Chip Heath & Dan Heath