第 6 章 · RAG:讓 AI 引用「你的、最新的」知識

第 6 章 · RAG:讓 AI 引用「你的、最新的」知識

第 1 章講過模型的兩大痛:會幻覺知識停在訓練截止日。它不知道你公司的內部文件,也不知道昨天發生的事。**RAG(Retrieval-Augmented Generation,檢索增強生成)**就是為了治這兩個病而生——而且它是目前企業導入 AI 最主流的做法。

💡 一句話:RAG = 先去「查」相關資料,再把資料塞進 context、讓模型「根據資料」回答。 把「開卷考試」的概念用在 AI 上。


為什麼需要 RAG?

想像你問一個很聰明但「只讀到去年、而且沒看過你公司文件」的顧問問題。兩種做法:

  • 不用 RAG:直接問,他只能憑記憶答 → 可能過時、可能唬爛(幻覺)。
  • 用 RAG:先從你的文件庫撈出最相關的幾頁塞給他,再叫他「只根據這幾頁回答」 → 答案有根據、能附出處、資料是最新的。

RAG 帶來三個關鍵好處:接地(有根據,減少幻覺)時效(隨時更新知識庫即可)可引用(能標出處,讓人查證)


RAG 的完整流程

RAG 分兩個階段:事前建索引(把你的資料處理好、存起來)與當下查詢回答

flowchart TB subgraph 事前:建立知識庫 D[你的文件] --> C[切塊 Chunk] C --> E[轉成向量 Embedding] E --> V[(向量資料庫)] end subgraph 當下:回答問題 Q[使用者問題] --> QE[問題也轉成向量] QE --> R[到向量庫找最相似的幾塊] V --> R R --> RR[重排序 Rerank<br/>挑出最相關的] RR --> G[把資料+問題塞進 context<br/>讓模型作答] G --> A[有根據的答案 + 出處] end

一步步看:

  1. 切塊(Chunk):把長文件切成小段(例如每 300~500 字一塊)。因為你不會把整本書塞給模型,而是只給「相關的幾塊」。
  2. 轉向量(Embedding):把每一塊文字轉成一串代表「意思」的數字(回想第 1 章)。
  3. 存進向量資料庫(Vector DB):專門存這些向量、並能快速找「最相似」的資料庫。
  4. 檢索(Retrieve):使用者提問時,把「問題」也轉成向量,去向量庫找意思最相近的幾塊。
  5. 重排序(Rerank):對撈到的候選再用更精準的模型排一次,把最相關的挑到最前面。
  6. 生成(Generate):把「撈到的資料 + 問題」一起塞進 context,讓模型根據這些資料回答。

核心魔法:語意搜尋(不是關鍵字搜尋)

傳統搜尋是比對關鍵字:你搜「筆電」就找不到只寫「notebook」或「膝上型電腦」的文件。

RAG 用的是語意搜尋:因為每段文字都被轉成「代表意思的向量」,意思相近的向量距離就近。所以你搜「筆電」,也能撈到談「膝上型電腦」的段落——它比對的是意思,不是字面

關鍵字搜尋 語意搜尋(向量)
比對的是 字面 意思
「筆電」找得到「notebook」嗎

💡 實務上最強的是混合搜尋(Hybrid Search):關鍵字搜尋(精準抓專有名詞、型號)+語意搜尋(抓同義、相關)兩個一起用,再 rerank,效果最好。

常見的向量資料庫有 pgvector(PostgreSQL 外掛)、Pinecone、Weaviate、Qdrant 等,先知道名字就好。


切塊策略:RAG 好不好用,一半看這裡

「怎麼切塊」聽起來很枝微末節,卻是 RAG 成敗關鍵:

  • 太大:一塊塞太多雜訊,稀釋重點(回想第 3 章 context rot)。
  • 太小:語意被切斷,撈到半句話沒頭沒尾。
  • 較好的做法:按語意單位切(段落、章節),並讓相鄰塊稍微重疊,避免把一句話從中砍斷。

進階:RAG 也在進化

  • GraphRAG:不只存「片段」,還建一張「知識圖譜」(誰跟誰有關係),適合需要跨多份文件、多跳推理的問題。
  • Agentic RAG:讓 agent(第 7 章)自己決定「要不要查、查幾次、查什麼」,而不是死板地固定查一次。

先知道有這些方向即可,別一開始就上重武器。


怎麼知道你的 RAG 有沒有做好?

RAG 常見的失敗有兩種,各自要看不同指標(這也是第 10 章「評估」的一個縮影):

失敗 白話 要看的指標
沒撈到對的資料 該給的段落根本沒被找出來 檢索命中率
撈到了卻答錯 資料有給,模型卻沒照著答、或亂加料 忠實度(faithfulness)

⚠️ 最常見的誤會:「RAG 就不會幻覺了」。錯。如果撈到的是錯的、或不相關的資料,模型照樣會給你一個很有自信的錯答案。 RAG 降低幻覺,但不是免死金牌——所以要評估。


重點回顧

  • RAG = 先檢索、再生成:治「幻覺」與「知識截止」,讓 AI 引用你的、最新的資料並附出處。
  • 流程:切塊 → 轉向量 → 存向量庫 → 檢索 → 重排序 → 生成
  • 核心是語意搜尋(比對意思,不是關鍵字);實務首選混合搜尋 + rerank
  • 切塊策略是成敗關鍵:按語意切、適度重疊。
  • RAG 不是免死金牌:撈錯資料照樣答錯,一定要評估檢索命中率與忠實度。

到這裡,階段二(工作流與知識)完成了。接下來進入最熱門、也最容易被神化的主題——AI Agent。下一章我們拆穿它:它其實只是「一個會用工具的迴圈」。