Skip to content

建立 2026-09-15 更新 2026-09-15

RAG 是什麼

檢索增強生成(Retrieval-Augmented Generation, RAG)是 2020 年 Meta AI 論文提出的架構:在語言模型生成之前,先從外部知識庫取出相關內容,再把這些內容當成上下文。模型不是「把整份知識記住」,而是「當場去查再寫」。

為什麼需要它

LLM 的知識停在訓練當下。你問公司今年的差旅規定、剛發布的 API、內部 wiki,它可能:

  • 誠實說不知道(最好的情況)
  • 用過期或通用知識硬答
  • 編造看起來合理的細節(幻覺)

RAG 把「最新、可核對的事實」從你的資料裡找出來,塞進提示。好處是:

  • 可更新:換文件、重建索引即可,不必重訓。
  • 可引用:回答可附上段落來源,方便人工核對。
  • 範圍可控:只讓模型看到你允許的語料,降低外洩與胡謅。

兩段生命週期

離線(建索引)與線上(問答)是分開的:

  1. 索引:載入文件 → 切塊 → 嵌入 → 寫入向量庫。
  2. 問答:問題嵌入 → 檢索 top-k → 組成提示 → LLM 生成。

Naive RAG(最單純的管線)就是這六步。進階技巧幾乎都是在「檢索前改問題」或「檢索後再篩一次」上做文章。細節見 建立索引檢索

RAG、提示工程、微調

三種方法都在改善輸出,但改的位置不同:

方法 改什麼 擅長 不擅長
提示工程 問題怎麼問、系統提示怎麼寫 格式、角色、推理步驟 補模型沒看過的私有事實
RAG 提示裡多了檢索到的段落 新知識、可引用、可更新 改變語氣或領域寫作風格
微調 模型權重 固定格式、風格、特定任務 頻繁更新的事實(成本高、容易過時)

實務上常併用:用 RAG 補事實,用提示約束「沒有就說不知道」,必要時才微調格式。IBM 把這三者對照講得很清楚,見 官方影音

什麼時候不要硬上 RAG

  • 問題其實靠通用常識就能答,沒有專屬語料。
  • 整份文件都很短,直接放進長上下文視窗更單純(仍要注意成本與注意力稀釋)。
  • 你要的是「寫得像法務」而不是「引用第 12 條」。那是風格問題,偏向微調或好的系統提示。

下一頁:嵌入