你讓 ChatGPT 寫一段程式,它寫好了,你請它「再檢查一次有沒有 bug」。它很認真地看了一遍,然後說「啊我發現問題了」,接著把你的正確邏輯改成錯的。或者你讓它算一題數學,它算出 42,你叫它確認一下,它改成 37,但原本是對的。
不是你的運氣特別差。過去一年越來越多的研究指向一個結論:
叫 LLM 自我修正,大部分時候不只沒用,還經常把對的搞錯。
而且如果你換另一個更強的模型來幫它 review,那個強模型根本沒有在審查,它只是自己重做了一遍。
2026年1月6號 Yin Li 發表了一篇討論單一模型自我修正悖論的論文(Decomposing LLM Self-Correction: The Accuracy-Correction Paradox and Error Depth Hypothesis)。2026 年四月 CMU 團隊接續發表Revision or Re-Solving? Decomposing Second-Pass Gains in Multi-LLM Pipelines,討論「兩個模型接力」時第二個模型究竟在幹嘛。
Accuracy-Correction Paradox:
最強的不會修,最弱的反而會
論文用 GSM8K-Complex,一組高難度數學題庫(500 題,每題至少 4 個運算步驟),測試了三款模型:DeepSeek(強)、Claude(中)、GPT-3.5(弱)。結果如下:
- DeepSeek(94% 準確率):內在修正率只有 16.7%
- GPT-3.5(66% 準確率):內在修正率 26.8%
- Claude(70% 準確率):內在修正率 29.1%
最需要修正的模型(因為它犯最多錯),修正率反而是最強模型的 1.6 倍。這叫 Accuracy-Correction Paradox。
Error Depth Hypothesis:
強模型犯的錯更深
為什麼會這樣?論文分析了錯誤類型分佈,發現 GPT-3.5 高達 62% 的錯誤是純粹的計算失誤,像是數字加錯、乘錯,回頭檢查很容易發現。但 DeepSeek 的錯誤只有 22% 是計算錯,其餘 77% 是邏輯錯誤和題意理解錯誤,整個解題方向就有問題,或者CoT中藏了一個細微漏洞。這種錯連模型自己都很難抓出來。
這就是 Error Depth Hypothesis:
強模型並非比較不會修正錯誤,它會犯的錯本身就是比較難修的錯誤。
Paradox 的根源不在修正能力,在錯誤的本質。
偵測率與修正率脫鉤,提示反而有害
論文還有兩個關鍵發現。
第一:偵測率和修正率幾乎無關。
Claude 只能正確偵測 10% 的錯誤,但直接要求它修正時,成功率反而有 29%,它擁有修正自己沒發現錯誤的能力。GPT-3.5 偵測率高達 82%,但修正率只有 27%。
第二:過度聚焦
當研究人員讓模型自己定位錯誤在哪一步,然後把這個資訊當提示餵回去時,所有模型的修正率都下降了(GPT-3.5 從 26.8% 掉到 15.5%,Claude 從 29.1% 掉到 12.8%)。被引導到特定步驟後,模型會過度聚焦在那裡,反而忽略了其他地方可能也有錯。
迭代反思:雙面刃
迭代反思(反覆檢查多輪)對偵測弱的模型幫助最大,Claude 從 29% 提升到三輪後的 61%,GPT-3.5 提升到 68%。但 Snorkel AI 隨後發現一個嚴重問題,對簡單任務(準確率 ≥75%),迭代五輪讓準確率從 98.1% 掉到 56.9%;對困難任務(<35%)才有效。簡單任務上模型會為了找錯而幻想出錯誤,稱為「腐蝕性批評(corrosive critique)」。
叫更強的模型來審查呢?
如果問題不在「自己修自己」,那換一個更強的模型來 review 呢?CMU 團隊在 2026 年四月用一個精巧的四條件實驗回答了這個問題。
他們設計了四個條件:
- x₁ 弱模型直接回答(基準線)
- x₂ 強模型 review 弱模型真實草稿(你以為的效果)
- x₃ 強模型直接回答不看草稿(強模型自己多強)
- x₄ 強模型收到語意空白的格式殼(review 框架的效益)。
然後把 x₂ 的增益拆成三塊:Re-solving(強模型自己做,跟草稿無關)、Scaffold(框架效益)、Content(弱模型草稿的實際貢獻)。
在往下看之前,你認為表現應該如何?
在選擇題任務(GPQA Diamond、Humanity's Last Exam)上,content effect 完全不顯著,強模型根本沒有在看弱模型的推理,它只是自己重做了一遍。反而直接問強模型還比標準審查流程高(89.9% vs 87.4%)。
在程式碼任務(LiveCodeBench,1054 題競賽級題目)上更極端。weak-draft content 顯著為負(−3.1pp ∼ −7.9pp)。強模型收到空殼 scaffold 時表現最好(87%),收到弱模型寫的真實程式碼時反而更差(83.9%)。問題越難,content 傷害越大,從 Easy 的 −0.6pp 一路掉到 Hard 的 −5.1pp。
原因在於程式碼是逐步展開的成品,不是抽象推理。當弱模型寫了一個脆弱的 parser 或錯誤的邊界處理,強模型在 review 時會被卡在那個區域性的實作細節裡(artifact-level anchoring),很難跳出重來。空殼 scaffold 雖然沒有演算法邏輯,但提供了一個語法正確、形狀像程式碼的空物件,讓強模型進入「補完模式」而不是「修正模式」。
角色反轉實驗也證實了這點:
讓強模型寫草稿、弱 model 去 review,content effect 就翻正了。問題就在草稿品質。
FAQ
Q:那以後都不能叫 AI 檢查自己的答案了?
A:可以但有策略。簡單任務不要重複檢查;困難任務叫它「重新從頭思考」;如果找外部模型 review,先確認那個模型直接回答的表現。
Q:為什麼弱草稿對 code 有害、對選擇題沒差?
A:選擇題答案空間小,強模型可忽略弱推理直接猜;寫程式會被脆弱的實作細節卡住(artifact-level anchoring)。
Q:偵測和修正是同一回事嗎?
A:不是。Claude 只能抓到 10% 的錯誤但能修正 29%,GPT-3.5 抓到 82% 但只修正 27%。兩者完全獨立。
Q:叫 AI 修改多次會不會越來越準?
A:視任務難度。簡單任務迭代大幅衰退(98.1% → 56.9%);困難任務前幾次有效但邊際效益遞減。先小規模測試看看趨勢。
結語
自我修正不是一個預設有用的功能。第二遍的增益主要來自模型自身能力,而不是「修正」這個動作的價值。
- 簡單任務不要迭代。準確率高的任務迭代只會引發腐蝕性批評。
- 叫它「重新思考」而不是「檢查錯誤」。給定位提示反而降低修正率。
- 不要讓強 model review 弱 model 的程式碼。弱草稿的 content 有害,空殼 scaffold 都比真實爛程式碼好。
- 對選擇題直接問最強的模型就好。review 流程不會比直接回答更好,還有 chance 把對的改錯。
- 外部驗證永遠比內在修正可靠。能跑程式碼就跑,能查資料庫就查,不要讓 AI 空轉。















