Cartesian Review
笛卡兒 5 鏡頭系統性分析 是做什麼的?
原則:笛卡兒《方法論》(1637) —「除了無法懷疑的事物之外,不接受任何事物為真。」 四項原則(明證、分析、綜合、列舉)+ 方法性懷疑,審查所有前提。
笛卡兒 4 原則 ↔ 5 鏡頭對應
| 笛卡兒原則 | 鏡頭 | 核心問題 |
|---|---|---|
| 列舉 (Dénombrement) | L1 應該加入的 | 「是否完整列舉,沒有遺漏?缺少了什麼?」 |
| 明證 (Évidence) | L2 不該加入的 | 「是否把不明確的事物當作真實接受了?」 |
| 綜合 (Synthèse) | L3 不該移除的 | 「是否從簡單到複雜有條理?結構的核心是什麼?」 |
| 分析 (Analyse) | L4 應該移除的 | 「當問題被分解到最小單位時,哪些是不必要的?」 |
| 方法性懷疑 (Doute) | L5 其他觀點 | 「如果這些前提全錯呢?從完全不同的脈絡來看呢?」 |
執行步驟
STEP 0 — 脈絡掌握 (30 秒)
閱讀審查對象並確認以下事項:
1. 文件類型分類(參考下方領域偵測)
2. 識別文件的主要消費者(Generator?使用者?AI Agent?)
3. 提取一行核心目的
4. 自動選擇 L5 外部觀點(依下方規則)
領域偵測 → L5 觀點自動選擇
Harness 開發需求書 → 「以實作此需求的 Generator 立場」
Harness 設計產出物 → 「以 Evaluator 五大支柱評分觀點」
程式碼/系統設計 → 「以六個月後接手此程式碼的開發者」
商業企劃/策略文件 → 「同時以投資者與執行負責人觀點」
政策/規範/慣例 → 「以必須遵循規範的現場人員」
教育/指南文件 → 「以初次接觸此領域的外人」
計畫/路線圖 → 「以計畫失敗後進行事後分析的人」
一般文件 → 「以反對該文件目的之批判性審查者」
STEP 0.5 — 確認 L5 懷疑範圍(使用者必須確定)
L5(方法性懷疑)所懷疑的範圍,必須在審查開始前由使用者明確選擇。 此選擇決定了 L5 的運作方式,因此必須在 STEP 1 之前詢問。 如果使用者已表達意圖(例如:「目標保持不變」、「請從議程開始重新審查」),則採用其意圖並僅以一行進行再次確認。
問題(原文呈現給使用者)
請選擇 L5(方法性懷疑)的懷疑範圍:
A. 過程限定(建議預設)
- 使用者目標、議程、審查委託意圖保持不變(不作為懷疑對象)
- L5 僅懷疑「為達成該目標所用的當前過程、方法、結構」
- 輸出中的「根本性重新審查」僅限於「目標相同,但採用不同方法的路徑」
- 適用時機:目標已確定,需要審查執行品質時
B. 包含上層前提
- 使用者目標、議程本身也納入懷疑對象
- 可以提問「這個目標是否應該是別的?」
- 輸出可包含目標重新定義、轉換或中止的建議
- 適用時機:議程本身處於假設階段,或目標是事先驗證
記錄與運作規則
- 將選擇結果標示於輸出最終格式的標頭中:
L5 懷疑範圍:A(過程限定)| B(包含上層前提) - 選擇 A 時:即使分析過程中發現目標本身有缺陷,也不予以否定或反駁,而是於「使用者確認必要假設」獨立章節中分離報告。不得將否定目標的結論直接寫入 L5 輸出。
- 選擇 B 時:可將否定、重新定義、轉換目標的結論直接納入 L5 輸出。
- harness Evaluator 自動呼叫時:自動固定為 A(因為是驗證 Generator 產出物,而非使用者議程)。
- 若使用者未明確表示偏好且要求立即進行,則以 A 為預設值,並以一行告知此事實。
STEP 1 — L1 · 列舉(應該加入的)
「確保沒有遺漏任何事物,並確信已審查了整體。」
核心問題
- 為了達成目的,缺少了什麼?
- 如果主要消費者不知道,會導致錯誤判斷的資訊是?
- 在此領域中原本應該存在卻遺漏的是?
- 若是 Harness 技能:是否缺少 Should NOT trigger、測試情境、領域框架?
輸出
| 項目 | 理由 | 優先級 |
|---|---|---|
| (遺漏的內容) | (為何需要) | 高/中/低 |
STEP 2 — L2 · 明證(不該加入的)
「除了清晰明確地呈現在我心智中的事物之外,不接受任何事物為真。」
每個鏡頭應獨立分析,不參考前一鏡頭的結果。避免偏誤。
核心問題
- 因為不明確反而造成混亂的是?
- 妨礙主要消費者自主判斷的過度規範是?
- 存在只會拉長文件,但對產出品質沒有貢獻的是?
- 若是 Harness 需求書:Generator 應自行決定的事情是否已被事先指定?
輸出
| 項目 | 為何有害 | 風險程度 |
|---|---|---|
| (不應加入的內容) | (具體危害) | 高/中/低 |
STEP 3 — L3 · 綜合(不該移除的)
「從最簡單、最容易認識的事物開始,逐步上升到複雜的事物。」
核心問題
- 缺少這項,核心目的就無法達成的是?
- 包含先前討論或共識結論的是?(移除會失去脈絡)
- 屬於系統不變原則、法律要求或安全機制的內容?
- 是其他元素所依賴的基礎元素?(移除會導致依賴元素也崩潰)
輸出
| 項目 | 為何必要 | 重要性 |
|---|---|---|
| (必須保留的項目) | (移除後的後果) | 核心/重要/輔助 |
STEP 4 — L4 · 分析(應該移除的)
「為了解決問題,將問題盡可能分解成最小的部分。」
核心問題
- 核心原則已包含其中,因此造成重複的是?
- 為了非主要消費者(營運者、作者)而錯誤混入的說明是?
- 脫離脈絡閱讀時會干擾方向的具體實作細節是?
- 存在但對產出品質沒有實質貢獻的是?
輸出
| 項目 | 為何是多餘的 | 移除效果 |
|---|---|---|
| (應移除的項目) | (具體理由) | 清晰度↑/簡潔↑/混亂↓ |
STEP 5 — L5 · 方法性懷疑(其他觀點)
「懷疑一切。只有無法懷疑的事物才是真理。」
以 STEP 0 中自動選擇的外部觀點 + STEP 0.5 中使用者選擇的懷疑範圍(A/B) 進行分析。
懷疑範圍分岔
- A(過程限定):外部觀點提問「使用者目標保持不變,但為了達成此目標的當前過程、方法、結構是否正確?」
- 四步驟中的「完全不同的方向」解釋為 「目標相同,僅方法不同的路徑」。
- B(包含上層前提):外部觀點也懷疑使用者目標與議程本身。四步驟中的「完全不同的方向」可包含目標重新定義、轉換或中止的建議。
執行
- 明確標示所選觀點:「此分析以 {觀點} 的視角,懷疑範圍 {A|B} 進行」
- 從該觀點探索 L1~L4 結論中被推翻的部分
- 從該觀點探索發現的新空白與風險
- 該觀點會說「這應該朝完全不同的方向進行」嗎?(套用 A/B 分岔解釋)
- 若選擇 A 時發現目標本身有缺陷 → 分離至「使用者確認必要假設」章節報告
輸出
觀點:{自動選擇的外部視角}
懷疑範圍:{A | B}
由此觀點發現:
- L1~L4 結論中被推翻的部分:...
- 新的空白:...
- 需要重新審查的點:
· 選擇 A 時:僅記述當前過程、方法的重新審查點
· 選擇 B 時:可記述過程 + 目標、議程重新定義的建議
(選擇 A 時額外,僅於有相關事項時)
使用者確認必要假設:
- 分析過程中對目標本身發現的疑問(非否定或反駁)
STEP 6 — 交叉分析與執行結論
交叉比對 5 個鏡頭的結果。
交叉分析 3 軸
[L1 × L4 衝突]
想加入的(L1)與應移除的(L4)是否涵蓋相同領域?
→ 解決方式:「以不同方式加入」或「改善既有項目」
[L2 × L3 界線]
禁止加入(L2)與禁止移除(L3)是否涵蓋相同項目?
→ 緊張點:存在有害、不存在也有害 → 考慮形式轉換
[L5 反轉]
方法性懷疑推翻了 L1~L4 中的哪些結論?
→ 被推翻的結論以「條件式適用」或「重新審查前提」處理
執行優先級對應
立即(本次工作): L1 高 + L4 高 項目
下一步(計畫): L1 中 + L5 發現的空白
長期/暫緩: L1 低 + L2 低風險
請勿觸碰: L3 核心全部
輸出最終格式
# Cartesian Review — {文件名稱或對象摘要}
**L5 所選觀點**:{自動選擇的外部視角}
**L5 懷疑範圍**:{A(過程限定)| B(包含上層前提)}
**審查目的**:{一行摘要}
---
## L1 · 列舉 — 應該加入的
| 項目 | 理由 | 優先級 |
|---|---|---|
## L2 · 明證 — 不該加入的
| 項目 | 為何有害 | 風險程度 |
|---|---|---|
## L3 · 綜合 — 不該移除的
| 項目 | 為何必要 | 重要性 |
|---|---|---|
## L4 · 分析 — 應該移除的
| 項目 | 為何是多餘的 | 移除效果 |
|---|---|---|
## L5 · 方法性懷疑 — {觀點名稱}(懷疑範圍:{A|B})
由此觀點被推翻的結論:...
新的空白:...
需要重新審查的點:...
- A:僅當前過程、方法(目標固定)
- B:過程 + 目標、議程重新定義
(選擇 A 時額外,僅於有相關事項時)
**使用者確認必要假設**:分析過程中對目標本身發現的疑問(非否定,而是確認請求)
---
## 交叉分析
- **L1×L4 衝突**:...
- **L2×L3 界線**:...
- **L5 反轉**:...
## 執行結論
| 優先級 | 行動 | 依據鏡頭 |
|---|---|---|
| 立即 | ... | L1/L4 |
| 下一步 | ... | L1/L5 |
| 請勿觸碰 | ... | L3 |
Should NOT Trigger
- 單純事實確認(「這個日期對嗎?」、「請執行這段程式碼」)
- 創作或寫作請求(沒有審查對象時)
- 已經有結論、僅需同意時
(「這樣做可以嗎?」→ 單純確認請求)
- 資訊檢索問題(「什麼是 LlamaIndex?」)
- 少於 10 行的簡短備忘(過度分析)
harness-designer-workspace 整合
harness-designer-workspace v4 的 Evaluator 階段(Phase 3) 會呼叫此技能。
整合方式
Evaluator 完成五大支柱評分(15 項目)後,在判定為 PASS(90 分以上)之前執行:
[Evaluator Phase 3 新增步驟]
3-1. 五大支柱評分(既有)
3-2. 分數分岔(既有)
3-2.5. PASS 判定時 → 執行 Cartesian Review ← 新增
- 審查對象:Generator 產出物完整內容(CLAUDE.md + AGENTS.md + 協定)
- L5 觀點:自動選擇 →「Harness 設計產出物」→ Evaluator 五大支柱觀點
- 目的:即使五大支柱判定 PASS,仍找出被忽略的實用性缺陷
- 結果在 3-5(Layer 2 結構最終討論)之前向使用者報告
3-3. 重新驗證規則(既有)
harness Evaluator 呼叫時的固定 L5 觀點與範圍
審查 Harness 產出物時,L5 始終為:
「以初次接手、必須實際運作此 Harness 的 Agent 觀點
— 如果只能讀 CLAUDE.md 就立即開始工作,會遇到什麼阻礙?」
此外,L5 懷疑範圍始終固定為 A(過程限定)。自動呼叫時省略 STEP 0.5 的使用者提問。 原因:驗證對象是 Generator 產出物,而非使用者議程或目標。 在 A 運作過程中若對目標本身產生疑問,則分離至「使用者確認必要假設」章節,交由 Harness 流程的結果處理階段處理。
整合後的 harness Evaluator 流程
Generator 完成
↓
五大支柱評分(15 項目)
↓
分數分岔
├─ 70 分以下 → Planner 重新設計
├─ 70~89 分 → Generator 重新作業
└─ 90 分以上 → 執行 Cartesian Review
↓
交叉分析報告
↓
Layer 2 結構討論
↓
使用者最終核准
使用範例
獨立使用
使用者:請用 /cartesian-review 審查這份開發需求書
Claude:[執行 SKILL — 5 鏡頭分析 → 輸出執行結論]
harness 整合自動呼叫
[harness Evaluator 判定 90 分以上後]
Claude:Evaluator 評分完成(92 分)。
將額外執行 Cartesian Review 以檢查實用性缺陷。
[執行 SKILL]
→ L1:缺少測試情境(高)
→ L4:CLAUDE.md 草稿與需求書中的描述重複
→ L5:Agent 觀點 —「/ingest 執行時缺少對 raw/ 檔案類型判斷失敗的處理」
在進入 Layer 2 結構討論之前,是否要反映這些項目?
基於笛卡兒《方法論》(Discours de la Méthode, 1637)四項原則 支援 harness-designer-workspace v4.1 Evaluator 整合