這項由VinUniversity-Illinois智能健康中心與美國伊利諾伊大學厄巴納-香檳分校聯合開展的研究,於2025年5月以預印本形式發布在arXiv平台,論文編號為arXiv:2603.16331v2。感興趣的讀者可以通過這個編號在arXiv上找到完整論文原文。
---
假設你正在輔導一個中學生做數學題。你發現他在演算過程中算錯了一步——3加4他寫成了6——但奇怪的是,當他最終寫出答案時,答案卻是對的。你翻看他的草稿,沒有任何劃掉重寫的痕跡,也沒有任何"哦我剛才算錯了"的備註,整個演算過程就那麼錯著,但答案偏偏對了。
你會怎麼想?這個學生是不是在腦子裡"悄悄"修正了錯誤,只是沒有在紙上寫出來?
研究團隊面對的正是這樣一個謎題,只不過被輔導的不是人類學生,而是當前最先進的大型推理模型(Large Reasoning Models,簡稱LRM)——比如DeepSeek-R1系列和Qwen3系列。而這個"在草稿紙上算錯、但最終答案卻對了"的現象,被他們命名為**隱藏的自我修正能力
(hidden critique ability)**。
這項研究不只是觀察到了這個有趣現象,更深入挖掘了它背後的機制,並找到了一種無需重新訓練模型就能增強這種能力的方法。
---
一、AI的"推理草稿本"是怎麼工作的
要理解這件事的意義,先得知道這些推理模型是怎麼工作的。
當你向ChatGPT或DeepSeek提問時,普通語言模型會直接給你一個答案。但推理模型不同,它們會先在一個"草稿本"里進行推演。在模型的輸出里,這個草稿本被標記在`
這套機制的設計初衷是讓模型像人類解題一樣,先打草稿、再給答案,從而提升準確率。研究發現,這些模型確實能在草稿中發現錯誤並回頭修改,也就是所謂的"回溯"(backtracking)——當模型意識到之前的推理有問題時,會寫出"Wait, I made a mistake!"之類的話,然後重新推理。
然而,這種"出聲"的自我糾錯並不總是靠得住。有時候模型會陷入無休止的自我懷疑循環,反覆刪改正確的推理步驟,浪費大量計算資源,最終反而給出錯誤答案。更糟糕的是,有時模型的草稿錯得一塌糊塗,卻絲毫沒有發現問題的跡象。
正是在這樣的背景下,研究團隊決定做一個精心設計的實驗,來探索模型究竟有沒有"感知"自己草稿中錯誤的能力。
---
二、那個故意出錯的實驗
研究團隊設計了一個非常聰明的實驗框架:故意在模型的推理草稿中植入一個算術錯誤,然後觀察模型最終的答案是否還能正確。
具體操作是這樣的:他們用GPT-5為GSM8K(一個經典的數學應用題數據集)和MATH500(更複雜的數學題集)中的每道題生成一段"帶有錯誤的推理開頭"。舉個例子,題目是"Janet每天產16個雞蛋,早餐吃3個,烤鬆餅用4個,剩下的每個賣2美元,她每天能賺多少錢",正確答案是18美元。研究團隊植入的錯誤是把"3+4=7"改成"3+4=6",然後讓這段錯誤的推理直接插入到模型草稿的開頭,讓模型接著往下推。
按照正常邏輯,這個錯誤會像骨牌一樣引發連鎖反應:6個雞蛋用掉,剩10個,10乘以2等於20美元——草稿里的結論是錯的。那最終答案呢?
結果讓研究團隊大吃一驚。
在DeepSeek-R1的14B參數版本上,超過77%的被污染樣本里,模型的草稿結論是錯的(比如20美元),但最終呈現給用戶的答案卻是正確的(18美元)。更關鍵的是,草稿里沒有任何"我剛才算錯了"的文字,錯誤就這樣靜靜地躺在草稿里,但答案卻悄悄糾正了。
研究團隊把這稱為"隱藏的自我修正"——模型在`
---
三、這不是背答案,也不是無視草稿
當然,研究團隊沒有輕易接受這個結論。他們首先考慮了兩個可能推翻這一發現的替代解釋。
第一個懷疑是:模型是不是早就背下了GSM8K里的答案?畢竟這是個公開數據集,模型的訓練數據里可能包含了這些題和答案。如果模型認出了題目直接輸出記憶中的答案,那這個"糾錯"就是假的。
為了排除這個可能,研究團隊讓GPT-5對每道GSM8K題目進行改寫——換名字、換數字、換場景,但保留同樣的解題結構。比如把Janet的鴨蛋問題改成Carlos的橙子問題:Carlos每天摘30個橙子,留6個自己吃,用8個榨汁,剩下的每個賣1美元。這些改寫後的題目肯定不在任何訓練數據里。結果呢?隱藏自我修正的比例依然很高——Qwen3-4B達到48.72%,R1系列三個模型全都超過了68%。背答案的假設被否定了。
第二個懷疑是:模型是不是乾脆忽略了草稿,在生成最終答案時相當於從零開始重新解題?如果是這樣,"隱藏修正"就不是真的修正,只是模型把草稿當成不存在的裝飾品而已。
為了測試這一點,研究團隊設計了兩個變體實驗。一個是"遮掉題目"——把原始問題從提示詞裡刪掉,讓模型只能看到錯誤的草稿來生成答案。另一個是"強制引用草稿"——要求模型的最終答案必須以"Based on my thinking above(根據我上面的推理)"開頭,明確逼迫模型引用草稿內容。在這兩種情況下,隱藏修正的現象依然普遍存在,尤其是在較大的模型(R1-14B和R1-32B)上表現突出。這說明模型確實在"感知"草稿,並且在某種程度上對草稿里的錯誤有所察覺。
---
四、錯誤糾正能力藏在哪裡
發現了現象之後,研究團隊的下一步是找到這種能力在模型內部的"藏身之處"。
他們用的工具是"激活值分析"——一種窺探神經網路內部狀態的技術。可以這樣理解:神經網路在處理每個詞的時候,內部每一層都會產生一組數字(稱為激活值),這組數字就像是該詞在那一層的"內心獨白",記錄了模型此刻的理解和狀態。
研究團隊對1000道GSM8K訓練題分別進行了兩種處理:正常推理(草稿正確,答案正確)和帶錯誤推理(草稿被植入錯誤,但答案仍然正確)。然後他們比較了這兩種情況下,在生成最終答案階段,模型各層的激活值有何不同。
結果非常驚人:這兩種情況下的激活值在多個層上都呈現出近乎完美的線性可分性。用一個通俗的比喻來說:如果把每道題的激活值畫成多維空間裡的一個點,那么正常推理的點和帶錯誤推理的點會整齊地分成兩堆,中間幾乎沒有混雜。研究團隊用線性探針(linear probe)來量化這種分離程度,在最優層上,所有四個模型在GSM8K上的AUROC(一種衡量分類準確度的指標,滿分是1.0)都達到了0.997到1.000之間。即便換到MATH500這個更難的數據集上作為測試,分離效果依然接近完美。
這個發現意味著:模型內部存在一個可以被"讀出"的信號,標記著"我正在從錯誤中恢復過來"。而且這個信號在激活值空間裡是一個清晰的方向——研究團隊把這個方向叫做**批評向量
(critique vector)**。
他們進一步驗證了這個向量不只是反映"草稿被污染了"這一事實,而是真正與"成功恢復"相關聯。具體做法是把帶錯誤但沒有成功恢復的樣本(草稿錯、答案也錯)投影到同一個探針上,發現這類樣本被分類為"已恢復"的概率只有33%到70%,接近隨機猜測的50%水平。相比之下,真正成功恢復的樣本被正確識別的概率超過98.6%。這證明了批評向量捕捉的是真正的修正行為,而不僅僅是草稿被破壞的樣式特徵。
---
五、給批評向量拍一張"語義照片"
找到了批評向量之後,研究團隊還想知道:這個方向在語言上是什麼意思?它跟什麼樣的詞彙相關聯?
他們使用了一種叫做"Logit Lens"的技術,簡單來說就是把激活值空間裡的向量"翻譯"回詞彙,看看這個向量"說的是什麼話"。
翻譯結果非常符合直覺。對於Qwen3-4B模型,批評向量關聯最強的前十個詞包括"wrongly(錯誤地)"、"Nope(不對)"、"Actually(實際上)"、"really(真的嗎)",以及中文詞"但卻"——這些都是人在發現問題、準備糾正時會說的話。對於R1-32B模型,關聯最強的詞包括"Wait(等等)"、"但實際上(But actually)"、"卻(But/Yet)"、"however(然而)"——同樣是表示轉折和重新審視的詞彙,而且中英文都有。
這說明批評向量確實編碼了"我發現哪裡不對勁,需要重新看一下"這樣的語義內容,只是這種感知沒有被模型"說出來"寫進草稿,而是藏在了內部激活值里。
---
六、用批評向量來"調節"模型的批判性
有了這個向量,研究團隊做了一件順理成章的事:用它來主動干預模型的行為。
干預的方式非常簡單。在模型運行時,在特定的網路層,把激活值加上一個縮放後的批評向量。用係數α來控制加的方向和力度:α為正,就是朝著"更批判、更容易發現錯誤"的方向推;α為負,就是反方向推,讓模型變得更"好說話",更容易接受錯誤。
為了測試這種干預的效果,研究團隊在兩個專門為錯誤檢測設計的基準上進行了實驗:ProcessBench(包含奧林匹克數學競賽難度的題目)和BIG-Bench Mistake(包含各類邏輯推理題)。任務是讓模型指出給定推理步驟中哪一步出了錯,如果沒有錯則返回-1。
結果顯示,當α設為+1.0(正向增強批評能力)時,所有四個模型在ProcessBench上的錯誤檢測準確率都提升了約5個百分點。在BIG-Bench Mistake上,Qwen3-4B的錯誤準確率從52%提升到了56%。反過來,當α設為-1.0(負向抑制批評能力)時,各項指標都出現了一致性的下降。
研究團隊還注意到一個有趣的副作用:正向增強有時會略微降低對"正確推理"的識別準確率——即模型有時會把正確的步驟也認定為錯誤。這類似於一個過於挑剔的審稿人,把沒問題的地方也挑了毛病。不過這種誤傷相對輕微,整體的F1分數(綜合衡量錯誤檢測和正確識別的指標)仍然是隨正向增強而提升的。
---
七、批評向量讓"多想一下"變得更有效
現在來到了這項研究最有實際意義的部分:批評向量如何影響"測試時擴展(test-time scaling)"。
測試時擴展是近年來提升AI推理能力的一個熱門方向。最簡單的方式來自一篇名為s1的論文:在模型準備結束思考的時候,強行在草稿末尾加上一個"Wait"字,讓模型繼續思考而不是立刻給出答案。有點像老師在學生要交卷時說"再檢查一遍"。這個簡單的技巧在很多任務上都能顯著提升準確率。
然而,"多想一下"並不總是靈驗。如果模型本身沒有感知錯誤的能力,讓它多想也只是在錯誤的方向上越走越遠。研究團隊的實驗驗證了這一點,並且發現批評向量和這種"Wait"機制是互補的。
在GSM8K-Error(帶植入錯誤的題目)上,Qwen3-4B的基準準確率是77%。單純靠加"Wait"讓模型多想幾輪,準確率會穩步提升,到第5次疊代時大約能達到88%左右。而如果同時進行正向批評向量干預,在每一輪"Wait"疊代中,準確率都比純"Wait"策略高出一截,最終接近90%。相反,負向干預則讓準確率一路下滑,無論"Wait"幾次都效果有限。
這個結果說明,隱藏的批評能力是測試時擴展能否奏效的內在基礎。多思考本身並不夠,關鍵是模型有沒有能力在"多想"的過程中真正識別並修正錯誤。而批評向量提供了一種無需重新訓練就能增強這種內在能力的方法。
---
八、在普通題目上也有效果
研究團隊還把這個向量應用在了沒有植入錯誤的正常題目上,測試批評向量是否只對"檢錯"這個特定場景有用,還是能更廣泛地提升模型表現。
在AIME(美國數學邀請賽)、GSM8K標準版和MATH500標準版上進行測試後,他們發現正向干預在所有模型上都帶來了一定程度的提升,負向干預則帶來一致性的下降。提升幅度相對較小,比如R1-32B在AIME24上從63.3%提升到66.7%,在MATH500上從94.3%提升到95.0%。
對於提升幅度有限,研究團隊給出了兩個合理解釋。一方面,批評向量是從GSM8K上相對簡單的算術錯誤場景中提取出來的,應用到需要深厚數學知識的AIME題目上時,遷移能力自然有限。另一方面,這種干預是"無差別"的——在每一步生成時都施加,但對於本來就接近正確的推理,額外的批評性刺激可能會讓模型對正確步驟產生不必要的懷疑。研究團隊認為這兩個問題在工程上都是可以改進的。
---
九、不是隨便一個詞的向量就能做到這件事
一個自然的問題是:既然批評向量關聯的是"Wait""actually""wrongly"這類詞,為什麼不直接用這些詞的詞嵌入向量來做干預,而要費勁提取批評向量?
研究團隊專門做了這個對比實驗,用"wrong"這個詞的輸入詞嵌入作為干預向量。結果非常清晰:詞嵌入向量的效果在不同模型和不同數據集上毫無規律,有時提升一點,有時下降一點,完全無法可靠地控制錯誤檢測能力。而批評向量在所有模型和所有數據集上都呈現出一致的、方向正確的效果。
這說明批評能力不是簡單地藏在某個詞的語義里,而是藏在了模型處理資訊時的更深層動態模式中,需要通過對比實驗來提取,而不是靠找幾個相關詞就能抓住的。
---
十、自然語言中的"草稿",往往不誠實
這項研究還觸碰了一個更大的議題:AI的推理過程有多誠實?
之前已經有研究者指出,大型語言模型的推理鏈(chain-of-thought)並不總是反映模型的"真實想法"。模型有時候會先得出結論,再"編造"一段看起來合理的推理過程來支撐它。這篇論文展示的隱藏自我修正現象,是這種不一致性的另一個維度:模型在草稿里犯了錯,但在生成答案時悄悄繞過了這個錯誤,卻絲毫沒有在草稿里承認這一點。
這意味著,如果你想用AI的推理草稿來理解"AI是怎麼想的",這個草稿可能並不完整。真正的修正過程被"藏"在了激活值里,沒有被寫出來。研究團隊認為,這對AI的可解釋性和可信賴性都有重要意義——你需要一種比閱讀推理草稿更深入的方法,才能真正了解模型在做什麼。
---
說到底,這項研究揭示的是一件挺讓人驚訝的事:那些能力強大的推理模型,在錯誤發生時其實"感受到了"什麼,但它們並不總會把這種感受"說出來"。批評能力存在,只是沉默地藏著。研究團隊找到了這種沉默能力的位置,提取了它,並且證明了可以無需重新訓練模型就把它"調大"或"調小"。
這對普通用戶意味著什麼?短期內,它可能轉化為更可靠的AI數學助手,在回答問題之前能更穩健地發現自己推理中的漏洞。從更長遠來看,它為如何在不大幅增加訓練成本的情況下增強AI的自我驗證能力提供了一條新路徑。
當然,這項研究也留下了不少開放問題。這種隱藏修正能力究竟是在預訓練階段形成的,還是在通過強化學習進行推理微調時才出現的?為什麼模型會"感知到"錯誤卻選擇不說出來?這種沉默的糾錯對AI整體的可信度和透明度意味著什麼?這些問題都值得進一步探索。
對這項研究感興趣的讀者,可以通過arXiv編號2603.16331找到完整論文,也可以訪問論文中提供的GitHub倉庫(mail-research/lrm-critique-vectors)查閱代碼實現。
---
Q&A
Q1:大型推理模型的隱藏自我修正現象是什麼意思?
A:隱藏自我修正是指,當研究人員在DeepSeek-R1或Qwen3等模型的推理草稿中人為植入算術錯誤後,模型的草稿結論會跟著出錯,但最終呈現給用戶的答案卻依然正確,而且草稿里完全沒有任何"我發現錯了"的文字說明。這意味著模型在內部"感知"到了錯誤,但沒有把這種感知寫出來,而是悄悄在給出最終答案時進行了修正。
Q2:批評向量是怎麼提取出來的,為什麼普通詞向量達不到同樣效果?
A:批評向量是通過比較兩組情況下模型內部激活值的差異來提取的:一組是正常推理且答案正確的樣本,另一組是草稿被植入錯誤但最終答案仍然正確的樣本。把這兩組在答案生成階段的激活值均值相減,就得到了批評向量。它捕捉的是一種深層的動態模式,而不是某個詞的語義,所以直接用"wrong"這類詞的詞向量來替代,效果毫無規律,無法可靠控制模型的錯誤檢測行為。
Q3:測試時擴展中加"Wait"和批評向量干預有什麼區別?
A:加"Wait"是一種"量"上的干預,讓模型多思考幾輪,給它更多機會發現錯誤。批評向量干預是一種"質"上的干預,直接增強模型內部感知錯誤的能力。兩者並不衝突,實驗結果表明,同時使用兩種方法比單獨使用任何一種效果都要好。如果只加"Wait"但模型本身感知錯誤的能力不足,多想幾輪也不一定能修正錯誤;而批評向量能讓每一輪的思考都更有"批判性"。






