自打發布新一代模型 GPT-5 之后,OpenAI 收獲了大片罵聲。
人們紛紛表示 GPT-5 “ 變蠢了 ”“ 沒創造力了 ”“ 不靈動了 ”“ 回答很干癟 ”。
實際上,這并不是一個讓人意外的結果,因為 GPT-5 的其中一個特性是幻覺率顯著降低,而降低模型幻覺率的一個主要代價就是模型的輸出會顯得更呆板。
通俗來說就是模型變得更嚴謹,但主觀能動性變弱了,這一點其實對于寫代碼、Agent 構建是很有好處的,只是 ChatGPT 的主要面向的消費級用戶對此需求并不高。并且 GPT-5 變得非常被動,以至于需要非常詳細的提示詞才能很好地驅動( 當然如果需求寫得好,GPT-5 是很可靠的 ),不像之前會積極地預估用戶的意圖,原本快要丟掉的提示詞技能又得撿起來,這對于被 AI 慣壞的一大批用戶又是一記背刺。
從原理上來講,大模型生成的內容是概率產物,模型本質意義上是一個條件概率分布的近似器,它的創造力來自于更寬松的概率分布,而當你想讓它答案更精準、低幻覺時,它的概率分布必然收緊,這樣的收緊減少了有更多創造力的可能。
這就像一個人,你想讓他更嚴謹、符合邏輯的去創作,他就會被鉗制,無法天馬行空。
然而有趣的是,早前大家都在吐槽各家大模型的幻覺率太高并且愈演愈烈,認為這是一種 “ 病 ”,廠商們也使出渾身解數來治這個 “ 病 ”,微調、RAG、MCP 等新 “ 藥方 ” 一個接一個。
現在,高幻覺率的問題被一定程度解決,大家又吐槽模型回答得不夠好,這就陷入了一種無法打破的死循環。
那么,廠商們到底該如何正確地看待 AI 幻覺呢?
為探究這個話題,知危與阿里巴巴大淘寶技術營銷前臺技術負責人甄焱鯤進行了對談。
甄焱鯤首先跟知危分享了自己對 GPT-5 被 “ 討伐 ” 現象的理解和親身使用體驗:“ 許多人贊賞其在數學、科學和代理任務上的進步,但也批評它在創意寫作上不如 GPT-4.5 或 4o,輸出更通用、缺乏情感深度,甚至出現 ‘ LLM 廢話 ’。 基準測試中,它在 SimpleBench 上僅得 56.7%,排名第五,遠低于預期。 用戶 ‘ 起義 ’ 主要源于模型感覺像降級:響應遲鈍、幻覺增多、錯誤意外,以及未公布的更改導致創意和質量下降。”
“ 而我的直觀感受是:出現幻覺的概率確實下降了,我用了大概三天的時間,提了一些哲學、編程和人工智能相關的問題,在一些生僻概念的理解上考察模型的輸出,還是有非常不錯的效果,例如:GPT-5 不會把我自創的英文縮寫( 一些技術架構里的縮略語 )錯誤拆分了,比如 ‘ AIGUI ’ 這個概念不會如 GPT-4o 般拆分成 ‘ AI GUI ’ 了。”
在對談過程中,甄焱鯤多次強調,把幻覺單純當成一個 “ 病 ”,是片面的。
目前已經有研究指出,大語言模型理論上不可能完全消除幻覺。還有研究表明,越抑制幻覺,大語言模型的泛化性越差,也就是能夠適用的場景越受限,這與業界希望全方位推廣 AI 的愿景顯然是相悖的。
這其實也反映出,幻覺帶來的影響并非永遠都是負面的,需要辯證看待。
正如甄焱鯤告訴知危:幻覺是不是幻覺、幻覺的影響是不是負面、幻覺的負面影響有多大,都是相對的,和使用者的能力和需求、場景的特性和需求、使用前后效率對比、現實世界的變化等因素都有關。
以下是知危與甄焱鯤的對話原文,經過了不改變原意的編輯。
一、幻覺的類型
知危:能請您介紹一下大模型實際應用中常見的幻覺類型嗎?
甄焱鯤:大模型的 “ 幻覺 ” 指的是 AI 系統生成或推斷出與人類經驗不符的內容或結論。
這里 “ 人類經驗 ” 必須是 “ 正確 ” 的,限于個人認知的差異,所以必須認識到 “ 幻覺 ” 也是相對的。
在大模型應用中,幻覺無法完全避免。
可以將幻覺分為 5 個類別:語言生成中的幻覺、推理與邏輯錯誤、過度簡化與常識錯誤、數據錯誤或無依據推理、時效性錯誤。
語言生成中的幻覺是大模型最常見的一種幻覺,尤其是在內容生成類的應用中。例如在生成代碼時,AI 可能會編造 Library 或 API 來完成代碼的生成。
大模型還可能在進行邏輯推理時產生錯誤。例如在使用 Roo Code 插件進行代碼生成時,經常遇到指定上下文后,大模型仍然會根據項目中其它上下文做出錯誤的推理。
關于過度簡化與常識錯誤,AI 雖然能夠處理大量信息,但它在應對一些需要深度常識、實際經驗的場景時,容易出現過度簡化的情況。例如 AI 可能會說 “ 為了快速減肥,可以不吃任何食物 ”,這顯然是不科學的。
關于數據錯誤或無依據推理,在某些場景下,AI 模型可能會基于不完全或者錯誤的數據生成答案( 尤其當訓練樣本中摻雜大模型生成的幻覺內容時更甚 )。例如,在醫療應用中,AI 根據患者的癥狀生成診斷建議,但如果這些癥狀與訓練數據不匹配,或者訓練數據本身存在偏差( 如某些相同指標數據指向不同病癥,從而需要醫生以個人理解進行具體判斷的情況 ),模型就可能給出錯誤的診斷結果。
最后,幻覺很多時候來源于模型訓練時知識和概念在時間上的局限性。
知危:大模型的幻覺會在企業應用中帶來哪些負面影響與成本損耗?
甄焱鯤:關于幻覺可能產生的 “ 成本損耗 ”,需要代入到具體應用場景分析。
用戶差異會帶來巨大的成本評估差異。假設生產效率的影響小于大模型應用前的歷史效率,總體上并不會產生 “ 成本損耗 ”。
比如。一個行政人員使用 Cursor 生產一個表格信息收集工具,即便生產效率低下錯誤頻出,生產效率仍然可能大于:找產品提需求、找研發開發、找測試評估、找運維部署。因此,Cursor 雖然經常犯錯誤,仍然有大量用戶,因為用戶認為 Cursor 的效率是大于自身的。
但若這個場景的用戶是研發人員,錯誤頻出帶來的效率降低,顯著大于:安裝依賴、查找文檔、編寫代碼,那么 Cursor 在這個場景大概率會被研發人員拋棄。
所以,成本損耗和效率的影響都是相對的。
進一步看,幻覺的負面影響還可以分為兩類:
預測錯誤,如果“錯誤”易于識別,則影響的是生產效率;
如果 “ 錯誤 ” 難以識別(例如預測錯誤發生在使用者不熟悉的領域),則影響的是應用效果。
知危:如何根據幻覺率高低進行產品落地可行性決策?
甄焱鯤:如果大模型的幻覺率過高,特別是在關鍵決策領域( 如醫療、金融、法律等 ),則這些產品的應用將面臨嚴重的挑戰。對于這類應用,企業的目標是盡量減少錯誤和幻覺,因為一個錯誤的決策可能導致巨大的財務損失或法律責任。
對于一些風險容忍度較高的應用場景( 如內容推薦、廣告投放等 ),企業會接受一定程度的幻覺,畢竟這些應用的目的是提升用戶體驗和增加商業效益,而不完全是做出精準決策。
通常,企業會設置一個 “ 安全邊界 ” 來限定幻覺率,確保在可接受范圍內。過高的幻覺率會增加企業的風險和成本,過低的幻覺率則可能意味著模型的復雜度和計算成本過高,導致收益無法覆蓋成本。
二、緩解幻覺的成效
知危:目前,為了緩解幻覺問題,一般會采用哪些方法?實踐效果如何?
甄焱鯤:當下常用的方案有三種:合適的模型、In-Context-Learning、微調。
首先,海量參數的大模型因為 “ Scaling Law ” 會緩解幻覺出現的概率;其次,借助各種提示詞工程和 RAG 等技術,“ In Context Learning ”( 在不進行參數更新的情況下,通過在輸入中提供示例來學習和完成新任務 )被實踐證明能夠大幅降低幻覺出現的概率;最后,使用 “ 繼續訓練 ” 的微調技術,在一些場景中可以一定程度降低幻覺。
為緩解語言生成幻覺和過度簡化幻覺,一般采用擴大訓練樣本和模型參數來解決,即采用更合適的模型。
為緩解邏輯推理錯誤,在 MCP 生態出來后,最火的就是:Sequential Thinking MCP Server,幫助大模型把復雜問題降級為諸多微任務,以期待降低大模型出現幻覺的概率。這屬于 In-Context Learning 方法。
緩解數據錯誤或無依據推理幻覺一般也是采用 In-Context Learning 方法。
為緩解時效性局限帶來的幻覺,比如編程領域,現在行業里有很多人在用 Context Server,也就是 MCP 的 Server,當調用 API 時,它能幫我檢查這個 API 的最新版本文檔和接口參數說明,避免使用了老版本的 API,保證生成代碼的準確性,這屬于 In-Context Learning 方法。
醫療、金融、法務等行業對精度要求非常高,使用 RAG 最多的就是這些行業。但是,由于 RAG 需要向量存儲、檢索服務,且會大幅度增加計算成本,某些行業的特定領域使用大模型微調技術,降低 RAG 帶來的成本,也能找到成本與效果的平衡點。
對于內容推薦、廣告投放等可以容忍一定程度錯誤的應用場景,AI 的幻覺率可以稍高一些,同時開發成本也會降低。最典型的例子就是 “ mini-gpt ” 開源項目,僅用幾個小時訓練一個幾百兆大小的小模型,就可以很好地生成兒童繪本級別的小故事。
中低精度要求和更低成本的情況下,小尺寸模型也是能接受的,比如 Qwen3-0.6B,In-Context-Learning 可以不使用或簡單使用,可以使用少量( 數百、千條數據即可 )行業優秀的案例數據進行微調,因為基礎模型參數量小,微調的成本也不會太高。
但總體而言,微調的效果和風險還是普遍存在。模型通過微調從通用模型過渡到領域特定模型時,是有可能丟失原有的通用知識的。
而對于所謂垂直領域大模型,在我個人實踐中發現,由于大部分場景都需要跨領域知識,反而使垂直領域大模型的應用效果受到限制,實際效果和微調技術基本持平。
最近行業里有一些論文在研究怎么讓大語言模型實現 Self Learning,也就是說它能在服務過程中對自己的參數進行微調,隨著使用不斷學習和提升,克服時效性的局限。比如,麻省理工( MIT )最近提出的 Self Adapting Language Models( SEAL )是一種模型能夠 “ 自行學習 ” 的技術:模型通過生成自己的合成訓練數據并用于自我更新,迎向 “ 終生學習 ” 之路。但該方法仍存在 “ 災難性遺忘 ”、計算資源高、學習調度復雜等挑戰 。
當下,由于大模型的基礎框架局限于 Transformer 和 Diffusion,并且在基礎框架層面并沒有顯著的技術突破,上述方案應該在大模型基礎框架技術變革前是有效的。
知危:為何說垂直領域大模型效果受限?從我們和醫療領域的專家交流來看,他們還是認為垂域模型比通用模型能力更強。
甄焱鯤:垂直領域大模型雖然掌握了行業知識,在特定任務上表現更好,比如在醫療這種病種類目極多、具備極強專業深度的領域。但在復雜推理或跨領域理解上仍顯不足,尤其在任務更復雜、數據稀缺時更明顯。
如果數據多樣性有限而規則復雜,比如材料科學,訓練出的模型往往傾向于 “ 記憶 ” 而不是建立泛化機制。只有當數據多樣性足夠高,才可能促進泛化。
最后,成本與收益不匹配。相比訓練一個垂直大模型,微調已有模型 + 機制( 如 RAG )往往更低成本,效果也更穩健。
知危:醫療、金融、法律是使用 RAG 最多的行業,那么這些行業之間使用 RAG 的情況有哪些不同?
甄焱鯤:總體而言,只要是涉及到標準化流程或比較依賴規則、先驗的工作,RAG 都會用得比較多。
其實 RAG 有不少局限性,不同行業使用 RAG 的場景需求也不同。
在法律行業,有時候應用中不只涉及法律法規,還包括案例、法律解釋、政策等。這就比一般的 RAG 難度高一些,主要是時效性要求高,因為法律是在不斷建設中的,各地對法律法規也可能有不同的解釋。
在醫療行業,現在大語言模型在時序理解上的局限性,會限制 RAG 應用的效果。當前的 RAG 更多是對概念背后所代表的含義進行理解和解釋。但是在醫療行業里,通常要解釋的是臨床數據和病例。
比如一個病人有一系列的檢查、體檢數據,包含各項指標在一定時間段比如一年內的變化情況。這些變化的含義不是簡單通過 RAG 就能查詢出來的。因為它有很大的個體性差異,比如性別、地域、年齡等各種因素的影響,也可能要結合上次檢查和這次檢查的對比,以及和其他類似患者的的對比。
不像其它領域,比如醫療領域可以直接生成病例、診斷書等,或者法律領域可以生成訴狀、裁決書等,金融行業在應用 AI 時,最終產生的結果更多是偏向建議或者輔助性的。因為使用 AI 會產生的一些問題和風險,目前用 RAG 加大語言模型的方式是難以規避的。因此金融行業傾向于更嚴謹的方式,比如在里面穿插一些傳統的機器學習算法,用來對決策背后可能產生的問題和風險進行估計。
知危:您的團隊對幻覺緩解的技術路徑探索經歷了什么樣的探索過程?關于微調和效果和風險可否深入探討一下?
甄焱鯤:剛開始的時候,我們主要對模型做微調,或訓練自己的 LoRA。比如輕辦公領域,針對用戶場景識別和服務推薦場景做微調或 LoRA。但我們發現,等花了半年甚至一年的時間訓練并上線后,大語言模型自身更新帶來的收益,往往已經超過了我們做這些工作的收益。
通過微調技術調整模型參數的時候,最大的問題在于參數調整可能帶來一些無法預期的后果。比如模型本身是無法處理 “ 沖突 ” 的,如果新數據與模型原有知識發生了沖突,經常會發生 “ 正確 ” 的數據遮蔽了 “ 正確 ” 的知識,甚至會導致 “ 災難性遺忘 ” 的情況發生。
“ 災難性遺忘 ”( Catastrophic Forgetting,也稱 catastrophic interference)是指模型在學習新任務或新知識時,嚴重遺忘先前所學能力的現象,尤其在順序訓練或持續微調中表現突出。即便是 AI 產品在服務過程中不斷更新權重,即 Continual Learning,也只是一種微調,傳統微調具備的缺點它都有。
在大型語言模型中,這種現象尤為關鍵:模型的知識分布式存儲于權重中,當在新領域訓練時,部分權重被重寫,導致模型原有的廣泛語言能力或事實知識退化。
在研究中,1B 到 7B 大小的 LLM 在持續微調后普遍出現災難性遺忘,甚至隨著模型規模增大( 但仍在這一范圍內 ),遺忘現象反而更嚴重。
舉個例子:一個針對醫療診斷微調的模型,可能會 “ 忘記 ” 基礎的數學能力或一般寫作能力。這個問題和大語言模型本身的技術特點相關,除非整個大語言模型技術發生本質性的革新,否則短期內這個問題比較難解決。
現在的大語言模型權重參數非常多,而且缺乏可解釋性。更新某些權重時,會對哪些權重或者什么情況下的推理產生負面影響,目前很難評估。所以,災難性遺忘或者權重沖突的具體原因,目前只能通過最終結果的評估來檢驗。
在實際測試對比下,In-Context Learning、RAG 往往比微調模型具有更好的泛化能力和穩定性。
總體來說,模型微調或者 LoRA 的效果,通常小于 RAG 的效果,因為 RAG 可以去修改數據,靈活性更強。而通過很多論文和行業數據都能看到,RAG 的效果一般又小于 In-Context Learning,因為后者是實時地把必要的知識或輔助信息當做 context 注入模型。
所以,后來我們更傾向于做 RAG、 In-Context Learning 這類優化。而實際上相比之下,目前我們 In-Context Learning 的應用還比較少。
原因在于 In-Context Learning 需要更豐富、結構化且準確的 context,而這些 context 比較難獲取。比如現在要幫產品經理寫一個新項目的產品文檔,來做產品策劃。產品的用戶定位、功能定義、用戶流程、UI 交互等,涉及多個領域。這些領域的知識和內容,要決定哪些需要提煉放入 context,去做 In-Context Learning,實際上有很大挑戰。從目前實踐效果來看,用工程或編程手段去解決,效果不如用 RAG 好。
但很多服務中,比如用戶完成一件事后還會接著做下一件事,也就是當用戶有連續性任務時,In-Context Learning 的應用門檻會相對低一些,因為可以知道用戶當前場景變化和上一件事情的結果。
知危:為什么模型微調的工程周期那么長?相比之下,RAG、In-Context Learning 的工程周期如何?
甄焱鯤:模型微調的工程周期很長,影響因素很多。
首先,構建微調模型需要高質量、標注良好的領域數據,耗費的精力往往占真實訓練的絕大部分。有人直接指出微調 90% 的精力花在 “ 提升數據質量 ” 上 。
其次,微調 LLM 不像一般模型那么輕松。需要性能強勁的基礎設施和優化、維護能力。訓練本身往往耗時數周,甚至更久。
再次,微調往往不是一次搞定的。需要反復調參、驗證、修復 bug、對比多個模型版本。
最后也是最關鍵的是,LLM 這個基礎模型可能每隔幾個月就會迎來新版本,原來的微調成果很快就可能被 “ 超越 ”。社區反饋也提到,每次基礎模型更新后,幾乎都得從頭再來一次微調 。
相比之下,RAG 通常只需數天甚至數小時即可部署,尤其用 Hugging Face 的 RAG-Token 示例幾行代碼搞定。
并且,RAG 整體工程流程簡單,門檻低于深度培訓。知識庫變更最快,只需重新 embed 文檔,完全無需重訓模型。因此,可以實時響應信息變化。
社區普遍反饋道,相比代價高耗時的微調,RAG 簡便且性價比更高。
對于 In-Context Learning ( ICL ),本質上只需構造好 prompt,可能還需要加入若干示例( few-shot ),基本不需要訓練過程。工程實現幾乎是幾分鐘到幾小時搞定 prompt 設計、示例選取、效果驗證。
對比微調,ICL 可謂 “ 立刻見效 ”。
知危:ICL 落地的具體挑戰都有哪些?為何還無法很好地解決,以至于即便潛能更大,目前實際效果不如 RAG ?
甄焱鯤:挑戰確實不少。ICL 的效果高度依賴于所選示例的質量,但 “ 哪些示例最具代表性、結構清晰、能覆蓋多領域內容 ” 本身就很難定義。典型方法有基于語義相似度的檢索( 如 embedding 距離 ),但往往不夠精準。
具體使用時,會受到模型本身限制、內容、結構等方面的影響。
大模型( 如 GPT-4o )雖支持數百K token 輸入,但仍難容納大量多領域信息,尤其文檔結構復雜時。
對于開放性( open )問題,過于貼近主題的上下文反而可能引起模型偏差或混淆。
同樣一組示例,順序不同可能得到完全不同的效果,但如何自動決定最佳順序依然是開放問題。 更細節來看,示例之間的排版、結構、標簽統一性、分割符等都能顯著影響結果,而找到 “ 最優格式 ” 往往需要大量試驗和經驗。
在更宏觀層面,涉及用戶定位、功能框架、流程與 UI 等多個維度時,需要為每個層面提煉關鍵結構內容。但這些內容如何抽象成 prompt 示例并串聯起來?目前仍缺乏清晰方法論。
最后,大模型在 ICL 中往往傾向使用 “ 捷徑 ”( 比如表面模式或標簽關聯 ),而非真正理解多領域深層邏輯。這種 shortcut behavior 使得 prompt 構造更加敏感脆弱。這種走捷徑的現象也是深度學習的老問題了。
知危:除了合適的模型、In-Context Learning、微調之外,據了解思維鏈、多智能體協同、重復采樣投票等方法在降低幻覺方面也有應用,這些方法在企業中的使用效果如何?
甄焱鯤:我們也會借助思維鏈來減少幻覺。在前一段時間接入 MCP 的時候,用得比較多的,也是現在行業里比較常用的,就是Sequential Thinking MCP Server,也就是序列化思考。我們也會去模仿像 Cursor、Roo Code 等對任務的拆分以及任務規劃的方式。
從我們的實踐來看,確實能比較好地提升準確率。因為它能夠更好地從當前任務中發現更多問題,并將實踐過程中可能缺失的環節補充上去,畢竟有時候用戶下的指令是比較粗糙的。
讓大語言模型把粗糙的指令轉化成 step-by-step 的詳細指令和任務,帶來的價值是毋庸置疑的。而且現在網上有很多開源項目,比如 Roo Code、Cline,這些是做軟件工程的 AI Agent 插件,比如 VSCode 上的插件。我們也會去參考它們的源碼,因為里面很多工程上的處理細節和提示詞工程的細節,都是非常值得我們借鑒的。
通過多智能體協同來降低幻覺,比如一個模型輸出,另一個模型評判,這種方式的幻覺緩解效果其實一般。
比如我們在使用 DeepSeek 的大語言模型進行代碼生成的時候,如果用 reasoning 模型( DeepSeek R1 )和它的基座模型( DeepSeek V3 )進行對比,會發現生成質量有明顯差異,生成偏好也不一樣。不同模型的偏好不同,這就會導致一個問題:到底什么樣的偏好才是對的?這在不同的具體業務場景下有不同的答案。
比如我們之前在實踐中發現,在對一些代碼進行 fix 的時候,用 DeepSeek 的基座模型,而不是 reasoning 模型,效果在某些情況下反而更好。因為 reasoning 模型有時候會把一些簡單問題復雜化,浪費大量 token 和時間去 “ 思考 ”,但生成的結果可能還是差強人意。
單個模型重復采樣后再做投票這種方法其實和多智能體方法是類似的。不管是多智能體,還是重復采樣投票,除非它在工程上能提升整體的并發性能和效率,否則意義不大。
因為現在很多模型本身就是 MoE( Mixture of Experts )結構,這些模型內部已經在進行采樣、投票、打分,調用不同的專家來解決問題。其實也可以把它看作是一個多智能體系統。比如最新的千問模型 Qwen3,在發布新版本時也說會把多智能體機制集成到模型內部。
這應該是一個技術趨勢。因為在訓練大語言模型時已經花費了大量數據,如果在訓練過程中能保持一定的多樣性,那么在輸出階段,通過一些數學上的優化手段去利用這種多樣性,讓它在最終結果中發揮價值,不管是多采樣、多智能體還是多專家機制,最終都能在結果的有效性上帶來比較好的價值。
從長遠來看,模型的發展更傾向于把多智能體的能力集成化,尤其是在商業模型中,以提升整體對外服務效率。
而對于開源模型,現在有一個比較明顯的趨勢,就是模型參數量在變小,但性能反而在提升,將更多用于實現多智能體、多模型并發推理。
比如假設一個 1B 到 3B 的模型,它可以達到傳統 32B 甚至 70B 模型的效果,就可以用于在設備端并行地進行推理。這時候可以把一些任務拆分給在某個特定領域表現比較好的專業小模型去處理。
最典型的例子是 Command R,它是最早用于命令行操作電腦的優秀模型。比如有一個編程任務,拆分后有些任務需要在命令行操作,比如初始化環境、批處理文件操作等,這時可以把這些任務分發給 Command R 這類模型去處理。
知危:Cursor、Roo Code 等對任務的拆分以及任務規劃的方式有哪些特點?
甄焱鯤:Cursor 的任務拆分與規劃最大的特點是原子化任務( Atomic Planning )。Cursor 強調把大的開發任務拆分成 “ 小勺子 ” 級別的小任務,每個任務聚焦當前相關文件和指令,避免信息過載和上下文混亂,并嚴格按必要的順序執行子任務。在分配任務時明確指令,如 “ 重構 calculateTotal() 函數以支持貨幣精算 ”,減少歧義。
Roo Code 也有類似的任務拆分與規劃框架,它還支持多種模式,比如 Architect 負責規劃與設計,Code 負責實施,Ask 負責解答與輔助。這些模式可以自由切換,任務拆分后可按階段委派給最合適的模式。
知危:除了事實性的幻覺,目前推理模型中的思維鏈 “ 幻覺 ” 也受到了很多關注。比如推理過程和結論無關,推理方式不符合人類邏輯,重復推理、無效推理等。這些幻覺對企業應用的影響如何?
甄焱鯤:影響比較大。拿 Cursor 來說,它經常會在思維鏈中說:“ 我覺得這個問題是什么?所以我要嘗試什么?” 然后思維鏈產生的結果可能是錯的。錯了之后它又說類似的話,結果可能又返回上一步錯誤,陷入死循環。很多時候我從程序員視角可以直觀發現問題,但模型卻不知道哪里出錯,也無法做出有效修改。
本質上,現在大語言模型并不具備真正思維能力,它還是一種機械的模仿。
做軟件的時候,經常有個不恰當的比喻:如果一個東西走起來像鴨子,看起來像鴨子,叫起來像鴨子,那它就是鴨子。但事實上這是不對的,而現在的大語言模型做的事情就是這樣。
當模型參數量足夠大,訓練數據也足夠多時,我們會覺得它好像在思考,因為預測下一個 token 的準確率比較高。維特根斯坦的相關理論也說明了語言和思維是直接相關的,我們無法超越語言去表達思維。
大語言模型通過大量語言資料訓練,它的參數在一定程度上可以看作是固化的思維,也就是一些套路。這些套路能夠解決重復出現的問題,但無法解決新問題。當套路無效時,模型仍會根據概率硬套這些套路,導致錯誤產生。
這是一個容易和 “ 幻覺 ” 混淆的點,即 “ 錯誤 ”。
重構軟件工程項目時遇到這類問題的概率比較高。因為模型沒有真正的全局思維,導致它在分析、推理和規劃時,更多是在局部最優的層面解決問題。
這些錯誤并不是上下文長度的限制造成的。雖然上下文有限制,但推理時輸入和內部權重參數之間會相互影響。即使給它更長、甚至無限的上下文,由于大語言模型算法架構和訓練數據、方法的局限,注定還是會出錯。
所以,哪怕推理模型引入了強化學習和思考能力,也只是有所提升,因為它會把以前生硬的直接概率,變成一系列反復驗證后的間接概率,從而提升準確率。
具體而言,其實 AI 的思考就是在檢索和重復驗證,只是效率和準確率比人類更高,所以它很適合做科研。有一篇比較有影響的論文 “ Do Two AI Scientists Agree? ”,講 AI 怎么從零開始發現大量物理定理。實際上你會發現 AI 能發現的物理定律,都是一些重復性的事情。
當然,這并不是影響 AI 應用的最關鍵問題。假設現在 AI 可以解決百分之七八十的問題,那剩下的百分之二三十的問題,暫時不做 AI 應用就行,這并不影響 AI 的推廣。因為這個世界上發生的很多事情,百分之七八十甚至九十以上都是重復的。這些重復的事情,用結構化的思維、固化的思維去理解和解決是沒有問題的。
知危:可否對上述方法和經驗做一個總結性描述?
甄焱鯤:其實要減少幻覺,在實踐中更多是想辦法把人類的先驗經驗集成到 agent 和 AI 應用鏈路里,做有效約束。這方面有各種方法,比如通過規則方式做硬性約束,也可以訓練強化學習模型,讓它學到人類策略或有效策略來做約束。這些手段無非就是告訴大語言模型要干什么,并且在執行過程中做一些過程性干預。
最重要的原則,是 “ 以終為始 ”,要從 “ 想讓 AI 解決的問題定義 ” 入手。很多時候 AI 有效,是因為我們已經能夠清晰明確地定義 AI 要做什么事情。
先對問題的復雜度進行分級:越復雜、抽象的問題,就應該用越多的權重參數、算力,以及更多的輔助手段來更好地解決它;而越簡單、越具象的問題,可能反而適合參數更少的模型,配合更硬的約束手段。所謂“更硬的約束手段”,比如模型的微調就是最硬的手段,其次是 LoRA,再次是 RAG,最后是 In-Context Learning。
順著這個梯度去選模型和約束方式,就能找到一個合適的組合。
還有一個折中原則是,如果在解決過程中發現無論多強大的大模型、多好的算法工程或者輔助工程都解決不了這個問題,那就不要什么事都端到端解決,可以把部分問題環節用傳統軟件工程或算法工程解決,把它們組合成一個混合( hybrid )的架構和工程。
如果讓 AI 解決的問題本身不適合 AI,或者問題非常復雜,那么無論做多大努力,它能達到的結果一定是差強人意的。
三、正確理解幻覺
知危:既然幻覺問題造成了那么多困難,也需要如此多手段來緩解,那么如何理解企業大規模應用大語言模型、取代傳統機器學習方法的意義所在?
甄焱鯤:理論上來說,除了文本生成領域外,大語言模型在其它領域的應用越來越多了。但在決策推理、復雜規劃等任務上,傳統機器學習算法還是更有優勢。
結合近期大語言模型、視覺模型也在結合典型傳統機器學習方法比如強化學習的趨勢,表明傳統機器學習算法的優勢是大語言模型無法替代的。但大語言模型的優勢是,它可以低成本地做到傳統機器學習算法能做的六七成的水平,這才是本質。
比如做數據分析,可以用傳統機器學習算法做統計分析、回歸等,來找到數據背后的模式,然后根據學到的模式做預測。甚至在一些特殊領域,可以通過擬合的方式刻意提高準確率,但是這樣做成本比較高,門檻也比較高,涉及數據處理、算法設計、模型訓練、評估,再到軟件工程的部署等。
相比之下,使用大語言模型的話,只需要把某一個時間段的數據,直接丟給大語言模型分析結果。畢竟現在大語言模型的 context 已經很長,很容易處理這類數據,如此成本就很低。雖然分析結果還有各種局限性,但對于很多日常工作的場景已經能滿足。
至于成本具體能降到什么程度,還是要看最終的場景需求。比如分析短期的數據,而且這些數據可以被大語言模型的 context 覆蓋,那它的成本幾乎為零。
如果數據量比較大,就需要通過 MCP或 agent 開發框架,把數據接入到大語言模型里面,可能還需要對數據做預處理,比如Pandas等傳統的機器學習框架和數據框架,其實已經具備一定的 AI 能力了。
目前我們去開發一個 AI Agent 來解決這些問題,跟傳統的軟件工程比如算法工程、數據工程、軟件工程等模塊對比下來,開發工作量只有原始工作量的百分之二三十左右。
知危:從技術人員的視角理解幻覺,有哪些不同的體會?
甄焱鯤:在當前這個大環境下,對程序員跨領域能力的要求比較高。所以從我作為技術人員的角度來看,在這個過渡階段,AI 編程帶來的收益更容易讓程序員接受,上手的速度比較快,這也是為什么像 Cursor 這類工具會這么火。
背后最本質的原因是,程序員本身懂技術,在學習或了解 AI 并不難的情況下,知道該怎么提問題或者怎么下達指令。而其他領域的人,比如 HR、行政、財務等在使用 AI 的時候,很多時候最大的挑戰是他們不具備相關知識,導致沒辦法提出有效的問題。提出正確的問題或寫出合適的提示詞,其實門檻還是比較高的。
我們現在使用的大部分大語言模型,都是指令跟隨版本,只要指令優化得足夠好,大語言模型犯錯、也就是產生所謂幻覺的概率和可能性,其實是非常低的。
從長遠來看,其實幻覺的存在是相對的。如果你不知道,或者你無法判斷的情況下,你就不知道它產生的結果到底有沒有幻覺,畢竟現在 AI 胡說八道的時候語氣還是一本正經的。但最終到底由誰來評估 AI 生成有沒有幻覺?還得是人類使用者,這時可能需要更專業的或其他領域的使用者來判斷。
知危:有些研究會把幻覺做一些類型劃分,探討了事實性數據和系統性數據的區別。系統性數據比如 1 + 1 = 2,事實性數據比如 “ 小明在 2025 年出生 ”,并提出事實性數據更容易出現幻覺。您對此有什么看法?
甄焱鯤:從我的視角看,早期大語言模型或一些傳統 NLP 算法確實存在這類問題,但我覺得現在比較新的大語言模型架構、訓練數據處理、指令微調方式,已經在很大程度上避免了這些問題。
目前模型技術在事實性產生錯誤的概率相對較小。據我了解,模型并不會生硬地去記憶事實性數據。
大語言模型出錯的一個典型例子是它不知道 “ 9.9>9.11 ”,本質原因是模型內部并沒有進行真正的數值計算。
不管是事實性數據還是系統性數據,都是一個概率計算問題。比如訓練數據里有 “ 1 + 1 = 2 ”,但大語言模型并不是直接知道 “ 1 + 1 = 2 ”,而是基于概率。
本質上,它是基于統計概率,而不是邏輯計算。
如果想真正理解幻覺本身,和產生的根本原因,必須了解模型的技術細節,比如大模型訓練時在做什么( 涉及前饋網絡、注意力機制、query 機制等 ),推理時在做什么,我們干預它時它又在做什么。
知危:您在前面所表述的大模型永遠無法完全解決的 “ 錯誤 ”,有什么具體的理論依據呢?
甄焱鯤:新加坡國立大學發表的論文 “ Hallucination is Inevitable: An Innate Limitation of Large Language Models ”,通過形式化定義 “ 幻覺 ” 并借助學習論證指出,LLMs 無法學習所有可計算函數,因此 “ 幻覺 ” 是固有而不可完全消除的。
另一項研究 “ LLMs Will Always Hallucinate, and We Need to Live With This ” 以 Gödel 不完全性定理和停機問題為基礎,指出幻覺是 LLM 必然會產生的結構性產物,不論模型大小、數據多么豐富,都無法根除。
早期的研究從理論上證明了 Transformer 的圖靈完備性,但都基于諸如無限精度和任意強大的前饋計算能力等假設。
而對于有限精度和有限前饋網絡計算能力的 Transformer 架構( 也是更符合現實情境下的設置 ),其在理論上相當于常深度閾值電路( TC0 ) 的計算能力( 參考論文“ The Parallelism Tradeoff: Limitations of Log-Precision Transformers ” ),這說明它們只能處理相對簡單的語言模式,面對更復雜、高組合深度的問題時力不從心。比如在多步推理組合任務中,如乘法、邏輯網格謎題或動態規劃問題,Transformer 模型更多是通過 “ 線性子圖匹配 ” 而非系統性推理來應對,隨著任務復雜度上升表現迅速衰退。
知危:近期關于AI幻覺還出現了一些關于泛化性的研究進展,“ Generalization or Hallucination? Understanding Out-of-Context Reasoning in Transformers ” 指出抑制幻覺的同時也會抑制 LLM 的泛化性。您對此有什么看法?
甄焱鯤:這些成果很有意義。
模型預測下一個詞本質上是概率性的,這可能涉及概率學的本質以及概率在人類社會中的影響。必須存在概率,才能有決策的空間和可能性,進而才能具備泛化能力。
就像人一樣,比如我們走路的時候,如果只有一條路,肯定不會走錯,只有當有多條路的時候才可能走錯,而新的路能帶來新的可能。這個問題確實是無法消除的,因為 “ 對 ” 與 “ 錯 ” 本身現在都很難定義。
有一種很有意義的情況,有時我們認為 AI 生成的結果是錯的,只是因為我們不了解、不知道或沒見過這樣解決問題的方式,但它實際上是對的,這是 AI 創造性的體現。
再比如,大語言模型認為這個世界是虛擬的,我們覺得它在一本正經地胡說八道,產生了幻覺。但可能過了五十年或一百年,我們通過科學方法論證了世界是虛擬的,那么這個所謂的幻覺其實不是幻覺,而是前瞻性的觀點。這有點類似于以前的很多科幻小說、科幻漫畫、科幻電影,里面很多技術現在都實現了。那么它到底是不是幻覺?所以關鍵還是看我們怎么定義幻覺。
所以在對待幻覺這個問題時一定要小心,不能太武斷地認為 AI 生成的內容沒有現實依據就是幻覺。
四、行業趨勢
知危:目前國內業界對 AI 幻覺風險的整體心態是否過度樂觀?
甄焱鯤:恰恰相反。DeepSeek 是一個分水嶺,在 DeepSeek 出現之前,無論是投資界還是業界,大家對幻覺帶來的負面影響都有點過度恐慌。但在 DeepSeek 出來之后,整個行業包括大眾都被 “ 教育 ” 了。大家對幻覺帶來的影響,以及對幻覺的評估,變得更理性了,有時甚至覺得幻覺是良性的。
具體而言,以前更多是通過新聞報道或學術論文了解幻覺的影響,現在大家已經開始實裝大語言模型來解決具體問題,所以會更客觀、更清醒地判斷:哪些場景下幻覺是可以接受的,哪些是不可以接受的;幻覺對不同任務的影響到底有多大,也能做出更現實、更準確的評估。
當然,相對來說在某些領域確實也存在 “ 過度樂觀 ” 的情況,比較明顯的是內容創作領域。現在有很多人并不真正了解幻覺是什么。有些人用 AI 輔助創作時,可能會過度樂觀,直接把生成的內容公開發布,而對負面的影響和后果沒有準確的理解和預估。
關于 “ 過度悲觀 ”,主要是在一些比較嚴肅的領域,比如科研、工業制造、軟件工程等場景,很多人會覺得,用大語言模型去解決一個問題,模型思考半天、花了很多錢、用了很多 token,最后也沒解決好,還不如自己解決。而且,在應用大語言模型時,本質上是某種程度上對自己的替代,這時候很多人會有抵觸心理,進而對模型做出過度悲觀或負面的評價。
知危:AI 編程是否也是一個 “ 過度樂觀 ” 的場景?特別是 Vibe Coding 火起來以后?很多智能體類產品推出得很快、更新頻繁,但在實際使用中還是會有很多問題,尤其是幻覺的累積和錯誤溯源問題,讓人頭疼。即便 Claude 4 Opus 號稱能連續工作 7 個小時完成編碼任務,但仍有人指出其寫出的代碼是難以維護的。您對此怎么看?
甄焱鯤:現在很多 AI Coding 應用的做法其實還是比較簡單粗暴的,屬于 “ 大力出奇跡 ” 的思路,而且確實在一定程度上有效。
比如我曾試用一個開源的 AI 編程模型,讓它幫我生成一個 Rust 語言的、用于監控當前網絡端口訪問情況的程序。它花了很長時間,大概兩三個小時,才生成出來可編譯的結果。
它之所以花那么長時間,是因為在不斷檢查編譯器的報錯并修正代碼。但最后我運行時發現還是有問題。因為我用的是 Mac Studio,Apple Silicon 的 ARM 架構,它選用的那個庫并不支持這個架構,最終導致運行出錯。我又讓它繼續修改,它又花了大概兩三個小時,才把這些錯誤都修正好,最后我才能正常運行和執行。
但如果是程序員來做這件事,可能很快就能解決。畢竟這就是庫不兼容的問題,對于一般程序員來說并不復雜。
現在很多生成代碼的方式,還是依賴枚舉各種情況,用各種提示詞和反復試錯、反復檢查。這種 “ 大力出奇跡 ” 的方式,也跟前面提到的大語言模型自身的特點有關,它不能真正思考,還是靠不斷進行局部最優的生成能力來解決問題。
知危:這種 “ 大力出奇跡 ” 的方法會不會導致 token 消耗過高、成本難以承受?
甄焱鯤:這個問題非常重要。現在其實大家沒怎么談這個問題。原因是對資本家來說,他們投資了大語言模型供應商,正希望 token 被大量消耗,只有這樣供應商才能賺更多錢。所以這個問題雖然存在,但往往被有意忽略。
當然,有很多開源項目或者行業里一些比較良心的軟件,比如 Roo Code,就做了很多這方面的優化,比如上下文壓縮、token 壓縮,在重復試錯時會主動停止,不會無限制地耗費資源。
反觀一些其它軟件修改代碼時,比如一會說多了個花括號,把它去掉了;編譯不通過,又說少了個花括號,又把花括號加上,然后又反復修改,重復了十幾次,實際上這些重復一直在消耗資源。如果是用免費版還好,用付費版的話,這些重復修改就會一直消耗用戶的錢。
當然,這個現象存在一定程度上也是可以理解的。一方面,AI 應用還處于非常早期階段,大語言模型還在快速發展變化,比如 DeepSeek 剛出來不久,廠商們開始大量往模型里加推理能力,強化學習也才剛起步,阿里最近才把多 agent 集成到商業大語言模型里。因此,現在的 AI 使用方式比較粗糙,隨著模型能力穩定下來,這些粗糙的使用方式會逐步優化和迭代,變得更加精細。
另一方面,目前 token 價格已經被壓低,用戶對價格的敏感度還不是特別高。從應用開發商的角度,也會更多希望用戶能持續使用,而用戶使用的前提是能幫他們解決問題。在技術還不夠成熟的情況下,有時 “ 大力出奇跡 ” 的方法是必要的。
知危:對于未來通過底層技術變革解決或緩解幻覺上,您對哪個方向比較看好?
甄焱鯤:我更傾向于最近生成視頻效果比較好的世界模型這條技術路線。
世界模型涵蓋更廣、更深,視頻模型只是它的一種應用體現,主要用來展示模型能力。就像一滴水滴到管子上和一滴油滴到管子上,產生不同結果,這背后是模型權重參數驅動生成的。它主要是通過表象展示背后的思維能力,不是簡單的 next token 預測,而是對事物真正的理解。
世界模型不是單純通過數據生硬訓練,而是讓模型在訓練過程中真正理解數據背后代表的概念、原理及它們之間的關系。
我更希望像訓練小孩、培養人類思維成長一樣,讓 AI 構建起自己的思維體系。而且這種思維是動態變化的,能夠適應周圍世界的變化。比如這個模型可以部署在端側,自主瀏覽網頁、使用搜索引擎或查詢數據。它還能自主決定是否把瀏覽到的概念或知識更新到自己的記憶里。
這是更偏向于 AGI 的發展方向。