這種現象被稱為「幻覺」,當模型試圖填補其知識中的空白或輸入不明確時,就會發生這種情況。

讓我們探討各種策略,以最大限度地減少幻覺並提高 Claude 輸出的準確性和可靠性。通過實施這些技術,您可以確保更好的用戶體驗和更值得信賴的結果。

允許 Claude 說「我不知道」

減少幻覺的一種有效方法是明確允許 Claude 說「我不知道」,尤其是在詢問基於事實的問題時(也稱為「給 Claude 一個出口」)。這允許 Claude 承認其局限性並避免產生不正確的信息。

以下是一個鼓勵 Claude 在不知道答案時承認的示例提示:

Content
System請盡你所能回答以下問題。如果你不確定或沒有足夠的信息來提供一個自信的答案,只需說「我不知道」或「我不確定」。
User布基納法索的首都是什麼?

通過給 Claude 一個明確的「出口」,你可以減少它產生不準確信息的可能性。

提醒

雖然 Claude 在互聯網上閱讀了很多內容,並且了解現實世界的事物,但它無法訪問互聯網。Claude 是在可能超過一年的數據上訓練的。它也不知道任何當前事件。


要求 Claude 提供直接引用

在處理長文檔時,要求 Claude 提取與特定問題相關的逐字引用可以幫助最小化幻覺。這種方法對較長的文檔(>300 字)更有效,對較短的文檔可能不太可靠。

以下是一個請求直接引用的示例提示:

RoleContent
User考慮以下文檔:
\
{{DOCUMENT}}
\

請從此文檔中提取與問題 <question>{{QUESTION}}</question> 相關的逐字引用。如果此文檔中沒有與此問題相關的引用,請說「我找不到任何相關的引用。」

通過請求直接引用,您可以更輕鬆地驗證 Claude 提供的信息的準確性(並進一步讓 Claude 使用引用作為內聯引文)。您還可以執行字符串匹配或計算引用與原始文檔之間的重疊百分比,以確保模型沒有產生幻覺。

引用提取準確性說明

當要求引用時,您可能無法 100% 重現原始文檔文本,但您希望保真度很高。例如,如果文檔中有錯誤,模型可能會添加「[sic.]」,或者為引用添加上下文,例如「他 [Brian] 邀請她 [Diana] 共進晚餐」,只要添加的內容準確即可。

如果您認為 Claude 添加了不准確的內容,您可能需要過濾非常高的重疊度,並使說明更嚴格,例如添加類似「請確保您的引用直接從文檔中逐字提取。不要添加任何額外的內容,如消歧義或評論。」

您可以進一步利用 Claude 提取的直接引用,告訴 Claude 只有在這些引用中找到相關信息時才回答,或者將其答案僅基於提取的引用中找到的信息。請參閱我們 提示庫 中的這個基於引用的示例提示:

Content
System你是一位專家研究助理。這是一份你將回答問題的文檔:
\
{{DOCUMENT}}
\