AI 的「幻覺」不是故障,而是它本來就在做的事
模型沒有一個可靠的「我知道/我不知道」開關。理解生成機制與資料來源之後,你才知道哪些答案必須查證。
本篇內容
它一直在做同一件事
簡化來看,語言模型在生成時會根據前面的內容,持續估計下一個 token 的機率,再一步一步把文字接下去。它答對與答錯時都在跑同一種生成機制,內部並不存在一個像資料庫查詢那樣簡單的「有資料/沒資料」旗標。
為什麼「很有自信」也可能是錯的
語氣上的肯定和答案的事實正確率不是同一件事。模型可以學會用保留語氣,也可以被提示要求在不確定時說不知道,但這仍然不是傳統系統裡可靠的真值檢查。尤其遇到冷門人名、精確日期、數字、法規版本或剛發生的事件,流暢度最容易讓人誤把生成結果當成已查證事實。
不同問題,適合的驗證方式也不同
| 問題類型 | 主要風險 | 比較好的做法 |
|---|---|---|
| 一般解釋 | 概念被過度簡化 | 要求列前提、例外與不確定處 |
| 日期/數字/人名 | 細節看似精確但可能錯 | 查原始來源或權威資料 |
| 私人文件 | 模型根本沒有那份資料 | 把文件放進上下文或用 RAG 檢索 |
| 最新資訊 | 訓練資料與現在有時間差 | 使用具即時資料來源的工具並看來源日期 |
RAG、搜尋與工具為什麼有幫助
如果問題的答案可以從一份外部資料取得,最實用的做法不是要求模型「記得更準」,而是把查資料變成流程的一部分。RAG 先把相關內部文件找回來;搜尋工具取得公開資訊;計算器或程式工具處理不該靠語言猜測的運算。
這些方法不是保證零幻覺,而是把模型從「只能靠參數裡的模式生成」變成「手上有可檢查的外部證據再生成」。如果介面還能把來源一起呈現,使用者就有機會自己驗證。
實際上能做什麼
- 需要精確事實時,明確要求來源,而且真的打開來源確認,不只看模型列了一串網址。
- 把高風險資訊拆成可驗證的小問題:日期、金額、法條、計算結果分開查。
- 有原始文件就把原始文件當真相來源,不要讓模型憑記憶重述。
- 對自動化流程做 schema 與規則驗證;格式正確仍不代表內容正確,但至少能先擋掉一類錯誤。
最重要的是先判斷答案可不可以驗證
用 AI 最安全的習慣不是每一句都懷疑,而是先辨認哪些資訊一旦錯了會有成本。腦力激盪、改寫、整理通常可以容忍較大自由度;醫療、法律、金融、身分資料、最新政策與精確數字則應該把查證當成必要步驟。
理解幻覺之後,問題就從「怎麼讓模型永遠不犯錯」變成「怎麼讓重要錯誤可以被發現」。這個方向比較現實,也更像真正可以維護的產品設計。