你有沒有問過 ChatGPT 一個關於「你公司內部規定」或「上週剛發生的新聞」的問題,結果它一本正經地亂編答案?這就是大型語言模型(LLM)最大的痛點:它只記得「訓練那一刻」之前的知識,而且不知道你私有的資料。今天要學的 RAG,就是專門解決這個問題的技術,目前幾乎所有企業級 AI 問答系統、客服機器人、文件助理都建立在它之上。
今天你會學到什麼
- RAG(檢索增強生成)到底是什麼,為什麼能讓 AI 答得更準
- 它的三個核心步驟:切塊、向量化、檢索後生成
- 一個你今天就能動手量化練習的小任務
📖 學(核心)
RAG 的全名是「檢索增強生成」(Retrieval-Augmented Generation)。把這個名字拆開看就懂了:先「檢索」(去資料庫找出相關資料),再用這些資料「增強」模型的「生成」(產生回答)。換句話說,RAG 不是讓模型憑記憶硬答,而是先給它一份「小抄」,再請它根據小抄回答。
為什麼需要這招?因為單純的 LLM 有三個先天限制:第一,它的知識停在訓練時間點,無法得知最新消息;第二,它不認識你的私有文件(例如公司內規、產品手冊);第三,當它不確定時,會「一本正經地胡說八道」,這在 AI 圈叫做「幻覺」(hallucination)。RAG 同時緩解這三點,而且因為答案是根據檢索到的真實片段生成的,使用者還能回頭驗證來源,可追溯性大幅提高。
RAG 的運作可以拆成三個關鍵階段。第一階段是建立索引(indexing):把你的原始文件清洗乾淨,切成一塊一塊較小的段落(這個動作叫「切塊 / chunking」),再用「嵌入模型」把每一塊文字轉換成一串數字向量(embedding),存進「向量資料庫」。一個向量通常是上千個數字組成的清單,例如常見的 1536 維,它代表的是「這段文字的語意」。
第二階段是檢索(retrieval):當使用者問問題時,系統會把「問題本身」也轉成向量,然後在向量資料庫裡找出「語意最接近」的幾塊內容。注意,這不是關鍵字比對,而是語意比對——就算你問的字眼跟原文完全不同,只要意思相近,照樣能撈得出來。第三階段是增強生成(augmentation + generation):系統把撈到的片段塞進給 LLM 的提示詞裡,等於對模型說「請根據以下這幾段資料來回答這個問題」,模型就會基於真實資料生成答案。
舉個具體例子:假設你做了一個「公司請假規定問答機器人」。你把 50 頁的員工手冊切成 200 個小段落、全部向量化存好。當員工問「我特休沒休完會不會作廢?」,系統先把這句話轉成向量,撈出手冊中關於「特休結轉」的那 3 段,再交給 LLM 根據這 3 段回答。結果就是:答案準確、有依據、而且不會去亂編手冊裡根本沒寫的規定。這裡有個常被忽略的關鍵:切塊的好壞直接決定品質。切得太大,會夾帶無關雜訊;切得太小或亂切,可能把一個完整概念硬生生切斷,導致撈不到正確答案。所以「怎麼切」是 RAG 工程裡最值得調校的環節之一。
🧠 記
口訣:先檢索、後生成;切塊、轉向量、找鄰居。
- RAG = 檢索 + 增強 + 生成:先給 AI 小抄,再請它根據小抄答
- 解決三大痛點:知識過時、不懂私有資料、會產生幻覺
- 三步驟:切塊(chunking)→ 向量化(embedding)→ 檢索後生成
- 語意比對,不是關鍵字比對:意思相近就能撈到,用詞不同也行
- 切塊品質決定成敗:切太大有雜訊,切太碎會斷掉概念
✍️ 實踐
今天就做這一件可量化的事:開啟 ChatGPT 或 Claude,找一份你手邊的真實文件(一篇你寫過的文章、一份產品說明、或一份會議記錄,約 1000 字以上)。先不要貼文件,直接問一個「只有看過這份文件才答得出來」的細節問題,記下答案。接著把整份文件貼進對話框(這就是手動版的「檢索增強」),用同一個問題再問一次。比較兩次答案,並具體寫下:(1)沒給文件時 AI 答錯或瞎掰了幾個地方;(2)給了文件後是否答對。目標:完成至少 1 組「前後對照」,親身感受「有沒有小抄」的差別。
🔗 延伸學習
- RAG 是什麼?白話理解「檢索增強生成」背後意義及 SEO 應用 | 白話文商學院
- 什麼是 RAG(檢索增強生成)? — 歐立威科技
- What is RAG? A Beginner’s Guide to Retrieval-Augmented Generation (With a Full Pipeline Walkthrough) — DEV Community
- Retrieval-Augmented Generation (RAG) | Pinecone
💬 想深入?複製下面這段到 AI(ChatGPT、Claude…),再打上你的問題
你是我的「AI」學習教練。我今天在學的主題是「RAG 檢索增強生成」,重點包括:先檢索後生成、切塊與向量化、語意比對而非關鍵字、降低 AI 幻覺。請用淺白、可操作的方式回答我接下來的問題,需要時給例子和步驟。我的問題是:
↑ 複製整段,貼到 AI,最後接上你的問題即可。