RAG 是什麼?AI 檢索增強生成技術完整解說
大語言模型(LLM)普及之後,一個問題始終沒有消失:模型會「幻覺」,也就是自信地講出不存在的事實。在醫療或法律場景下,這不是小問題。RAG 是什麼?Retrieval-Augmented Generation,檢索增強生成。它的出現,就是為了把 AI 的回答從「我猜是這樣」拉回「這份文件裡這樣寫」。
純粹依賴模型內部知識有明顯的上限:一旦問到訓練截止日之後的事,或公司內部的私有資料,模型就答不出來,甚至會編出一個聽起來合理的答案。RAG 的核心價值,在於讓 AI 回答前先查閱外部文件或資料庫,並能指出答案出自哪裡。
RAG 的背景與發展脈絡
模型在訓練完成後,知識就停在那個時間點。對於需要最新資訊的場景,這種滯後是結構性的限制,不是調參能解決的。更麻煩的是,模型被問到訓練資料裡沒有的資訊時,常常不會說「我不知道」,而是生成一個看似合理的錯誤答案。
「RAG」這個名稱來自 2020 年的論文〈Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks〉,由 Patrick Lewis 等 12 位作者發表,並獲 NeurIPS 2020 接受。論文指出,預訓練語言模型雖然把事實知識存在參數裡,但精準存取與操作這些知識的能力有限,也難以交代答案的出處、更新它對世界的認識。作者提出的 RAG 模型,結合了兩種記憶:預訓練的 seq2seq 生成模型(參數記憶),以及用神經網路檢索器存取的 Wikipedia 稠密向量索引(非參數記憶)。這套方法在三個開放領域問答任務上取得當時最佳成績。
此後,RAG 的實作方式持續演進:除了向量搜尋,還有結合關鍵字比對的混合搜尋(Hybrid Search),以及在檢索後再做重排序(Re-ranking)的多階段架構。今天常見的做法,則是把檢索到的段落直接放進提示詞,交給大語言模型生成回答,不必重新訓練模型。
核心技術原理解析
RAG 的運作邏輯可以拆成三步:向量化 → 檢索 → 生成。
使用者送出問題後,系統先把這個問題轉成向量(Embedding),一種讓語意相近的文字在數學空間中距離也相近的表示法。接著,系統在向量資料庫裡找出與該向量最接近的文件片段,這些片段通常來自企業的內部文件、說明頁面或結構化資料庫。最後,系統把這些片段連同原始問題一起組成新的提示詞,送入語言模型生成回答。
這套流程讓模型扮演的是「整合者」,而不是「記憶者」。
RAG 和 Fine-tuning(微調)的差異在根本上。微調是把大量特定領域資料餵給模型,改變它的內部權重,讓模型「記住」知識,成本較高,資料一更新就得重跑訓練流程。RAG 不動模型本身,只更新外部的文件與索引,知識庫今天改了,AI 下次檢索就能查到新版本。
向量資料庫通常靠近似最近鄰搜尋(ANN, Approximate Nearest Neighbor)演算法加速檢索:不保證找到數學上最接近的那一筆,但能在大量向量中快速找出夠接近的結果。
覺得有用?每天 5 分鐘掌握 AI 新工具
免費訂閱,新工具搶先看,隨時可取消
實際應用場景與案例
企業知識庫問答是 RAG 最常見的場景。以往員工查詢公司政策或專案歷史,得翻遍資料夾或找資深同事;接上 RAG 之後,直接提問,系統從文件庫撈出相關段落,整合成一段標明來源的摘要。
法律與醫療是另一個重要場景,因為這兩個領域對正確性的要求很高。法律工作需要引用現行有效的法條,不是兩年前的版本;醫療人員參考的臨床指南,也必須是最新版。把 RAG 接上持續更新的資料庫,回答就能跟著資料更新,並附上可以回頭查的出處。
客服是第三個典型場景。客服機器人透過 RAG 查詢產品文件、退換貨政策或技術說明,可以回答預設問答集以外的問題,並引用對應的文件段落。
對產業的影響與未來展望
RAG 讓企業不必自己訓練模型,就能讓 AI 回答與自家資料有關的問題,這是它被廣泛採用的主因。
技術演進方向指向兩個交匯點:多模態 RAG 與 AI 代理的結合。RAG 系統不只檢索文字,也開始處理圖片、表格等資料;搭配 AI 代理,AI 可以根據檢索結果規劃並執行多步驟任務。
挑戰同樣存在。檢索不夠精準時,生成的答案仍會偏離事實,垃圾進、垃圾出,這個原則在 RAG 架構下一樣成立。企業資料在檢索過程中的權限控管與隱私保護,也是部署前必須解決的問題。此外,如何在檢索成本、回應速度與答案品質之間取得平衡,也是持續優化的課題。
常見問題 FAQ
RAG 是什麼,和傳統搜尋引擎有何不同?
傳統搜尋引擎傳回的是一串連結,使用者得自己點進去讀、自己判斷哪段有用。RAG 系統則把檢索到的內容直接交給語言模型,輸出的是一段有根據的答案,並可以標明資料來源。除了輸出形式不同,檢索機制也常不一樣:傳統搜尋以關鍵字比對為主,RAG 常用向量相似度搜尋,即使問題的措辭和文件裡的說法不一樣,只要語意接近就能找到相關片段。
如何選擇適合的向量資料庫?
選型要看三個維度:資料量級、延遲需求,以及是否需要混合搜尋(向量 + 關鍵字同時查詢)。小型專案或 PoC 階段,常見的選項有 Chroma 與 Milvus Lite:Chroma 是採 Apache 2.0 授權的開源專案,pip install chromadb 就能在記憶體中快速做原型;Milvus Lite 是開源向量資料庫 Milvus 的輕量版,用 pip install pymilvus 即可在筆電或 Notebook 裡使用,官方說明它只適合小規模的向量搜尋,大規模應用建議改用 Milvus Standalone、Milvus Distributed 或託管服務。另一個容易忽略的考量是嵌入模型和資料庫之間的相容性:嵌入的向量維度必須和資料庫的索引設定一致,否則上線後才發現要重建索引,代價不小。
RAG 技術是否會取代大語言模型?
不會,兩者是互補關係。語言模型提供語意理解和自然語言生成能力,RAG 提供有來源依據的知識輸入。沒有模型,RAG 只是一個搜尋系統;沒有 RAG,模型在需要精確事實的場景下容易出錯。
理解「RAG 是什麼」,是企業導入 AI 的前置課題。技術本身已經可以用在正式環境;剩下的問題,是資料品質、權限與隱私架構,以及組織有沒有意願把內部知識好好整理成 AI 查得到的形式。
常見問題 FAQ
RAG 是什麼,和傳統搜尋引擎有何不同?▼
如何選擇適合的向量資料庫?▼
RAG 技術是否會取代大語言模型?▼
相關日報
每天早晨收到值得看的 AI 重點。
訂閱 5min AI,讓 AI 替你追蹤整個 AI 世界。
延伸閱讀
Anthropic Claude 生態系全景圖:從 API 到 Agent SDK 完整路線圖
解析 Anthropic Claude 生態系:現行 Claude 模型、Claude API 的速率限制與上下文視窗、七種語言的官方 SDK、Agent SDK 與 MCP,整理從 API 到 Agent 開發的完整路線圖。
Claude Prompt CachingClaude API Prompt Caching 教學:大幅降低 Anthropic API 費用
解析 Claude Prompt Caching 的運作方式與計價:自動快取與手動斷點、5 分鐘與 1 小時快取、最小快取長度與 usage 欄位,附 Claude Sonnet 5.5 費用試算,幫開發者降低 Anthropic API 費用。
TypeSafe Jev 實測TypeSafe Jev 實際上手:三種情境,看「只做判斷的 AI」能替你省掉哪些 if
用新聞分類、社群選題、讀者來信路由三種情境,示範 TypeSafe Jev 這種「只做判斷的 AI」能替你省掉哪些 if,外加幾個它做不到的邊界測試、422 拒絕原文,以及三個必須自己補的坑。
Vibe Coding 是什麼 不會寫 codeVibe Coding 是什麼?不會寫 code 也能用 AI 開發軟體的新方式
Vibe Coding 是什麼?用自然語言描述需求,讓 AI 幫你寫程式碼的開發方式。本文解說 Vibe Coding 的概念、AI 代理如何運作,以及 Cursor Agent 的實際操作與 Lovable 這類免寫程式的選擇。
本指南由 AI 整理,功能、價格與規格請以官方網站為準。如有疑慮,請參閱編輯政策。
