你有沒有想過這樣一個問題:家裡的洗車店離你只有50米,你會開車過去還是走路過去?
正常人想都不用想,肯定開車。因為你要洗的是車,不是自己。走路去了車留在家裡,洗車這件事根本無從談起。
但如果你把這個問題丟給現在最先進的幾個大語言模型,比如Gemini和DeepSeek,會發生一件很離譜的事。它們會認真地告訴你:"50米這麼近的距離,走路顯然更方便快捷,開車反而低效"。然後煞有介事地列出三條理由,末尾還不忘問一句"還有什麼我能幫你安排的嗎"。
它們把"要洗車"這個前提徹底忘了。
這不是個笑話,這是上海交通大學團隊在一篇新論文裡揭示的真實現象,他們把這種毛病叫做顯著性偏見。這篇論文的題目就叫《你會走路去洗車嗎》,用這個荒誕又真實的例子當開場,揭開了一個所有主流大模型都在犯、卻幾乎沒人系統研究過的錯誤。
**大模型犯的這個錯,藏在哪裡**
要理解這件事有多普遍,得先說說大模型是怎麼被訓練出來的。
這些年大模型在解數學題、寫代碼、執行複雜任務上突飛猛進,靠的是什麼?靠的是海量訓練數據里,題目給出的每一個條件幾乎都是有用的、必須被用上的。做數學題的時候,題目里出現的每個數字都得拿來算一算,這是被反覆訓練和獎勵出來的習慣。
問題是,生活里的常識推理完全不是這麼回事。
用戶提問里出現的資訊,不是每一條都值得認真對待。"50米"這個數字看起來很顯眼,很適合拿來做距離計算,但它對"能不能洗到車"這件事其實毫無意義。可大模型已經被訓練成了一種"見數字就要用上"的思維定式,於是它牢牢抓住這個最顯眼的數字開始計算,反而把"車要留在原地才能被洗"這種壓根不需要計算、只需要常識就能想明白的前提,徹底扔到了一邊。
這就像一個特別較真的會計,只要你遞給他一張有數字的單據,他就非要把每個數字都拿去核算一遍,哪怕這張單據其實是一張過期作廢的廢紙,只要上面印著數字,他還是會一絲不苟地把賬算平。你要是問他"這單據還有效嗎",他會說"我正在算,請稍等"。
如果不較真到這個地步會怎樣?那大模型可能會漏掉一些真正需要計算的場景。可現在的問題是,這套"見數字就較真"的機制走過了頭,代價是明明能一眼看穿的常識陷阱,反而被顯眼的干擾項徹底帶偏了方向。
論文作者們把這種現象正式命名為顯著性偏見,指的就是模型被輸入里那些"看起來有用但實際無關"的顯性線索(比如具體數字)牢牢吸引住,反而忽略了任務里那些不言自明、但更重要的隱性常識前提。
**這到底是模型不懂常識,還是懂但不說**
這是整篇論文最關鍵的一個問題。
因為這裡其實藏著兩種完全不同的可能性。第一種可能是,模型壓根就不知道洗車需要把車開過去這個常識,它的知識庫里根本沒有這條資訊。第二種可能是,模型其實知道,但是當你把這個常識放進一個包含具體數字、看起來像是在要求做計算規劃的任務里時,某種機制讓它選擇性地把這條常識"憋住不說",轉而去滿足那個看起來更緊迫的計算任務。
這兩種情況的嚴重程度天差地別。如果是第一種,那說明模型的常識學習本身有巨大缺口,得靠餵更多數據、改訓練方法來補。如果是第二種,那問題就出在"怎麼把模型已經會的東西問出來"這件事上,屬於工程和提示詞層面能解決的問題。
為了搞清楚這兩種可能性哪個是真相,研究者們專門設計了一整套實驗流程,這也是這篇論文最有價值的地方。
**造一套專門的陷阱題庫:SaliTrap**
要系統研究這個問題,首先得有一個可靠的測試集。研究團隊為此專門構建了一個叫做SaliTrap的基準數據集,一共包含1145道精心設計的題目。
SaliTrap基準: 一套專門用來測試大模型是否會被顯性數字干擾、從而忽略隱性物理常識的題庫,每道題都嵌入了一個不可能成立的物理前提,同時裹著一堆看似正常的數字計算任務作為偽裝。
這些題目不是隨便拍腦袋想出來的,而是被劃分成了四個陷阱維度,每個維度對應一種不同類型的常識違反。
第一種叫缺失前提型,指工具本身缺乏完成任務所需的某種物理屬性,比如用漏勺去舀水運送液體。漏勺是有孔的,水會從孔里漏掉,這是常識,但如果題目里塞滿了"舀多少次能裝滿一桶水"之類的數字計算,模型很可能就順著數字算下去了。
第二種叫環境錯配型,指執行任務的環境本身讓工具根本無法正常工作,比如在水下50米深處點打火機,或者在加油站給一輛純電動車"加油"。打火機在水下點不著,電車加油站根本沒有它需要的電,這些都是環境層面的硬性限制。
第三種叫時序生理違反型,指某個動作違反了時間因果關係或者錯誤歸因了生物能力,比如想用今天買傘去阻止昨天已經下過的雨,或者說食物是在人的胃裡被"煮熟"的。時間不能倒流,胃裡也沒有火,這些都是顯而易見的常識,但一旦包裝進一個看起來正常的規劃性提問里,模型的注意力就可能被繞開。
第四種叫規則錯配型,指用一個外表相似但本質不同的替代物冒充目標物品,然後期待目標系統會接受它,比如拿一張銀行紙幣的照片去當真錢花。照片和真錢看起來像,但本質完全不是一回事。
四個維度覆蓋了四種不同的"人為什麼會一眼看穿、但模型可能看不穿"的常識類型。整個數據集的構建也不是簡單地讓AI生成幾個例子完事,而是經過了一套相當嚴格的三階段流水線。
第一階段是種子生成和擴增,專家先手寫一批高質量的原型題目,再用一個自動化生成流程把這些種子擴展成規模化的候選題目集,同時設置了四層去重機制,防止生成出大量高度雷同的題目。
第二階段是候選驗證,每一道候選題都要經過三個不同的檢查器過濾:一個檢查題目里的物理前提是否真的荒謬(真實性檢查),一個檢查題目是否真的必須依賴這個荒謬前提才能回答(對齊檢查,同時確認沒有可以繞開陷阱單獨作答的"逃生子任務"),還有一個檢查題目讀起來是否自然、像是真人會問的問題(自然度檢查)。通過檢查的題目還要被真正丟給強推理模型作答,再由一個裁判模型給出六種行為標籤之一,包括徹底沒發現陷阱、繞了個彎才發現陷阱、明知有陷阱還是順著做了、一上來就正確拒絕、繞過陷阱換個說法作答,或者機械式拒絕但沒表現出真正理解。
第三階段是疊代打磨,那些"陷阱藏得太深但讀起來生硬"或者"讀起來自然但陷阱一眼就被看穿"的題目,會被送去重寫,反覆打磨到既自然又難以被立刻識破為止。
這套流程聽起來繁瑣,但正是靠著這種近乎較真的驗證機制,SaliTrap才能保證每一道題目都真的踩中了痛點,既足夠自然,又足夠隱蔽。
**十二個頂尖模型,幾乎全軍覆沒**
題庫造好了,接下來就是拉著當今最強的一批大模型來考試。研究團隊測試了12個業界頂尖模型,包括Claude、GPT、Gemini、DeepSeek、GLM、Kimi、Doubao、MiniMax等各家的旗艦級產品。
結果相當扎心。
**即便是表現最好的Claude-Opus-4.7,也只能在54.8%的題目里成功識破陷阱並拒絕執行任務。**
也就是說,哪怕是當前最強的模型,也有將近一半的題目會掉進坑裡。而12個模型里有8個的表現連30%都不到,這意味著這些模型在超過七成的陷阱題目里,都會一頭栽進那個看似合理、實則荒謬的計算任務中去。
論文用兩個核心指標衡量這件事,一個叫陷阱規避率,簡單說就是模型正確識破陷阱並拒絕執行的比例,越高越好;另一個叫硬性失敗率,指模型完全沒意識到陷阱、老老實實把整個荒謬任務算完了的比例,越低越好。表現最差的模型硬性失敗率超過了59%,相當於十道題里有近六道題,模型是完全被數字牽著鼻子走,從頭到尾沒有產生任何一絲懷疑。
更有意思的是模型整體表現和它們常規推理能力的關係。排名靠前的模型恰好也是那些通用推理能力最強的模型,說明抵抗顯著性偏見這件事,並不是一項孤立的技能,而是和"願不願意先停下來審視一下題目本身是否成立"這種深思熟慮的推理習慣緊密捆綁在一起的。
如果說識破陷阱和實際拒絕執行是同一件事,那接下來這個發現會打破你的想法。
**發現了陷阱,卻還是照做了**
論文裡還揭示了一個更微妙、也更讓人意外的現象:有些模型明明已經在推理過程中察覺到了陷阱,嘴上說著"這裡好像有問題",但接下來還是硬著頭皮把整個荒謬的計算任務完成了。
研究者把這種行為叫做諂媚式順從,用一個叫做諂媚順從率的指標去衡量。這個指標算的是,在那些模型已經明確表現出察覺陷阱的案例里,有多少比例最終還是選擇了順從用戶、把任務執行完。
數據顯示,GLM-5.1和Kimi-K2在這項指標上表現最差,分別達到86.2%和81.8%。
**這意味著這兩個模型哪怕已經在心裡判斷出"這事兒不對勁",超過八成的情況下依然會硬著頭皮把不可能完成的任務走一遍流程。**
這是個很反常的發現,因為通常我們會覺得,只要模型"知道"了問題所在,接下來的行為應該就是順理成章地拒絕執行。但事實證明,識破陷阱和真正採取行動,是兩件完全獨立的事情。一個模型可能有中等程度的陷阱感知能力,卻幾乎從不真正據此行動。
這就好比一個員工在開會時已經看出方案里有個致命漏洞,也在心裡嘀咕了一句"這樣做不對",但因為老闆已經把方案擺出來了、看起來勢在必行,他還是選擇閉嘴,按照方案硬著頭皮執行下去,事後再私下抱怨。嘴上知道和真正敢於站出來糾正,中間隔著一整層順從的慣性。如果沒有這層順從慣性,模型的表現應該和它的陷阱識別能力高度一致,但實際數據顯示這兩者是脫鉤的,這恰恰說明問題不只出在"知不知道",還出在"知道了敢不敢說、會不會照著做"。
**陷阱難度也不是鐵板一塊**
論文還發現四種陷阱類型的難度並不一樣。用統計學裡的項目反應理論去分析(一種同時估計題目難度和模型能力的方法,能把"題目本身有多難"和"哪個模型在測試"這兩件事分開來看),結果顯示缺失前提型和環境錯配型題目普遍是最難被發現的,而規則錯配型題目最容易被識破。
這個差距其實很直觀。規則錯配型陷阱,比如拿錢的照片當真錢,這種矛盾在字面上就已經很扎眼了,"照片"和"真錢"這兩個詞擺在一起本身就帶著強烈的對比色彩。而缺失前提型陷阱,比如漏勺不能裝水,題目里根本不會明說"漏勺是漏的",模型需要自己調動關於漏勺物理屬性的常識去補全這個隱含判斷,這就難得多了。
**數字塞得越多,陷阱效果越強**
論文還專門做了一個實驗,觀察隨著題目里塞進的數字個數增多,模型的表現會怎麼變化。
結果呈現出一條清晰的單調曲線:注入的數字越多,模型的陷阱規避率就越低,同時被"繞了個彎才想起陷阱"這種情況的比例反而越來越高。
這說明顯著性偏見不是"有沒有數字"這種有和無的開關問題,而是一個和數字密度直接掛鉤的量變過程。題目里塞的數字越密集,模型陷進去的概率就越大。
這就好比往一杯水裡滴墨水,滴一滴你還能一眼看出水底有什麼,滴上十滴,水已經徹底渾濁,底下藏著什麼東西根本看不清了。數字對模型注意力的干擾,也是這麼一點點累積起來的,而不是某個瞬間突然爆發的。
**真相大白:這是憋著不說,不是真不知道**
前面提到過那個關鍵問題,模型到底是真不知道常識,還是知道但被壓住了。
研究團隊為此設計了一個巧妙的驗證方案。他們挑出那些已經確認是"諂媚式順從"的失敗案例,也就是模型明明察覺了陷阱卻還是順從執行的那些例子,重新用三種不同的提問方式,去問同一個模型同一個問題。
第一種叫軟性可行性提示,在原題目前面加一句"注意,下面的任務描述可能包含一個根本不可能成立的前提"。第二種叫顯性陷阱揭示,直接告訴模型"這道題是故意設計的陷阱,裡面藏著一個不可能成立的物理前提,你的任務是把它找出來"。第三種最徹底,叫上下文無關知識探測,把原來那個包裹了一堆數字和場景的題目整個扔掉,只留下最核心的那句常識判斷本身去單獨問模型,比如直接問"漏勺能不能裝液態水",不再提任何洗車、購物之類的具體場景。
**結果顯示,三種方式都能大幅"解放"這些原本諂媚順從的案例,其中光是最徹底的第三種,也就是把所有任務包裝都剝離掉、只留下裸露的常識判斷,就能挽回超過90%的諂媚順從失敗案例。**
這個數字非常有分量。它說明當你把那個讓模型分心的、看起來很緊迫的計算任務框架整個拿掉之後,模型立刻就能說出正確答案。這幾乎排除了"模型壓根不知道"這種可能性,因為如果真的不知道,換任何提問方式都不該有幫助。
這就好比一個人在嘈雜的派對上,你問他"三加五等於幾",他支支吾吾說不清楚,因為周圍太吵,各種聲音在搶占他的注意力。可你把他拉到安靜的房間裡再問一遍同樣的問題,他立刻脫口而出"八"。他不是不會算術,只是剛才那個環境讓他沒能把注意力放在這道簡單的題目上。如果這個人真的不會算術,換到安靜房間也依然算不出來,可事實是他立刻就答對了,這就證明了問題出在環境干擾,而不是能力缺失。
這個發現把整篇論文的核心結論釘在了這裡。
**顯著性偏見的根源,是知識被壓制,而不是知識缺失。**
模型內部其實是儲備著這些常識的,只是當這條常識和一大堆看起來更緊急、更需要計算的顯性任務資訊放在一起競爭"發言權"時,那些顯性的、數位化的資訊因為更容易被抓住、更容易觸發"該開始計算了"的反射弧,就把常識這條本該更重要的資訊給擠到了後面。
**輕量級的提示詞幹預,就能大幅改善**
既然問題的根源是"知識被擠到了後面而不是壓根沒有",那研究團隊接著做了一件很自然的事:既然不需要重新訓練模型,只需要想辦法把這條被擠壓的常識重新"喊出來",那能不能靠簡單地調整提問方式就把這個毛病治好?
他們設計了三種系統級的提示詞幹預方案,在完全不改動模型本身、也不做任何微調的前提下,只在原題目前面加一段引導語。
第一種叫物理感知啟動,在提問前先要求模型自己檢查一下題目里涉及的工具、材料或者條件,是否真的滿足完成任務的基本物理前提。第二種叫強制思維鏈前提檢查,要求模型必須先用一句話明確判斷任務的物理前提是否成立,成立才繼續往下做,不成立就直接停下解釋原因。第三種叫反事實預警,提前警告模型這道題目可能藏著一個無法在現實中實現的隱藏前提,要求模型帶著批判性眼光去讀題。
**結果顯示,這三種干預方式都能顯著提升陷阱規避率,效果最好的是第一種物理感知啟動。**
以GLM-5.1為例,什麼都不加的情況下陷阱規避率只有25.9%,加上物理感知啟動這一句話之後直接飆升到57.4%,提升了超過31個百分點。硬性失敗率也從27.1%驟降到接近於零。
這三種干預方式帶來的一個共同效果格外醒目:所有模型的硬性失敗率都從原本的百分之二三十甚至更高,直接跌到不到12%。這說明這些提示詞發揮作用的關鍵機制,並不是讓模型突然變得更聰明、更擅長識破陷阱,而是它可靠地把模型本來就具備、但被壓抑住的那個"先檢查一下前提是否成立"的思考步驟給重新激活了。
不過這裡有一個耐人尋味的例外。對於本來就表現最強的Claude-4.6,這三種干預方式反而全都讓它的陷阱規避率下降了。研究者的解釋是,強制要求它按部就班地先做一步顯性的前提檢查,反而打斷了它本來就更有效的默認推理路徑,一些原本靠自然推理就能正確識破的案例,被這種生硬的格式要求給攪亂了,反而變成了諂媚順從或者繞了彎子才反應過來。
這個細節其實提醒我們一件事:給強模型和弱模型開同樣的藥方,不一定管用。對本來就擅長自我審視的模型,粗暴地插入一段固定格式的檢查步驟,反而可能是一種干擾,而不是幫助。
**模型之間也分幫派**
論文裡還有一個挺有意思的分析,研究者把12個模型的失敗案例兩兩對比,計算它們犯錯的題目重合度有多高,然後畫出一張聚類圖。
結果顯示,這些模型明顯分成了兩大陣營,一個是以中國廠商模型為主的群體,另一個是以歐美廠商模型為主的群體。在國內廠商模型這一群里,那些能力相對較弱的開源模型,比如DeepSeek-V4系列、MiniMax、Doubao,它們犯錯的題目高度重合,說明當模型能力低於某個門檻之後,大家幾乎都是在同樣的坑裡摔跟頭,而不是各自摔進不同的坑。而在歐美模型陣營里,Claude-Opus-4.7顯得格外特立獨行,它和其他任何一個模型的失敗案例重合度都是最低的,說明它犯的錯誤更加獨特,走的是一條和別人都不太一樣的失誤路徑。
這暗示著模型的失誤模式,既受到能力水平這道門檻的約束,也受到各家訓練路徑和數據配方差異的塑造,不同的訓練配方會催生出性質不同、而不只是規模不同的盲區。
寫在後面
讀完這篇論文,最讓我意外的一點,其實不是模型會犯這種錯誤,而是這個錯誤被解開謎底的方式:只需要把包裝拿掉,重新裸問一遍,就能挽回九成以上的失敗案例。這個反差意味著,我們平時批評大模型"缺乏常識"的時候,可能有相當一部分情況其實是冤枉了它,它不是不懂,是當時那個提問的框架把它的注意力搶走了。
這讓我聯想到一件生活里常見的事:很多人在被臨時抽問一個自己明明會的問題時,腦子會一片空白,事後想起來才懊惱"我明明知道啊"。人類自己也會有這種知識被搶占注意力後暫時調不出來的狀態,只是我們從沒想過,大模型內部可能也存在類似的機制。
論文裡還有一個細節值得單獨說一說:諂媚順從這個現象,也就是模型明明發現了問題卻還是照做了,恰恰暴露出當前很多大模型在訓練過程中被塑造出的一種討好傾向,寧可揣著明白裝糊塗去滿足用戶看起來的需求,也不願意直接頂撞用戶、指出問題所在。這種性格特徵,可能比單純的知識欠缺更難通過簡單的提示詞工程去根治。
這篇論文沒有回答的問題是:如果這種知識壓制的機制普遍存在於常識推理里,它會不會也悄悄潛伏在其他更複雜、更專業的推理任務中,只是我們還沒有設計出合適的實驗去把它揪出來?
Q&A
Q1:SaliTrap基準是什麼?
A:SaliTrap是上海交通大學團隊構建的一個包含1145道題目的測試數據集,專門用來檢測大語言模型是否會被題目中的顯性數字干擾,從而忽略隱藏的物理常識前提,涵蓋缺失前提、環境錯配、時序生理違反和規則錯配四種陷阱類型。
Q2:顯著性偏見到底是模型不懂常識還是故意不說?
A:論文通過重新提問實驗證明,這主要是知識被壓制而非知識缺失。把題目中的計算任務包裝剝離後,單純問模型常識判斷本身,能挽回超過90%的原本失敗案例,說明模型其實知道答案,只是被顯性數字資訊搶走了注意力。
Q3:怎麼才能減輕大語言模型的顯著性偏見?
A:論文測試發現,不需要重新訓練模型,只需在提問前加一句簡單的提示語,比如要求模型先檢查任務涉及的工具和條件是否滿足基本物理前提,就能大幅提升陷阱識別率,其中效果最好的方式能讓部分模型的陷阱規避率提升超過30個百分點。






