檢索增強的回答,品質上限就是它檢索到的東西。這句話聽起來像廢話,但每次 RAG 系統答錯,團隊的反應都一樣:換大一點的模型、換 embedding、加一層 reranker。唯一沒人做的事,是打開知識庫,把裡面的文件讀一遍。
知識庫打開來長什麼樣
真的打開來看,通常是這樣:同一份規範存了三個版本、數字互相打架;兩年前就該作廢的文件還躺在裡面;整頁沒有標題的文字牆,檢索器根本無處下錨;最致命的是——沒有人負責。沒有任何一個人的工作是確保這些內容是對的。把檢索器對準這種語料庫,它其實表現得很盡責:忠實地把你的混亂端出來。
調模型 vs. 整語料
調模型迷人,因為感覺像工程;整理語料像打掃,沒人想做。但投報率一面倒。在一個訂閱制語言學習 app 的檢索問答案子裡,我們完全沒動模型,而是把三個世代並存的課程文件收斂成一份有負責人、有版本、每一節只回答一個問題的知識庫。答錯率是在那之後才真正掉下來的。
先體檢語料,再動技術堆疊
先體檢語料,再動技術堆疊:去重、殺掉過期版本、把長文件拆成一節答一問的結構、補上時效與受眾的 metadata、每一類文件指定一個負責人。做完這些,模型與切塊的實驗才會產出訊號,而不是噪音。
RAG 系統是一面鏡子。怪鏡子裡的人之前,先把房間整理好。