什麼是 RAG?
檢索增強生成(RAG)最早是在 2020 年由 Meta 發表的一篇研究論文中提出(這篇論文引起我寫此文抒發感想之起源)。RAG 是一種 AI 框架,它允許生成式 AI 模型存取其訓練資料或模型參數之外的外部資訊,藉此強化對使用者提示(prompt)的回應。根據使用者或企業的需求,這些外部資訊可以存在於一個「封閉領域」中,例如包含特定領域或專有文件的資料庫;也可以是一個「開放領域」,例如包含來自網路的索引文件。這些資訊被用來擴充生成式 AI 模型的內部知識庫。
RAG 如何運作?
RAG 的運作包含「檢索」和「生成」兩個步驟。在檢索階段,當使用者提交查詢時,系統會觸發在外部文件中進行的相關性搜尋。接著,RAG 系統會擷取與查詢相關的資訊片段,並將它們添加到上下文視窗(context window)中的提示裡。最後,這個包含額外資訊的提示會被送入生成式 AI 模型,模型會根據其內建知識以及 RAG 搜尋到的補充資訊,來生成最終的回應。
外部文件通常儲存在一個「向量資料庫」(vector database)中。該資料庫使用一種「嵌入模型」(embedding model)將任何形式的資料(文字、圖片、音訊、影片)根據其語意轉換為一組組的數字,也就是「向量」。當使用者輸入提示時,該提示同樣會被轉換為數值表示的向量,以利於和資料庫中的條目進行比對。
接下來,RAG 系統會執行「最近鄰搜尋」(nearest-neighbor search),找出資料庫中與使用者查詢語意最相似的項目。(這種匹配方式與基礎模型有顯著不同:生成式 AI 模型是透過匹配模式或詞彙來生成回應,而 RAG 系統則是基於語意的相似性來檢索資料,因此其回應通常更具相關性與準確性。)最後,檢索到的資訊會透過上下文視窗附加到使用者的提示中,用以打造出更優質的回應。
在 ChatGPT 剛問世,以其龐大的「內存知識」(訓練數據)震驚世界時,其兩大罩門也很快浮現:
知識截斷(Knowledge Cutoff): 資訊停留在訓練資料的截止日期,無法回答即時性的問題。
幻覺(Hallucination): 在知識邊界外或模糊地帶,模型會「一本正經地胡說八道」。
Perplexity 能夠異軍突起,聰明之處在於,它不把自己定位為一個「無所不知的聊天機器人」,而是一個「對話式答案引擎 (Conversational Answer Engine)」。它的核心架構就是 RAG。
RAG 的運作模式可以簡化為:
檢索(Retrieval):當收到使用者問題時,系統先透過傳統的搜尋引擎(如 Bing、Google)爬取網路上的即時、相關資訊。
增強(Augmented):將檢索到的最新資訊,連同使用者的原始問題,一起作為「上下文」或「參考資料」餵給 LLM。
生成(Generation):LLM 基於這些即時、有源可溯的資料來生成回答,而不是單純依賴其內部陳舊的訓練數據。
這個模式不僅解決了即時性問題,更重要的是它提供了引用來源(Citations),大幅提升了答案的可信度,有效抑制了幻覺。這正是 Perplexity 能在巨頭環伺下,快速找到市場切入點並建立口碑的關鍵。
RAG 很快就從 Perplexity 的「獨門祕技」變成了所有主流 LLM 的「標準配備」。
Google Gemini:作為搜尋引擎的霸主,Google 將 Gemini 與自家的搜尋能力深度整合是理所當然的。我們現在看到的 Gemini,其回答時常會附上搜尋結果的連結,這就是 RAG 的體現。
ChatGPT:意識到知識即時性的重要後,也迅速推出了整合 Bing 搜尋的「Browse with Bing」功能(現在已內建於 GPT-4 的預設功能中),讓 ChatGPT 能夠連網查詢最新資訊。
Microsoft Copilot:這可以說是最原生、最徹底的 RAG 應用。它從一開始就是將 GPT 模型直接嫁接在 Bing 搜尋之上,其本質就是一個以 LLM 驅動的搜尋產品。
這個「快速跟進」的現象表明,市場已經認識到,單純依賴靜態訓練資料的 LLM 有其極限。LLM + 即時網路資訊 (RAG) 的混合模式,才是通往更實用、更可信的 AI 應用的康莊大道。
言歸正傳
回到 2020 年 Meta 發表的一篇重要研究論文:這篇論文的作者之一,是來自台灣的學者Scott Wen-tau Yih(易文韜)。他剛於 2024 年因為在 RAG 領域的傑出貢獻,榮膺ACL Fellow殊榮。ACL(Association for Computational Linguistics)是計算語言學與自然語言處理(NLP)領域最具聲望的國際學術組織,長期致力於凝聚全球從事相關研究的學者與產業專家,能獲選為ACL Fellow(2024年只遴選9位 Fellow),堪稱是該領域的終身成就肯定。
現在任職於Meta AI研究院(FAIR)的易文韜博士,是我太太在UIUC攻讀MBA時同學的先生(姻緣始於 UIUC)。提到UIUC的電腦科學領域,圈內人無不深知其學術分量與競爭強度。我自己也是資工背景出身,畢業於交大資工系,但當年考完GRE後未能出國深造,一直是我人生中的一點遺憾。
上個週末,我太太參加UIUC校友聚會,與當年同學敘舊時偶然聊起,原來「台大B80的百樣人生」節目第51集的來賓正是她同學的先生。這才讓我驚覺,原來有這麼優秀的台灣人在國際AI舞台上發光發熱。回想當年,我們兩家人還曾一起爬山健行、閒話家常,完全沒想過對方竟有如此卓越的學術成就。
而我太太這麼多年來沒嫌棄我,感恩啊!
今早得知我同層樓鄰居(我們家一層二戶)小孩順利考上台大資工(他們家也是二個男生,各小我們家 3 歲,低調但據說成績很好,沒想到是這麼好!)。(這幾天我們家也將進入空巢期:老大要去荷蘭鹿特丹管理學院交換、老二爽爽度過三個月暑假也要回德州了)
這幾年我的同事或同行的孩子們,紛紛輕鬆進入建中、北一女,頂大名系彷彿這些名校名系對他們而言唾手可得。我不禁感嘆:怎麼身邊的人都這麼優秀?太太聽後淡淡回了一句:「這些都是篩選的結果。」
這句話讓我頓時醒悟。細想我們的成長背景,從小學開始,我太太班上那些小學與她競爭第一名的同學,之後幾乎都進入明星高中、頂尖大學,海外名校深造。每一道教育關卡都是一次篩選,層層淘汰後,最終留在彼此生活圈中的朋友,早已經被過濾成擁有相似背景、相似軌跡的一群人。
進入職場後更是如此。以創投產業為例,從業人數本就不多,高度精選過。相較於銀行或證券業,樣本更少,入行門檻更高。從學歷、經歷到思維方式,早已經過嚴格篩選。物以類聚,人以群分,自然而然,身邊往來的同事、同業、好友,多半擁有雷同的教育背景與價值觀。
而當我們選擇人生伴侶時,往往也傾向於與背景相近的人結合。相似的家庭環境、社經地位、價值觀與教養理念,進一步強化了這種同質性。居住地點多集中在明星學區,孩子們從小享有相近的教育資源,加上基因的影響,雖然不能說是完全的社會階級複製,但下一代的發展軌跡,確實在無形中呈現高度的相似性。
難怪我會產生「大家都這麼優秀」的錯覺。而太太那句「這是篩選後的必然結果」,簡短卻一針見血,點破了這層看似自然、實則結構性的現象。
這篇文章沒有任何價值判斷,也不帶任何批判或引導意圖,僅是我今天一早到下午收到我太太分享的 Podcast,觸動所產生的個人感悟。
記錄下來,既是反思,也是提醒自己:我們所見的「常態」,未必是世界的全貌,而是一連串篩選與選擇後的結果。



