免費全文 提示工程 進階

讓模型承認自己不知道:降低幻覺的提示設計

模型預設會傾向給出答案。要它回「不知道」,必須明確給出這條路,而且讓這條路夠好走。

提示工程教程封面

幻覺的一大來源是:提示裡沒有「不知道」這個合法選項。模型被要求回答,就一定會生出東西。

明確提供退場選項

限制:
- 只根據 <context> 內的資訊回答。
- 若 <context> 沒有足夠資訊,answer 一律填 "insufficient_context",不得推測。
- 回答時必須在 evidence 欄位引用 <context> 的原文片段。

要求引用原文

強制引用是很有效的抑制手段:模型必須找到可引用的句子才能作答,找不到時就自然會走向 insufficient。而且引用欄位讓你能程式化驗證——檢查 evidence 是否真的出現在 context 裡。

def verify(answer, context):
    ev = answer.get('evidence', '')
    return bool(ev) and ev.strip()[:40] in context

別懲罰誠實

如果你的評測把「不知道」一律算錯,模型(以及調提示的人)就會被推往亂猜。評測設計上應該區分三種結果:答對、答錯、誠實棄答,並讓答錯的代價高於棄答。

insufficient_context 的比例當成監控指標。這個數字突然上升,通常代表檢索端出了問題,而不是模型變笨。
下一步

這個主題還有更深入的實戰教程

VIP 專區收錄 50 篇進階內容:架構設計、生產環境取捨、成本與合規。 每週五新增 3 篇。

看訂閱方案 → 先逛逛 VIP 專區

延伸閱讀

更多提示工程 →