你有沒有問過 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 組「前後對照」,親身感受「有沒有小抄」的差別。

🔗 延伸學習

💬 想深入?複製下面這段到 AI(ChatGPT、Claude…),再打上你的問題

你是我的「AI」學習教練。我今天在學的主題是「RAG 檢索增強生成」,重點包括:先檢索後生成、切塊與向量化、語意比對而非關鍵字、降低 AI 幻覺。請用淺白、可操作的方式回答我接下來的問題,需要時給例子和步驟。我的問題是:

↑ 複製整段,貼到 AI,最後接上你的問題即可。