適用於誰
- 搜「ai幻覺怎麼解決」「減少ai幻覺」「ai 一本正經胡說八道」的人;
- 被 AI 編造的文獻、數據、法條、連結坑過,想知道怎麼問才更可靠的人。
本文根據 Anthropic、Google、OpenAI 的官方文檔整理,資料核對於 2026-10-11。
結論先說
- 幻覺指模型生成了事實錯誤、或與給定上下文不一致的內容。Anthropic 文檔的說法是,即使最先進的語言模型有時也會這樣。
- 沒有哪種方法能根除幻覺。Anthropic 在文檔末尾明確寫道:這些技巧能顯著減少幻覺,但不能完全消除,關鍵資訊一定要自己驗證,尤其是高風險的決定。
- 最有效的三件事:允許它說「不知道」;讓它基於你提供的資料並引用原文;涉及新資訊和計算時讓它用工具(聯網、代碼執行)。
- 重要結論要有可核對的出處,而你要真的去核對。
幻覺從哪裏來
理解三個常見來源,就知道該用哪種對策:
| 來源 | 表現 | 對策 |
|---|---|---|
| 模型不知道,但被要求必須回答 | 編造文獻、人名、數據 | 允許說不知道 |
| 資料太長,沒讀準或記混 | 張冠李戴、引用不存在的段落 | 先摘錄原文再回答 |
| 知識過時,或需要精確計算 | 說錯最新情況、算錯數 | 聯網搜尋、代碼執行 |
步驟
1. 明確允許它說「不知道」
Anthropic 把這條列為第一項基礎策略:明確給予模型承認不確定的許可,官方稱這個簡單的辦法能大幅減少錯誤訊息。
官方示例的寫法是在任務最後加一句:如果你對某個方面不確定,或者報告缺少必要的資訊,就說「我沒有足夠的資訊來有把握地評估這一點」。
可以直接用的版本:
如果你不確定,或者現有資訊不足以得出結論,請直接說「我不確定」並說明還缺什麼資訊。
不要為了給出完整答案而猜測;猜測的內容請明確標註為「推測」。
2. 先引用原文,再回答
Anthropic 的第二項策略,針對長文檔任務(官方給的量級是超過 2 萬 token):先讓模型逐字提取相關引文,再基於引文完成任務,把回答錨定在實際文本上。
1. 從文檔中逐字摘錄與問題最相關的原文,逐條編號。
如果找不到相關原文,請寫「未找到相關引文」。
2. 只根據這些摘錄進行分析,引用時註明編號。
3. 逐條核對:找不到依據就撤回
第三項策略是讓回答變得可審計:要求模型為每一個論斷給出引文和來源。Anthropic 還給了一個更嚴格的版本:讓模型在寫完之後,為每個論斷找一條支持它的引文;找不到的,就必須撤回這個論斷。
寫完初稿後,逐句檢查:每個事實性陳述都要能在上面的資料裏找到一條原文支持。
找不到支持的陳述請刪除,並在文末列出「因缺少依據而刪除的內容」。
最後那一句的作用是讓你看到它刪了什麼,有時被刪掉的恰恰是需要你另外查證的點。
4. 限定只用給定資料
Anthropic 的進階技巧之一:明確指示模型只使用所提供文檔裏的資訊,不使用它自己的通用知識。
Google 的文檔給了一段為提升「基於給定上下文作答」而設計的系統指令,大意是:你是一個嚴格基於資料的助手,只能依據用戶提供的上下文裏直接提到的事實來回答;不要使用自己的知識或常識;不要從給定事實中做假設或推斷;把提供的上下文當作事實的絕對邊界。
這種寫法適合客服、制度問答、合同審閱等「答錯比不答更糟」的場景。日常問答不要用,它會讓模型連常識都不敢用。
5. 新資訊和計算,交給工具
Google 文檔說得很直接:Gemini 可以藉助工具來避免在某些場景下產生幻覺。
- 聯網搜尋:只要模型可能需要知道冷門或最新的事實,就應該開啟搜尋;
- 代碼執行:只要模型需要做任何算術、計數或計算,就應該開啟代碼執行,讓它寫代碼算出來,而不是「心算」。
其他產品同理:問新聞、價格、版本號、政策時打開聯網;算數、統計、處理表格時用數據分析或代碼功能。
OpenAI 文檔從另一個角度講了同一件事:在提示詞裏加入相關的上下文資訊(即檢索增強生成,RAG),可以讓模型用上訓練數據之外的資料,並把回答限定在你選定的資源範圍內。
6. 多問幾次,交叉比較
Anthropic 列出的另外幾個進階技巧:
- 多次生成對比(Best-of-N):同一個問題跑幾次,比較結果。幾次回答不一致的地方,很可能就是幻覺所在;
- 迭代核查:把模型的回答作為下一輪的輸入,要求它核實或展開其中的陳述,可以發現前後矛盾;
- 查看思考過程:開啟思考後,在答案看起來不對時查看思考摘要,往往能看出錯誤的假設或邏輯。
對聊天用戶來說,最容易操作的是第一條:重要的問題點一次「重新生成」,或者換一個模型再問一遍,重點看兩次回答不一樣的地方。
一個通用的防幻覺提示詞
請基於下面的資料回答問題。
<資料>
[粘貼資料,或說明「見上載的文件」]
</資料>
問題:[你的問題]
要求:
1. 先逐字摘錄與問題相關的原文並編號;找不到就寫「資料中未找到」。
2. 回答中的每個事實都標註所依據的摘錄編號。
3. 資料沒有覆蓋的部分,明確寫「資料中未提及」,不要用常識或推測補全。
4. 需要計算時,寫出計算過程。
5. 最後單獨列出:哪些結論你把握不大,建議我另外核實。
哪些內容必須人工核對
無論用了多少技巧,下面這些內容都按「可能是錯的」來對待:
- 文獻、書名、作者、DOI、法條編號、判例;
- 具體數字、日期、價格、版本號、統計數據;
- 連結和聯絡方式;
- 人物的言論和經歷;
- 醫療、法律、財務方面的具體結論。
核對方法很樸素:引文去原文裏搜;文獻去數據庫裏查;連結點開看;數字找原始出處。
常見問題
Q:把溫度調到 0 能消除幻覺嗎?
不能。溫度影響的是輸出的隨機性,模型不知道的事,調低溫度只會讓它更穩定地給出同一個錯誤答案。另外 Google 文檔對 Gemini 3 系列的建議是保持這些採樣參數為預設值。
Q:聯網之後就不會錯了嗎?
會少很多,但模型仍可能誤讀搜到的網頁,或者引用了質素不高的來源。看它給出的來源連結,重要內容點進去確認。
Q:結構化輸出能防幻覺嗎?
它能防的是「格式上的幻覺」。OpenAI 文檔的說法是,結構化輸出讓你不用擔心模型漏掉必填字段,或者編造一個不在枚舉範圍內的值。字段裏的內容是否屬實,仍然要靠上面的方法。
Q:為什麼它編的東西看起來那麼像真的?
因為模型生成的是「看起來合理的文本」。格式越規範、語氣越肯定,並不代表越可信。這也是為什麼要靠出處而不是靠語氣來判斷。
Q:有沒有幻覺更少的模型?
各家都在改進,但官方文檔都沒有承諾為零。選模型時更值得關注的是它能否聯網、能否引用來源、能否運行代碼。
參考資料
- Anthropic 文檔:Reduce hallucinations — https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/reduce-hallucinations
- Google 文檔:Prompt design strategies(Grounding and code execution、Gemini 3 Flash strategies)— https://ai.google.dev/gemini-api/docs/prompting-strategies
- OpenAI 文檔:Prompt engineering(Include relevant context information)— https://developers.openai.com/api/docs/guides/prompt-engineering
- OpenAI 文檔:Structured model outputs — https://developers.openai.com/api/docs/guides/structured-outputs
0 條評論
還沒有評論,來搶沙發~