— PILLAR 03 · RAG 與向量資料庫

RAG 如何防止 AI 幻覺:7 個技巧

Prompt 設計、Context 注入、Citation、Confidence Threshold——7 個防幻覺技巧。

PUBLISHED
2026-06-04
READ TIME
10 min
WORD COUNT
2400 字
CATEGORY
PILLAR 03

RAG 不一定不會幻覺。如果 retrieved context 不足、Prompt 沒設計好,AI 還是會編。這 7 個技巧把幻覺率從 15% 降到 < 3%。

技巧 1:明確的 System Instruction

# Bad
你是客服機器人,回答用戶問題。

# Good
你是客服機器人。請務必遵守:
1. 只能根據以下提供的 context 回答
2. context 沒提到的事情,請說「我這邊沒有相關資料,幫您轉接專員」
3. 不要根據常識編造答案
4. 每個事實都要附 [來源:檔名] 標記

技巧 2:強制 Citation

要求 AI 每個事實都要引用來源:

你的回答格式:
- 每個事實後面加 [檔名 段落號]
- 例如:「退貨期限是 7 天 [policy.pdf §3.2]」
- 沒有來源的內容不要寫

技巧 3:Confidence Threshold

檢索 Top-K 後,看最高分是否超過門檻:

results = vector_search(query, top_k=5)
if results[0].score < 0.7:
    return "我這邊沒有夠相關的資料,請聯絡客服。"

這能擋掉「問題與資料庫無關時的瞎編」。

技巧 4:拒答訓練

在 System Instruction 中加範例:

範例:
問題:「明年 GDP 會多少?」
Context:(無相關資料)
正確回答:「這個問題超出我的資料庫範圍,建議您查詢主計總處。」

技巧 5:兩階段查證

對高風險領域(法律、醫療),用兩階段:

  1. 第一階段:LLM 草擬回答
  2. 第二階段:用第二個 LLM 檢查「這個回答是否與 context 一致」,不一致就退回

技巧 6:結構化輸出

強制 JSON 格式,每個欄位都有 source:

{
  "answer": "...",
  "sources": [
    {"text": "依據條文", "doc": "policy.pdf", "section": "3.2"}
  ],
  "confidence": "high|medium|low",
  "uncertain_parts": ["如果有不確定的部分"]
}

技巧 7:限制創意

temperature 設低(0.1–0.3),top_p 設 0.5。這讓 AI 更保守、更不容易發揮想像。

實測:7 技巧合用的效果

配置幻覺率
裸 RAG(無技巧)14.2%
+ 強 Prompt8.5%
+ Citation 要求5.1%
+ Confidence Threshold3.8%
+ 兩階段查證2.4%

監控幻覺

上線後監控三個訊號:

  • 用戶按「👎」的對話:人工抽查 10%
  • 沒有 Citation 的回答:標記為高風險
  • Confidence 標 low 但回答不少的:可能編造

什麼情境最容易幻覺?

  1. 用戶問題超出資料庫範圍
  2. 用戶問「比較性」問題(A vs B 但只有 A 的資料)
  3. 用戶問「推測性」問題(未來、預測)
  4. 用戶問「常識性」問題(AI 訓練時學過)

這四類情境要特別加強 Prompt 防護。


RELATED ARTICLES

延伸閱讀。

— 最後一步

給我 30 分鐘,
告訴我你的業務。

我直接告訴你:你公司最該先用 AI 的 3 個地方、預算、補助。不收費、不推銷、不簽約。

L