Day17 到 Day20,我們分別從四個角度檢查了 RAG 系統的回答。今天要把這四個指標放在一起看,它們如何互補、怎麼組合判讀,以及分數不好的時候該往哪裡找問題。
前三個指標檢查的是單輪問答中的回答本身,Answer Relevancy(答案相關性)看回答有沒有對準問題,Faithfulness(忠實度)看回答有沒有超出 Context,Factual Correctness(事實正確性)看回答和標準答案吻合多少;而 Topic Adherence(主題連貫性)檢查的是整段多輪對話中,AI 有沒有守在預先定義的主題範圍內。
| 指標 | 對照對象 | 它在問什麼 | 分數異常時,先檢查 |
|---|---|---|---|
| Answer Relevancy(答案相關性) | 原始問題 | 回答有沒有對準問題 | Prompt 是否限制回答範圍、Context 雜訊、問題是否模糊 |
| Faithfulness(忠實度) | 檢索到的 Context | 回答有沒有超出 Context | Prompt 是否要求只根據 Context、Context 是否缺少關鍵資訊 |
| Factual Correctness(事實正確性) | 標準答案 | 回答和標準答案吻合多少 | 檢索是否漏資訊、知識庫是否過時、標準答案是否過期 |
| Topic Adherence(主題連貫性) | 參考主題 | 多輪對話有沒有守住主題 | System Prompt 的主題邊界、Guardrail(護欄)、是否過度保守 |
還是那個問題:「特休一天需要提前幾天申請?」
四個指標問的是回答的四個不同層次,切不切題、有沒有根據、對不對、守不守主題。它們對照的對象各不相同,分別是原始問題、Context、標準答案與參考主題,所以抓到的毛病也不一樣。另外,前三個指標看的是單輪問答,只有 Topic Adherence 看的是整段多輪對話。
單看一個分數,只能知道好或不好;組合起來看,才能知道問題出在哪。
這也是評測真正的價值。看到回答不理想,不該只說「模型答錯了」,而是要透過這些分數回頭問:是沒切題、沒根據、跟標準答案不符,還是跑出了主題範圍?分數的作用不只是打分,而是幫我們縮小排查的範圍。
回答品質的問題,有一部分其實是在檢索階段就埋下的。Context Recall 偏低,關鍵資訊沒有被找回來,模型在資訊不足時就容易自己補洞,Faithfulness 與 Factual Correctness 就會跟著下降;Noise Sensitivity 偏高,Context 裡的雜訊會把模型帶偏,Answer Relevancy 也會受到影響。所以實務上比較有效率的排查順序,是先看檢索的四個指標,確認資料有沒有找對、找全;再看 Faithfulness,確認模型有沒有照著資料回答;接著看 Factual Correctness,確認最終答案對不對;最後用 Answer Relevancy 與 Topic Adherence,確認回答有沒有切題、有沒有守住主題。
到這裡,八個指標已經完整地串了起來,檢索品質的四個指標檢查「有沒有找到對的資料」,回答品質的四個指標檢查「找到之後有沒有用對」。評測的價值,不在於跑出一個漂亮的分數,而是當系統表現不如預期時,能順著分數找到是哪一個環節出了問題。