PLAY AI 筆記回 PLAY AI
AI 知識科普發布 · 3 分鐘 · 約 1,513 字

什麼是 RAG?為什麼它比「把資料餵給模型訓練」更常被選用

模型不知道你公司內部的事,這很正常——它的訓練資料裡本來就沒有。RAG 的解法不是讓它「學會」,而是在它回答之前先去查一次。

PLAY
PLAY AI 編輯部把複雜概念拆成一般人也讀得懂的版本,聚焦名詞解釋、比較、來源與實作脈絡。
本篇內容
一道紫色光線穿過多層文件卡片,挑出幾份發光資料後返回中心,象徵 RAG 先檢索再回答。
一道紫色光線穿過多層文件卡片,挑出幾份發光資料後返回中心,象徵 RAG 先檢索再回答。

先講結論

RAG 的全名是 Retrieval-Augmented Generation,中文常翻成「檢索增強生成」。名字很長,但它做的事可以用一句話講完:在模型回答之前,先去一個外部資料庫把相關的段落撈出來,連同你的問題一起交給模型。

所以模型並沒有變聰明,也沒有「學會」任何新東西。它只是在回答的當下,手邊多了幾段參考資料。這跟你考試前臨時翻書、而不是把整本書背起來,是同一件事。

它實際上做了什麼

拆開來看,一次 RAG 問答通常會經過四個步驟。真正新增的不是生成,而是回答前面的「找資料」:

  1. 把你的問題轉成向量(embedding),用一串數字代表這句話在語意空間的位置。
  2. 拿這個向量去向量索引找語意最接近的資料片段,通常只取回少量候選。
  3. 把候選段落、必要的來源資訊與原始問題組成新的提示內容。
  4. 模型根據眼前這些內容回答;如果系統有保留來源,也能把引用一起顯示。
四個步驟由上而下:把問題轉成向量、在資料庫找語意最接近的段落、段落和問題拼成新的提示詞、模型讀提示詞回答。第二步以紫色框線標示為關鍵步驟。
一次 RAG 問答的四個步驟。第二步是關鍵:生成模型只能根據被送進來的候選資料回答,撈錯資料時後面再強的模型也救不了全部問題。

「語意接近」和傳統關鍵字搜尋不完全一樣。問「請假規定」有機會找到寫著「特休申請流程」的段落;但反過來,如果資料庫根本沒有真正答案,檢索器仍可能挑出最接近的幾段。這也是為什麼 RAG 的品質不能只看模型本身。

真正難的其實是檢索品質

一個 RAG 系統常見的失敗,看起來像模型答錯,實際上問題可能早在資料切段與召回階段就發生了。文件切太碎,段落失去上下文;切太大,又會把太多無關資訊一起塞進 prompt。

RAG 常見的四個品質槓桿

環節在做什麼常見失敗
Chunking把長文件切成可檢索片段切太碎失去上下文;太大則噪音增加
Embedding把問題與文件轉成可比較的向量模型不適合語言或領域時召回變差
Retrieval先找出一批候選片段只看相似度可能把看似相關但無答案的段落撈回
Reranking把候選重新排序後再交給模型沒有重排時,真正關鍵段落可能排太後面

跟微調差在哪

這是最常被混在一起的兩個東西。「想讓 AI 懂我的資料」有三條路可以走,它們解決的其實不是同一個問題:

三種做法的取捨

RAG微調 Fine-tuning直接放進 Context
資料更新更新索引即可反映新資料通常需要重新準備或訓練下次提問重新附上
主要用途查動態知識與內部資料調整行為、語氣與特定任務模式一次性讀取有限文件
來源追溯可以保留檢索片段與來源知識已融入權重,難直接指出來源可以直接對應原文件
複雜度要維護資料管線與索引要維護訓練資料與模型版本最簡單,但長文件會吃上下文

實務上不是「RAG 或微調只能選一個」。有些系統會用微調讓模型固定輸出格式,再用 RAG 提供最新知識。判斷重點是先問:你要改的是模型的行為,還是每一題可取得的資料。

什麼時候不該用

RAG 很常被講成萬用解,但如果資料量不大、文件很少變動,而且每次任務都只是讀同一份有限內容,直接把文件放進上下文通常更簡單。

  • 資料只有一兩份而且大小可控:先用長上下文,不必急著多一套索引服務。
  • 答案需要完整理解全文脈絡:只取回幾個片段可能破壞整體關係。
  • 原始資料品質很差:先清資料。把垃圾建立成向量索引,只會更快找到垃圾。

回到你真正會遇到的選擇

如果你只是想讓 AI 幫忙讀一份 PDF 然後問幾個問題,先直接把檔案放進對話;如果資料多到每次都塞不完,而且內容還會一直更新,RAG 才開始有明顯價值。

真正成熟的 RAG 不是「接一個向量資料庫」就結束,而是一條可量測的內容管線:資料何時更新、切段方式是否合理、召回命中率如何、回答能不能回到來源。把這些環節拆開,你才知道錯的是哪裡。