處理矛盾資訊:文件互相打架時該回答什麼
新舊版本並存、不同部門說法不一,這是真實文件庫的常態。
實驗室裡的 RAG 假設文件都是正確且一致的。真實文件庫裡,同一個問題常常能找到三份互相矛盾的答案:一份是 2023 年的舊辦法、一份是草案、一份是最新公告。
系統的行為不該是「隨便挑一個」,而是要能辨識矛盾、依規則排序、並在必要時明確告知使用者存在分歧。
三個層次的處理
- 預防:在索引階段就標記時效與狀態,讓過期文件根本不進候選。
- 排序:檢索時給較新、較權威的文件加權。
- 呈現:仍然矛盾時,明確告知並列出各版本。
權威性加權
AUTHORITY = {'official_policy': 1.0, 'announcement': 0.9,
'meeting_notes': 0.6, 'draft': 0.3, 'chat_log': 0.2}
def final_score(hit):
days = (today - hit.meta['effective_date']).days
recency = 0.5 ** (days / 730) # 兩年半衰期
auth = AUTHORITY.get(hit.meta['doc_type'], 0.5)
return hit.rerank_score * (0.6 + 0.25 * auth + 0.15 * recency)權重係數要用評測集調,不要憑感覺設。不同組織對「新」與「權威」的重視程度差異很大。
偵測矛盾
DETECT = '''下列片段是否對同一問題給出互相矛盾的答案?
問題:{q}
片段:
{chunks}
輸出:{"conflict": true|false,
"groups": [{"claim": "...", "chunk_ids": [1,3]}]}
只有在**實質內容衝突**時才判定為 true;
表述不同但意思相同不算衝突。'''呈現方式
偵測到矛盾時,不要讓模型自己選一個講。正確做法是回覆結構化的分歧說明:
依據最新的《2026 人事規章》(2026-01-01 生效):特休於到職滿六個月起算 [1]。
⚠️ 注意:另有一份 2023 年版本的說明文件記載為滿一年起算 [2],該文件已標示為過期。
若您的情況特殊,建議向人資確認。把矛盾當成資料品質訊號
矛盾偵測的結果應該回饋給文件維護者。系統發現「這個問題有三份文件說法不同」,就是在幫組織找出該清理的文件。把這些案例做成月報,價值往往比問答功能本身還高。
矛盾偵測會增加一次模型呼叫。可以只在「前 k 個片段來自不同文件且相似度接近」時才觸發,避免每次都跑。
訂閱後繼續閱讀全文
本篇為訂閱者專屬內容。訂閱後可取得下列權限:
- 解鎖全部內容權限
- 閱讀不限篇數
- 全站移除廣告
月卡
NT$240
開通 30 天
一次付清,開通 30 天
季卡
NT$620
開通 90 天
一次付清,開通 90 天,每天約 NT$7
年卡
NT$2,160
開通 365 天
一次付清,開通 365 天,每天約 NT$6
一次性付款,付款成功後立即開通,到期自動結束,不會再次扣款,也不需要取消訂閱。
立即訂閱
金額均為新臺幣(TWD),即實際扣款金額,不另收手續費
支援信用卡 · Apple Pay · Google Pay · WebATM · ATM 轉帳
購買須知與退款政策