在最開始,我們直接和 AI 互動,得到了一些基本不錯的產出,但是它並不了解我們。
於是我們開始上傳檔案給它,讓它能有參考的情境來輔助我們。
但隨著上傳的內容越來越多,AI 開始沒辦法完整把所有內容放到它的腦袋中(不管是context window限制或是成本考量)。
於是人們開始研究起了 檢索增強生成(Retrieval-Augmented Generation, RAG)的技術,讓 AI 能從大量的內容中找出相關的內容。
但依舊隨著檔案的增加,AI 開始越來越容易出現「找不到那個正確的檔案或來源」的情況,這也是很多 AI 知識庫系統都會遇到的問題。
而今天的內容,就是來稍微討論一下這個題目,以及 Claude 是如何針對這個問題做解決的?
本日內容來自 Anthropic 的研究報告,建議預先了解 RAG 大概如何運作的即可
想像一下,你是一位圖書館管理員,面對一個巨大的圖書館。為了讓讀者更容易找到資料,你做了一個看似聰明的決定:把每本書都撕成一頁一頁的,然後按照主題分類存放。
聽起來不錯對吧?讀者想找「營收成長」的資料,你就把所有提到營收成長的頁面都拿給他們。
但是問題來了!當讀者拿到一張紙條,上面寫著:「公司營收比上季成長了 3%」
他們會開始問:
你看,當我們把完整的資訊撕成片段時,重要的上下文就丟失了。這正是傳統 RAG 系統會面臨的核心問題。
我們來看幾個你可能遇過的實際情況:
場景一:工作報告查詢
你:「上次會議中 Amy 提到的預算問題是什麼?」
Claude:「我找到一些關於預算的討論,但不確定具體是哪次會議...」
場景二:學習筆記查詢
你:「那個關於資料結構的重要概念是什麼?」
Claude:「找到了資料結構的內容,但有很多不同的概念,你指的是哪一個?」
是不是很熟悉?這就是我們今天要解決的問題!
Claude 的工程師們為此想出了一個解決方案:為每個資料片段添加專屬的背景說明。
我們用剛才的例子來說明:
原始片段(就像撕下來的書頁):
「公司營收比上季成長了 3%」
加上 Contextual Retrieval 後(就像給每張書頁貼上標籤):
「這個片段來自 TSMC 公司 2025 年第二季財報,前一季營收為 3.14 億美元。公司營收比上季成長了 3%」
看到差別了嗎?現在這個片段就像有了完整的身分證,包含了所有必要的背景資訊!
你可能會想:「這聽起來不錯,但要怎麼實現?總不能讓我手動為每個片段寫背景說明吧?」
別擔心,Anthropic 想到了這一點!他們讓 Claude 扮演一個超級細心的秘書角色:
步驟一:把完整文件和單一片段都交給 Claude
步驟二:請 Claude 為這個片段寫一段 50-100 字的背景介紹
步驟三:把這段背景說明貼到原始片段前面
整個過程完全自動化,我們什麼都不用做!
Anthropic 做了大量的測試,發現得到了蠻大程度的改善
(這一段內容屬於延伸補充,如果非技術的讀者看不懂可以先不用太糾結)
既然都寫到這邊了,最後就再補充一下 Claude 所使用到的所有檢索技術,以及他們的目的分別是什麼好了:
還記得我們前面提到的 Claude Projects 的 RAG 模式嗎?Contextual Retrieval 正是讓這個功能變得如此強大的核心技術!
以前你可能會擔心:「上傳太多文件會不會讓 Claude 變笨?」
現在你可以放心了!上傳的內容越多,Claude 越聰明。
雖然技術已經很聰明了,但我們還是可以透過良好的檔案命名來幫助它:
不同類型的內容放在不同的專案中,讓 Contextual Retrieval 能夠更精準地工作。
雖然一開始的定位是提供給非技術人員,但是偶爾還是會遇到這種「要說明背後原理」&「為何有效」的時候,還是不免會稍微硬一點的內容。不知道非技術背景的人閱讀起來如何,會不會覺得太難理解呢?但希望補充這些內容,是更能幫助大家去掌握這個工具在不同情況下的使用概念,從 know-how 到 know-why 的~