RAG

Retrieval-Augmented Generation

RAG(檢索增強生成)是一種架構模式。

在 LLM 生成答案前,先從外部知識庫檢索相關資料,再將檢索結果提供給模型作為上下文,提升回答的正確性、可控性與即時性。

LLM 的本質:條件機率模型(Conditional Probability Model)

定義

大型語言模型(LLM)的核心任務只有一個:在給定前文條件下,預測下一個 token 的機率分佈。

數學形式為:

P(token_t | token_1 … token_{t-1}) 表示在給定前文 token 的情況下,模型預測下一個 token 的機率。

這個機率分佈是由模型內部的所有參數(weights)共同決定的。

這些參數並不儲存任何可直接查詢的知識內容,而是隱式地編碼了大量語言片段之間的統計關聯與結構模式。

LLM 並不具備「查詢」、「記憶文件」或「事實驗證」能力。

LLM「知識」從何而來

  • X LLM 沒有文件
  • X LLM 沒有資料表
  • X LLM 沒有條目式知識
  • O 參數空間中所編碼的統計關聯結構
    • 壓縮後的語言世界模型
    • 訓練階段:把世界「壓縮」成參數,訓練資料(書籍、文件、程式碼、維基百科)僅用於不斷調整模型參數,強化 token 與 token 之間的關聯機率
    • 資料不會被儲存,僅留下統計痕跡。

小模型仍「看起來懂很多」

  1. 多數人類知識是低熵、可高度壓縮的
  2. 技術文件與教科書高度模板化 (token 關聯穩定)
  3. 常識與基礎知識在語料中反覆出現

因此:只需要很少參數就能學到這種穩定規律,LLM 並非記住內容,而是學會「怎樣說才像懂」。

Transformer 擅長「關聯建模」

世界不是隨機的,而是高度可壓縮:

  • 長距離 token 關聯
  • 抽象語義空間
  • 結構對齊(Structure Alignment)

Transformer 等於一個超強壓縮器,這讓它可以:

  • 將問題對齊到「已見過的語言模式」
  • 再生成對應回應
  • 回答不是「查到」,而是「生成」,不是回憶,是重建

類比

人類LLM
不記全文,但懂概念不存文本,但存關聯
用經驗推理用機率生成
會犯錯會幻覺

為何 LLM 天生會發散

  • 目標是語言合理性,不是事實正確性
  • 無內建「不知道」的概念
  • 在缺乏約束時,必然選擇機率最高的語言延續

結果即為:語言上合理、事實上可能錯誤的回答(Hallucination)

Local LLM 比雲端模型更容易發散

因素影響
模型參數較小抽象與推理能力不足
訓練資料有限專業與企業知識缺失
RLHF 較弱對錯誤不敏感
無外部工具無事實約束

Local LLM 是發散引擎,RAG 是約束系統;沒有 RAG 的 Local LLM,不具備企業可用性。

RAG(Retrieval-Augmented Generation)定義

LLM 的本質限制

問題LLM 本質原因RAG 的對應解法
幻覺(Hallucination)1. 超出訓練分布
2. 涉及精確數值或細節
3. 需要最新資訊
4. 需要邏輯或事實驗證
1. 將真實文件放入上下文
2. 將「自由生成」轉為基於證據的重述
3. 以 Prompt 明確禁止推測
知識過期訓練資料為靜態快照,模型無法自行更新1. 文件可隨時更新並重新索引
2. 問題查詢時即時檢索最新內容
無法使用私有資料私有資料未參與預訓練,模型完全不可見1. 將企業資料建立向量索引
2. 不需微調即可納入推理上下文
無法追溯來源回答為生成結果,無內建引用機制1. 每段回答對應文件 Chunk
2. 可回傳來源、頁碼或文件 ID

RAG 架構定義

RAG 是一種系統架構,而非模型類型,其核心流程為:

graph TB 使用者問題(使用者問題)-->Embedding("Embedding (問題向量化)") Embedding-->Vector(Vector DB 檢索相似文件) Vector-->Context("Context 組裝
(Prompt Engineering)") Context-->Gen(LLM 生成回答) Gen-->Result("回傳結果(附來源)")

RAG 的功能

  • X 讓模型「更聰明」
  • O 限制模型只能在可驗證資料範圍內生成內容,對 LLM 的「發散性」進行工程級收束

RAG 的三層收束機制

語意收束(Semantic Constraint)

透過向量搜尋,問題 → 向量化 → 只取 Top-K 相似文件

  • 僅取 Top-K 語意相近文件
  • 排除不相關知識
    • 與問題語意最接近的文件
    • 不是全世界的知識

Prompt 硬性約束(Hard Constraint)

典型企業級 Prompt 規範,建立邏輯防火牆

  • 僅能根據提供文件回答
  • 禁止自行推測
  • 無資料必須回覆「文件未提供相關資訊」

Context Token 視野限制(Physical Constraint)

LLM 僅能看到:

  • Prompt
  • Context 文件

無法接觸訓練資料或外部知識。

RAG ≠ 保證正確

RAG 是約束系統,不是真理引擎,失敗原因可能包括:

  • 檢索錯文件
  • 文件本身錯誤
  • Chunk 切錯
  • Embedding 不適合語言
  • Prompt 寬鬆

總結

  1. LLM 是語言生成模型,不是知識庫
  2. 所謂知識是統計關聯的結果
  3. Local LLM 天生容易發散
  4. RAG 的本質是工程級約束
  5. 沒有 RAG 的 Local LLM 不具備企業可用性

LLM 看起來有知識,是因為它學會了語言結構,RAG 的價值,是把生成鎖回真實世界。