大型語言模型的「幻覺」到底從哪來?一位工程師的實戰觀察
一個困擾我很久的問題 在SFD實驗室跑了將近兩年的AI Agent,我被大型語言模型的「幻覺」坑過太多次了。最離譜的一次是讓GPT幫我查一個npm套件的版本號,它非常自信地告訴我「最新版是3.2.1」,但實際上那個套件根本不存在。不是版本號錯了,是套件名稱整個捏造出來的。 這不是Bug,這是大型語言模型的設計特性…

一個困擾我很久的問題
在SFD實驗室跑了將近兩年的AI Agent,我被大型語言模型的「幻覺」坑過太多次了。最離譜的一次是讓GPT幫我查一個npm套件的版本號,它非常自信地告訴我「最新版是3.2.1」,但實際上那個套件根本不存在。不是版本號錯了,是套件名稱整個捏造出來的。
這不是Bug,這是大型語言模型的設計特性——只不過當這個特性以錯誤資訊的形式出現時,我們稱它為「幻覺」。
幻覺的本質:機率遊戲
要理解幻覺,得先理解大型語言模型在做什麼。它不是在「查找」資訊,而是根據上下文預測「下一個最可能出現的詞」。這是個純統計的過程。
舉個例子:當你問「量子力學的奠基人是誰」,模型的內部運作大概是:
- 掃描訓練資料中「量子力學」附近出現的人名頻率
- 計算「普朗克」、「波耳」、「海森堡」、「薛丁格」各自出現的機率權重
- 依機率取樣輸出
絕大多數情況下這跑得很準,因為訓練資料夠多。但當問題涉及冷門領域、最新資訊,或是本就模糊的邊界時,模型還是會按照相同的邏輯走——只不過這次取樣到的是「看起來合理但實際上不存在」的內容。
模型不知道自己不知道。這才是核心問題所在。
四類幻覺,成因各不同
這兩年跑實驗下來,我把幻覺大致分成四類:
1. 知識截止型
最常見。訓練資料有截止日期,之後發生的事模型一無所知,但它不會說「我不知道」——它會根據已有知識推斷出一個「聽起來合理」的答案。
我們在SFD實驗室的因應方案是:所有涉及即時資訊的任務,強制接入web_search工具。不給模型靠記憶回答的機會。
2. 細節失真型
這類最隱蔽,也最危險。大方向是對的,細節錯了。例如API介面文件寫對了,但某個參數的型別搞反了;引用的論文標題是真實的,但DOI編號是捏造的。
工程師最怕這種,因為通讀一遍感覺沒問題,只有真正跑起來才發現踩坑了。
3. 邏輯一致性型
給模型一段長對話,前面說了A,後面可能給出non-A的結論,兩邊都說得言之鑿鑿。這是注意力機制的限制——超出有效上下文視窗之後,早期資訊的權重會衰減。
4. 過度自信型
這不是內容本身的錯誤,而是表達方式的問題。模型給出不確定的答案時,語氣往往和給出確定答案時一樣斬釘截鐵。這讓使用者很難判斷什麼時候該去核實。
為什麼GPT-4比GPT-3.5幻覺少?
直覺上你可能會說「因為更大更強」,但原因沒那麼簡單。
除了規模提升,更關鍵的變化是RLHF(人類回饋強化學習)的引入,以及後期專門針對「不確定性表達」的微調。模型被訓練成在不確定時說「我不確定」或「建議你核實」,而不是硬給一個看起來合理的答案。
但RLHF也帶來了新問題:模型變得更「討好人」。它會根據使用者的反應調整立場,即便原本的答案是對的。這是另一種形式的幻覺——不是資訊錯誤,而是立場不穩定。
工程端的因應策略
在SFD實驗室的實際工作流程中,我們針對幻覺有幾套固定手段:
工具呼叫優先於記憶。 任何需要精確資訊的場景,先問工具(資料庫、API、搜尋),不問模型的「記憶」。模型只負責理解和推理,不負責記憶事實。
輸出結構化。 強制要求模型以JSON輸出,並附帶confidence欄位。雖然這個confidence不完全可靠,但能過濾掉一部分離譜的結果。
RAG取代記憶。 對於需要精確引用的場景,我們用RAG(檢索增強生成)把文件區塊塞進上下文,而不是讓模型憑印象回答。文件區塊是ground truth,模型只做摘要和格式化。
驗證環節獨立。 在多Agent系統中,負責生成內容的Agent和負責驗證內容的Agent分開,不共享對話歷程。這樣驗證Agent就不會被生成Agent的錯誤「帶偏」。
一個反直覺的結論
幻覺無法完全消除——這不是技術問題,是機率取樣的本質屬性。
更務實的思路是:接受幻覺的存在,圍繞它設計系統。就像飛機不會因為可能發生故障就停飛,而是透過雙引擎、備援冗餘、飛行前檢查來控制風險。
在Agent工程中,這意味著:不要把大型語言模型當成全知全能的資料庫,而是把它當成一個聰明但會犯錯的助理。給它工具,給它限制,給它驗證機制——這樣它才能穩定運作。
最近我們實驗室在測試的一個方向是「多模型交叉驗證」:同一個問題發給兩個不同的模型,比對輸出差異,差異大的地方強制走人工審查流程。初步結果顯示能將高風險幻覺減少約60%,代價是API呼叫成本翻倍。值不值得,取決於應用場景對精確度的要求。
總結一句話:大型語言模型幻覺的本質是機率遊戲,解法不是讓模型「更聰明」,而是給系統加上防護網。