Day 92026-05-20 · AI 學習日記

第 9 天:RAG — 給 AI 外掛知識庫

把 AI 想像成一位很會說話的同事:他懂很多通用知識,但不一定看過你公司的週報、產品手冊、客戶合約。RAG(檢索增強生成)就像是在他旁邊放一個「可即時翻資料的資料夾」,當你問問題時,他先去資料夾找相關內容,再用自己的語言整理答案。這樣一來,AI 不需要把所有私人資料都背起來,也能回答得更貼近你的真實文件。

3 分鐘秒懂

RAG(檢索增強生成)的核心意思是:先找資料,再回答問題。它通常搭配 LLM(大型語言模型)使用,讓模型不要只靠腦中的舊知識,而是先從你指定的知識庫裡找出相關片段,再把這些片段放進 prompt(指令)中,請模型根據資料作答。

舉個生活化例子:你問 ChatGPT:「請幫我整理上週產品會議決議。」如果它沒有看過你的會議紀錄,就只能亂猜或請你貼資料。但如果你建立了 RAG 系統,它會先搜尋你的會議文件,找到「上週產品會議紀錄」「待辦事項」「負責人」等內容,再整理成清楚的週報。

所以 RAG 不是讓 AI 變成無所不知,而是讓 AI 會「查你給它看的資料」。這對企業內部知識庫、客服文件、法律條款查詢、課程講義問答都非常實用。

為什麼這重要

很多人一開始會想:「我是不是要把公司資料拿去 fine-tune(微調)模型?」但在實務上,RAG 通常比 fine-tune(微調)更常用,尤其是文件查詢、知識問答這類場景。

原因很簡單:文件常常會變。今天產品價格更新,明天客服話術修改,下週公司政策又調整。如果你用 fine-tune(微調),每次資料變動都可能需要重新訓練或更新模型,成本高、流程慢,也不容易追蹤模型到底記住了什麼。

RAG 則像是更新雲端硬碟裡的文件。你只要把最新資料放進知識庫,系統下次回答時就能搜尋到新內容。對一般團隊來說,這比重新訓練 AI 模型更直覺、更省錢,也更容易維護。

另一個重要原因是可追溯。好的 RAG 系統可以在回答後附上引用來源,例如「根據 2025 年客服 SOP 第 3 節」。這讓使用者知道答案從哪裡來,不是 AI 憑空編出來的。

核心概念分解

RAG 的工作流程可以拆成五步。

第一步:準備文件。你可以放入 PDF、Word、Notion 頁面、客服問答、Discord 訊息紀錄,甚至公司內部週報。這些就是 AI 未來要查詢的私人資料。

第二步:切片。文件太長,不能整本一次塞給模型,因為 LLM(大型語言模型)有 context window(上下文視窗)限制。你可以把 context window(上下文視窗)想成 AI 的短期記憶桌面,桌面再大也放不下整間倉庫的資料。因此系統會把文件切成較小段落,每段稱為 chunk(資料片段)。

第三步:轉成向量。系統會用 embedding(向量嵌入)把文字轉成一串數字,讓電腦能判斷「語意相似度」。例如「請假規則」和「年假怎麼申請」字面不同,但意思接近,轉成向量後距離可能很近。

第四步:存進 vector database(向量資料庫)。這就像一個專門用來找相似文字的圖書館。當使用者提問時,系統也會把問題轉成向量,去資料庫裡找最相關的 chunk(資料片段)。

第五步:組合答案。系統把找到的相關資料片段放進 prompt(指令),再交給 LLM(大型語言模型)回答。這時 AI 的回答就不是純靠記憶,而是根據剛剛檢索到的資料整理。

簡化成一句話就是:文件進來,切小段,轉向量,存起來;問題進來,找相近段落,交給 AI 回答。

實際例子

假設你在一間電商公司,客服團隊每天都要回答大量重複問題,例如退貨期限、發票補開、會員點數、物流延誤。公司有一份 80 頁的客服手冊,但新人常常找不到答案。

你可以用 RAG 建立一個「客服知識助理」。先把客服手冊、常見問答、歷史公告放進知識庫。當新人在內部聊天工具問:「客人收到商品 10 天後還能退貨嗎?」系統會先去找跟「退貨期限」相關的資料片段,可能找到:「一般商品鑑賞期為收到商品後 7 天內,特殊活動商品依頁面標示為準。」

接著 AI 回答:「一般情況下,收到商品 10 天後已超過 7 天鑑賞期,通常不能退貨;但若是特殊活動商品,仍需查看商品頁面標示。建議回覆客人前確認訂單商品類型。」這樣的答案就比單純問通用 ChatGPT 更可靠。

再看一個中文世界常見場景:你有一個 Discord 社群,每天有人問課程規則。「作業什麼時候交?」「直播會不會回放?」「可以補交嗎?」你可以把公告頻道、課程 FAQ、講師說明整理進 RAG。學員提問時,機器人先查社群資料,再回答並附上公告連結。

如果使用中國通義千問這類模型,也可以搭配企業文件做類似流程。重點不在模型是哪一家,而是「回答前先檢索你的資料」。這就是 RAG 的精神。

常見誤解

誤解一:RAG 會讓 AI 永遠不會亂講。其實不會。RAG 只是大幅降低 hallucination(幻覺)風險,也就是 AI 編造答案的機率。如果檢索到的資料不相關,或 prompt(指令)沒有要求「不知道就說不知道」,模型仍可能硬答。

誤解二:把文件丟進去就一定查得到。文件品質很重要。如果 PDF 掃描不清楚、標題混亂、內容過期,RAG 找到的也可能是錯資料。就像你請同事去倉庫找東西,如果倉庫標籤全亂,他也很難找準。

誤解三:RAG 可以完全取代 fine-tune(微調)。不一定。RAG 適合補充知識、查文件、引用來源;fine-tune(微調)更適合改變模型的語氣、格式習慣、特定任務表現。例如你想讓客服回答固定像品牌小編,可以 fine-tune(微調)風格;但你想讓它查最新退貨規則,通常用 RAG。

誤解四:資料越多越好。資料太多但沒整理,反而可能增加雜訊。好的 RAG 不是把所有東西亂塞,而是要定期清理過期文件、保留權威來源、設計合理的 chunk(資料片段)大小。

今天小測驗(3 題)

1. RAG(檢索增強生成)最核心的流程是什麼?

A. 先訓練模型,再把問題刪掉
B. 先檢索相關資料,再讓模型根據資料回答
C. 讓模型不看任何資料直接回答
D. 把所有文件變成圖片

查看答案與解析

答案:B。RAG 的重點是「先找資料,再生成回答」。它會從知識庫找出相關內容,放進 prompt(指令)中,讓 LLM(大型語言模型)根據資料作答。

2. 為什麼文件查詢場景常用 RAG,而不是一開始就 fine-tune(微調)?

A. 因為 RAG 比較適合更新常變動的資料
B. 因為 fine-tune(微調)不能處理中文
C. 因為 RAG 不需要任何資料
D. 因為 RAG 一定完全不會出錯

查看答案與解析

答案:A。公司文件、客服規則、產品資訊常常變動。RAG 只要更新知識庫即可,通常比重新微調模型更方便、更便宜,也更容易追蹤來源。

3. 在 RAG 中,embedding(向量嵌入)的用途比較接近哪一個說法?

A. 把文字轉成聲音
B. 把文字轉成數字表示,方便找語意相近的內容
C. 把 AI 回答變得更幽默
D. 把資料永久寫進模型大腦

查看答案與解析

答案:B。embedding(向量嵌入)會把文字轉成數字向量,讓系統能比較問題和文件片段的語意距離,找到最相關的資料。