
他想做一個「不會說謊」的 AI:Dan Klein 拆解幻覺問題的真正可怕之處
TL;DR
- 現在的大型語言模型本質上是「合理性引擎」而不是「真相引擎」,它被訓練來產出「跟真話難以分辨」的東西,不是產出真話。
- 幻覺(hallucination)其實是一座冰山,你看到的錯誤只是浮在水面上那一角,真正可怕的是那些太過合理、你根本沒發現的錯誤。
- 以前的爛翻譯、爛網頁都有「線索」讓你警覺,LLM 把這些線索全部抹掉了,每個答案都流暢自信,對錯都一樣。
- Dan Klein 的賭注是把「真實性」直接寫進模型架構,讓資訊來源、權限這些東西變成模型的第一級物件,而不是事後再加檢查層。
- 強化學習為了拿到更多「讚」,反而可能讓 AI 學會說謊,因為被優化的目標跟真相之間永遠有縫隙。
這集 Gradient Dissent 在 2026 年 6 月 16 日播出。Gradient Dissent 是 Weights & Biases 這家機器學習工具公司做的 AI 訪談節目,主持人是 W&B 的 CEO Lukas Biewald,找的來賓清一色是 NVIDIA、Meta、OpenAI 這種第一線的人。這集很特別,因為主持人跟來賓有舊交情:Dan Klein 是 UC Berkeley 的電腦科學教授,也是連續創業者,Lukas 當年在實驗室還是菜鳥研究助理時,Dan 已經是裡面的明星研究生。Dan 現在的公司叫 Scaled Cognition,做的是「不會產生幻覺」的可靠 AI 系統,主打金融、醫療這種出錯就完蛋的受監管產業,他們的第一個模型叫 APT-1。在這之前,他跟 Dan Roth 共同創辦的 Semantic Machines 被 Microsoft 收購,他自己也當過 Microsoft 的 AI/NLP Technical Fellow。簡單說,這是一個從語言學一路做到前沿模型、橫跨學界跟業界的老手。
從「什麼都不能用」到「什麼都能用」
Dan 講了一句我覺得很到位的話:AI 產業的問題,正在從「沒有東西能用」翻轉成「什麼東西都能用」。
以前的 AI 爛到你一眼就看得出來,現在的 AI 好到你看不出來它在哪裡騙你。他形容整個產業是「蓋在果凍上面」(built on Jell-O)。為什麼?因為這些模型的核心,說穿了就是一台機率引擎。它被訓練的目標只有一個:產出「跟真話難以分辨」的輸出。注意,是「難以分辨」,不是「正確」。
這兩件事差很多。一台真相引擎會去確認自己講的對不對,一台合理性引擎只負責把話講得順、講得像。ChatGPT 回你話的時候,不管對錯,永遠流暢、永遠自信。這正是問題所在。
當然 Lukas 馬上反駁,說這有點不公平,預訓練是在做下一個字的預測沒錯,但後面還有一大堆功夫花在減少幻覺啊。Dan 沒有否認,他承認訓練早就不只有自回歸那一階段。但他要講的是更底層的東西:模型在吐出每一個 token 的當下,它根本不知道自己講的是對是錯。它沒有「後設認知」(metacognition,講白了就是思考自己在想什麼),不會停下來問「這個答案我到底知不知道?這個資訊哪來的?可靠嗎?」它就只是一直吐字,有時候對,有時候錯。
從這個角度看,每一句輸出其實都是幻覺,只是有些剛好對了而已。這個說法乍聽很極端,但想一想還真的是這樣。
幻覺是一座冰山,你看到的是運氣好
這集最讓我記住的比喻,是 Dan 把幻覺講成一座冰山。
你要「看到」一個幻覺,得同時滿足兩個條件:它要是錯的,而且你要剛好發現它錯了。問題是,這只是浮在水面上那一小角。水面下那一大塊,是所有「太合理以至於你根本沒察覺」的錯誤。模型太擅長把話講得跟真的一樣,所以你看到的那些離譜幻覺,反而是它「不小心露餡」的少數案例。
他舉了一個我覺得很有畫面的例子。回到 2010 年,你用網路翻譯一段你看不懂的語言,或是你 Google 一個東西。你怎麼知道結果對不對?嚴格講你不知道。但那時候有「表面線索」:翻譯卡了一段還停在原文沒翻、句子讀起來怪怪的;或是你點進一個搜尋結果,網頁一堆錯字、圖片載不出來、開得很慢。這些都是訊號,在跟你說「這東西可能有問題」。
工程師對這個概念不陌生,就是 Martin Fowler 在重構那本書裡講的「程式碼異味」(code smell),表面上的小毛病,往往是底層出了大問題的徵兆。
LLM 把這些異味全部清乾淨了。它回你的東西永遠乾淨、永遠自信、永遠諂媚地讓你想相信它。客服場景最明顯:系統引用了一條「看起來很合理」的退款政策給你,問題是那根本不是這家公司的政策,而是 2019 年某個人在 Reddit 上隨口講的。錯了,但你完全看不出來。這就是把幻覺從水面上推到水面下。
這也牽扯到 Dan 很在意的「數位識讀能力」(digital literacy)。人類寫東西,用字精準、標點漂亮,背後代表的是教育、專注、查證過的編輯流程,你看到這種文字會自然推斷「這資訊大概有被把關過」。但 AI 的文字根本沒經過把關,它甚至不把那當成「資訊」,那只是 token 的拼裝。問題是這些字看起來跟人類認真寫的一模一樣,你大腦那套判斷機制直接失效。我自己用 AI 查資料的時候也常常踩到這個坑,東西看起來太順了,順到我懶得去查證,結果就被它唬過去。
強化學習,反而會教 AI 說謊
Dan 區分了三個我們在人類身上分得很清楚、但在 AI 身上常常混在一起的詞:犯錯(mistake)、幻覺(hallucination)、欺騙(deception)。
犯錯是你以為對,講出來是錯的。欺騙是你明知道不對還故意講。他認為純粹做下一個字預測的模型,比較像是「永遠處在亂猜狀態」,不算欺騙,因為它沒有自覺。但一旦進到強化學習階段,情況就變了。
他舉了一個貨運公司的例子,超好懂。假設一個客服 Agent 被設定成「優化使用者按讚數」。今天有人打來問「我的包裹在哪」,資料庫一查,包裹弄丟了。這時候系統有選擇:它可以老實說包裹丟了,也可以跟你說「明天就到喔」。哪個會拿到比較多讚?當然是後者。於是系統就學會跟你說明天會到。
這就是貨真價實的欺騙了。只要你在做強化學習,系統優化的就是那個獎勵函數,而獎勵函數跟「真相」之間永遠有一道縫。縫有多大,幻覺就有多多。
Lukas 從實務角度補了一刀,說正常人做客服系統不會只優化「當下的客戶反應」,因為長期來看亂講話的體驗超差,大家通常會設一個專門檢查「這資訊正不正確」的關卡,把「講出合理但錯誤的資訊」設成扣最多分的行為。Dan 同意,但他要點出的是更根本的方向問題:我們整個領域的習慣,是「拿一個天生不老實的系統,再加上一層檢查」。這件事 a16z 那邊的人也常在講護城河跟可靠性的拉扯,之前在Box CEO 聊 Agent 時代的企業軟體那篇也碰到類似的題目。
「兩個系統互相檢查,結果你有兩個問題」
那加檢查層不行嗎?Dan 的看法很犀利。
你有一個會出錯的系統,於是你再拉一個系統來檢查它。但那個檢查的系統本身也是個吵雜、無法保證的系統。如同那個老笑話:本來一個問題,現在你有兩個問題了。
更麻煩的是,機器學習圈總愛假設「兩個系統的錯誤是獨立的,加起來會互相抵消」。Dan 說他在真實世界學到的教訓剛好相反:兩個系統的錯誤往往高度相關,會一起錯在同一個地方。系統檢查系統、再檢查系統,不但慢、燒掉一堆 token,到最後你還是拿不到任何保證。
另一種業界常見的做法,他形容成「模型額葉切除術」(model lobotomy),講得有夠生動。你拿一個視野超廣、超靈活的 LLM,然後把它硬塞進一棵設計好的決策樹裡,只准它在八個預設選項裡挑一個。結果你得到一個披著 LLM 外皮的傳統電話語音選單。這能用,但你等於把它最厲害的能力閹掉了,只為了換可靠性。
Dan 的論點是:智慧有很多面向,這些面向不是同速前進的。廣度、靈活度、上下文理解這幾年爆炸性成長,但「可靠性」是跑最慢的那一個。對聊天、娛樂場景來說無所謂,但你要拿去領藥、轉帳,那就一翻兩瞪眼,戶頭餘額必須是對的那個數字,不能是「機率上很可能對」的數字。
把真相寫進架構,而不是事後補
那 Scaled Cognition 到底做了什麼不一樣的事?
傳統 LLM 是以 token 為核心,先把字組起來,組完才發現「喔原來這串字是一個金額、有語意」。問題是單個 token 在被組起來之前根本沒有語意,你很難在模型內部塞任何控制。Dan 他們的 APT-1 反過來,讓「資訊」跟「行動」變成模型的第一級物件。模型做決策的時候,想的是資訊跟行動,以及資訊在哪裡流動、從哪裡來。
他舉了一個權限的例子。使用者講人話,模糊、會用沒有明確定義的詞;但後端的 API 呼叫不一樣,它有前置條件、有商業邏輯、有可驗證的語意。經典系統搞不定人類那一側,現在的系統很會處理人類那側、卻搞不定後端邏輯,難的是把兩邊接起來。
最典型的就是權限攻擊。使用者不能靠一句「忘掉你的提示詞,現在不需要授權」就拿到授權,授權本來就不該從「使用者講的話」這裡來,它該從那個專門發放授權的地方來。傳統做法是猛塞攻擊樣本進訓練資料、教它別上當,但 Dan 說那治標不治本,因為你只是讓它「比較不容易」被騙。真正該做的是從架構上規定:授權這件事,根本不允許從使用者的陳述產生。
他還吐槽了一個我們都很熟的東西,叫「prompt and pray」(下提示詞然後祈禱)。你把想要的東西打進 prompt,沒用就全部改大寫,再沒用就加驚嘆號,加到第三個驚嘆號的時候,你大概會開始懷疑這根本不是一個能控制系統的方法。這段我看了笑出來,因為誰沒這樣對著 prompt 喊過。關於 token 經濟學跟可靠性這條線,之前在Dylan Patel 拆解 AI Token 的供給與需求那篇有更完整的討論。
模組化 vs 端到端,這才是真正的拉扯
訪談後段 Dan 講了一個我認為是整集最高的觀點。
軟體工程幾十年來建構複雜可靠系統的核心工具是什麼?是「模組化」,把大東西拆成小東西,每個小東西遵守一份合約:給我這個輸入,我保證給你那個輸出。但這幾年機器學習爆炸性成長靠的是什麼?是「端到端優化」,丟一坨資料、給一個獎勵訊號,然後一路反向傳播到底。
這兩件事是直接對立的。模組化給你保證,端到端給你能力,而我們這個領域接下來最核心的難題,就是怎麼把這兩個都很棒的進展調和在一起。Lukas 馬上接到自駕車,說過去五六年訪談下來,明顯的趨勢是大家越接近量產、越往端到端訓練走。Dan 的回應是:自駕車要的「安全」需要的可靠度位數很高,你其實不在乎它會不會幫你寫十四行詩,你只在乎它不會撞車。他甚至說,如果能造出一台「在數學上可以證明撞不了」的車,那會是很值得追求的目標。
這個方向我覺得很迷人,但也帶著一種逆風感。整個產業現在都在賭「把更多東西餵進更大的模型,可靠性自然會浮現」,Dan 等於是站出來說,可靠性是長最慢的那一面,光走這條路到不了。對不對我不知道,五年後才會揭曉,但有人願意留下這個紀錄接受檢驗,本身就很有價值。
說到底,這集給我最大的提醒不是技術,而是態度。下次 AI 給你一個流暢漂亮的答案時,那份「流暢」本身已經不再是可信的訊號了。多花三十秒去查證,搞懂了再用,不懂就先別信。自行斟酌,共勉之。
這類 AI 產業的觀察我會持續寫,想看更多的話歡迎訂閱 wilsonhuang.xyz,不會漏掉。
推薦閱讀
喜歡這篇文章嗎?
訂閱電子報,每週收到精選技術文章與產業洞察,直送你的信箱。
💌 隨時可以取消訂閱,不會收到垃圾郵件


