iT邦幫忙

2026 iThome 鐵人賽

DAY 20
0
Claude AI

從 AI 助理到營運中台:金融 PM 的 30 天 Claude Code 治理實戰系列 第 20 篇

RAG 實戰筆記:敢說「找不到答案」,才是 AI 系統成功的關鍵

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20261004/20144604WPuhkS6Vec.jpg
在企業導入檢索增強生成(RAG)系統的過程中,最令架構師徹夜難眠的惡夢,往往不是系統「查不到資料」,而是 AI 以極其專業的口吻,引用了一條早已過期的法規,或是在成堆的技術文件中,拼湊出一個看似合理卻完全錯誤的回答。

在我們最近的 TASK-004 稽核任務中,發生了一個極具啟發性的轉折:初始檢索測試拿到了 15/15 一次全綠的完美成績。然而,這正是「技術指標全綠」帶來的假象。當我們發動對抗性探測時,這份全綠的報告背後隱藏的治理漏洞才顯露無蹤。這讓我們意識到:RAG 系統的成熟,不在於它回答了多少,而是在於它是否具備「精準拒絕」的勇氣。
https://ithelp.ithome.com.tw/upload/images/20261004/201446044GQ6KIiUEc.jpg

以下是我們在 RAG 治理與架構中,針對「可追溯性」與「精準度」總結的四個核心實作細節。

重點一:過濾器必須在評分之前(Filter Before Scoring)

檢索的第一步絕不是計算相關性,而是「合規性過濾」。根據我們先前的教訓(Day 17 的 200 萬教訓),企業法規常有「同名兩版」的情形。若僅依賴相似度評分,系統極可能在 9 月份還在端出 8 月份就過期的條文。

在我們的架構中,檢索層對時間具備「結構性的盲視」——只有標記為 is_in_force(today) 的區塊(Chunk)才有資格被送入評分。
https://ithelp.ithome.com.tw/upload/images/20261004/20144604qUSh7tveth.jpg

  • 情境測試: 詢問「審查門檻」。在 8 月 3 日,系統自動定位至 v1.2(500 萬);到了 9 月 2 日,系統會根據當前日期自動切換至 v1.3(300 萬)。
  • 自動化治理: 系統透過每個資料塊的身分證(塊 ID)所帶的生效區間進行過濾。

> 技術精髓: 版本切換不用改任何程式,塊上的生效區間自己完成了切換。這種設計從根本上杜絕了引用舊規的合規風險。

重點二:別相信模型的自律,採取「零信任引用」

在生成回答時,架構師必須摒棄「要求模型精準引用」的幻想。事實證明,模型在處理文本細節時極易產生幻覺引用。因此,我們實施了「引用與生成脫鉤」的機制。

https://ithelp.ithome.com.tw/upload/images/20261004/201446049sg3L4FrlB.jpg

在 TASK-004 中,模型被賦予了極其嚴苛的指令:它只負責輸出核心答案(answer)與引用塊編號(cited_chunk_ids)。我們在 Prompt 中明確告誡模型:「就算你寫了文件名稱或版本,程式也會直接忽略它。」

https://ithelp.ithome.com.tw/upload/images/20261004/20144604XiY4ZtqKvI.jpg
真正的引用行是由程式端根據塊 ID,回溯資料庫中的「身分證」自動生成的。同時,我們設立了「引用閘門(Citation Gate)」,嚴格攔截以下三種違規:

  1. 幻覺引用: 引用的編號根本不在提供的資料清單內。
  2. 有答無引: 給出了答案卻無對應出處(除非標記資料不足)。
  3. 不足未明示: 標記資料不足時,必須明確輸出「找不到依據,轉人工」。

> 核心觀念: 出處不由模型自律,而是由程式碼嚴格控管。這是 RAG 治理中「零信任(Zero Trust)」架構的實踐。

重點三:檢索層的極限——字面分數無法辨別「相關的雜訊」

我們在對抗性探測中發現了字面分數(Bigram Scoring)的本質弱點。雖然 Bigram 分數能輕易過濾「尾牙抽獎」這種風馬牛不相及的無關資料,但它分不出「主題相近但答非所問」的雜訊。

以「偏遠地區傳真審查」的測試題(Q6 陷阱)為例:

  • 現象: 該條文在 v1.3 版已被刪除,正確應回報「查無依據」。
  • 陷阱: 但檢索層因為「審查」等關鍵字,抓到了兩塊關於「高保額審查」與「審查期限」的資料,評分為 0.077。
  • 挑戰: 0.077 剛好爬過了我們設定的 0.06 門檻。如果我們將門檻調高至 0.1,雖然能殺掉這筆雜訊,卻極可能誤殺其他低分但正確的答案。

門檻是「鈍器」,無法處理細微語意。因此,我們決定承認檢索層的極限,將防線下移至模型層。

重點四:模型的新美德——誠實回報「依據不足」

為了彌補檢索層的不足,我們在模型指令中寫入了「Prompt 鐵則第 3 條」:塊內容若「主題相近但答非所問」也算依據不足。

在驗收中,模型展現了高度的「效力用語紀律」與「誠實」:

  • 面對雜訊的勇氣: 在 Q6 陷阱題中,即使檢索層送入了兩塊 0.077 的雜訊,模型仍成功辨識出這與「傳真」無關,最終給出「找不到依據,轉人工」的正確答覆。
  • 引用的克制: 模型學會了「拿到什麼不一定要列什麼」。當檢索給了兩塊資料,但只有其中一塊能支撐答案時,模型只會回報那一塊的 ID。
  • 法律嚴謹性: 模型能精確分辨規範中的「宜」與「應」,甚至主動加註:「注意此為宜(建議性質)而非強制之應」。

總結與未來思考

本次 TASK-004 的稽核結果令人振奮:在 171 項自動化測試中全數通過(171 passed)。我們證實了 RAG 系統的「可追溯性」不僅是功能,更是一種治理哲學。

當檢索層量不出的「答非所問」能被模型層成功接住並導向人工處理時,這代表我們的防線已從單純的關鍵字匹配,進化到了具備邏輯判斷的治理層次。

最後,值得我們深思的是:當 AI 學會誠實地說出「我不知道」時,我們是否反而能對它產生更深的信任?


上一篇
【RAG 實戰筆記】別把 AI 當絞肉機!文件切塊(Chunking)最容易被忽視的 4 個關鍵思維
系列文
從 AI 助理到營運中台:金融 PM 的 30 天 Claude Code 治理實戰 共 20 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言