RAG

一句話定義

在每次查詢時從原始文件檢索相關片段、再交給 LLM 生成答案的模式(Retrieve-Augment-Generate)。

核心要點

  • 每次查詢都重新從原始素材推導答案,不累積成果
  • 對比:LLM-Wiki 把資訊一次性整合進持續演化的合成層,之後查詢直接讀合成層。
  • 適用情境:原始文件量大、查詢分布廣、知識變動快。
  • 痛點:相同知識點可能被反覆抽取;難以捕捉跨文件的綜合理解。
  • 基本管線2026-05-13-Stanford-AI系統課程):文件 → embedding model 轉向量 → vector database → 使用者 query 同樣轉向量 → 依距離找相近 chunks → 把 documents + system prompt + user query 組成最終 prompt。
  • Chunking 是命中率問題:整份長文件直接向量化會丟細節;常見做法是固定大小切 chunk,更進階則同時保留整篇 / 章節 / 段落多層向量,先找到章節再下鑽到段落。
  • Long context 不等於 RAG 失效:超長 context 理論上可讀更多資料,但實務上仍有 latency、成本、更新效率與 lost-in-the-middle 類問題;像搜尋引擎一樣先建索引,仍比每次把整個資料庫重讀一次可行。

與其他概念的關係

  • 對比於 LLM-Wiki:RAG = 「每次重新推導」;LLM Wiki = 「整合一次、用很多次」。兩者非互斥,實務上可並用——例如以 LLM Wiki 為主、未涵蓋的查詢退回 RAG。
  • Context-Engineering 的具體技術之一:LlamaIndex 將「知識庫 / 工具選擇」與「context 排序 / 壓縮」列為 context engineering 的五大技術;RAG 是這些技術最直接的實作。Context engineering 涵蓋 retrieval 但不限於它——還包含長期記憶、結構化輸出、workflow 設計等。

相關來源

備註