RAG的失敗往往源于檢索層,而非大模型。所以,決策框架、混合流程和可靠的系統(tǒng)護欄,或許是取代“一刀切”向量搜索的正解!
![]()
比如,一個內(nèi)部AI助手在演示時看起來非常棒。向量數(shù)據(jù)庫連夜吞入數(shù)據(jù),接入GPT-4級別的模型,向決策者展示簡潔的問答效果。團隊信心滿滿地啟動了項目。然而,當(dāng)真正開始提出實際業(yè)務(wù)問題時,情況就變了。
銷售代表詢問合同續(xù)簽日期,卻從錯誤的客戶文件中得到了一段看似自信但完全錯誤的段落。合規(guī)官員詢問當(dāng)前的數(shù)據(jù)保留政策,得到的卻是2021年的舊版本,且沒有任何免責(zé)聲明。開發(fā)者查詢了其角色本無權(quán)訪問的數(shù)據(jù),而助手依然給出了回答。
這并不是模型的錯。 它生成的正是它被設(shè)計用來生成的內(nèi)容:基于檢索層遞交給它的上下文,給出一個自信且流暢的答案。問題在于檢索層拿回了錯誤的文檔、過時的數(shù)據(jù)以及未經(jīng)授權(quán)的信息,而模型對此一無所知。
RAG的質(zhì)量不是模型的問題,而是一個檢索架構(gòu)的問題。 大多數(shù)團隊往往在進入生產(chǎn)階段后才發(fā)現(xiàn)這一點。
根本原因幾乎總是一樣的:對所有問題都采用單一的檢索方法。 向量搜索通常是默認選項,不是因為它總是對的,而是因為它被視為萬 能答案。結(jié)果就是構(gòu)建了一個在語義相似度上表現(xiàn)出色,但在精確查找、最新數(shù)據(jù)和訪問控制方面表現(xiàn)極差的系統(tǒng)。
生產(chǎn)級RAG需要的是檢索決策框架(RDF),而不是檢索默認值。方法必須與問題的“形狀”相匹配。 在企業(yè)系統(tǒng)中,這種路由還必須考慮實時數(shù)據(jù)源和受控訪問,而不僅僅是靜態(tài)索引。
檢索決策框架,先分類、后動手
不同的問題有不同的形態(tài)。詢問特定數(shù)字的問題與要求解釋概念的問題,其檢索需求截然不同。關(guān)于當(dāng)前價格的問題與詢問行業(yè)情緒的問題也完全不同。
下面的準(zhǔn)則將查詢形態(tài)映射到具體的檢索方法。即在任何檢索器被調(diào)用之前,應(yīng)先在路由層應(yīng)用此套路。
1. 當(dāng)問題需要精確、實時、結(jié)構(gòu)化數(shù)據(jù)時,請使用SQL
當(dāng)答案是確定性的,且存在于結(jié)構(gòu)化、關(guān)系型數(shù)據(jù)中時,SQL才是正確的檢索路徑。聚合計算、日期范圍篩選、連接查詢和精確記錄查找都屬于SQL的領(lǐng)域。
“第二季度按產(chǎn)品線劃分的總收入是多少?”
“給我看所有企業(yè)合同賬戶的未結(jié)支持工單。”
“哪些客戶在90天內(nèi)未登錄?”
這些問題只有一個正確答案,且它就在某張表里。無論多少語義推理,都比不上一條寫得好SQL查詢。答案非對即錯,通往正確答案的唯一途徑是結(jié)構(gòu)化的真理來源。
SQL在數(shù)據(jù)新鮮度方面也明顯勝出,因為關(guān)系型數(shù)據(jù)庫在查詢時反映的是當(dāng)前狀態(tài),而向量索引反映的往往是上一次索引運行時的狀態(tài)。對于任何需要關(guān)注時效性的問題,SQL是更安全的默認選擇。沒有陳舊風(fēng)險,因為沒有索引滯后。
提示:不要將類似SQL的LIKE模糊查詢作為默認的企業(yè)搜索策略。LIKE執(zhí)行全表掃描,忽略語言變體和詞界,并在大數(shù)據(jù)集負載下崩潰。如果你的團隊考慮用LIKE作為全面文本搜索的替代方案,說明需要投資專門的搜索框架,而不是把SQL逼到極限。
2. 當(dāng)用戶措辭很重要時,請使用關(guān)鍵詞/全文搜索
Elasticsearch和其他全文搜索引擎常被忽視,但實際上起著重要作用。當(dāng)用戶使用的確切詞匯很重要、需要在文檔集合中查找大量信息,或者想根據(jù)額外信息篩選結(jié)果同時匹配文本時,它非常有用。
“我們對國際SaaS訂單的退款政策是什么?”
“查找所有提及v2 API棄用的文檔。”
“給我看帶有‘企業(yè)客戶’標(biāo)簽的入職指南。”
BM25是大多數(shù)關(guān)鍵詞搜索引擎使用的排名算法。它展示的是包含用戶輸入準(zhǔn)確詞匯的文檔。它還支持提升某些字段權(quán)重、根據(jù)文檔新鮮度評分以及使用元數(shù)據(jù)篩選等功能。這些功能在向量存儲中要么缺失,要么做得不夠好。
Elasticsearch不僅僅是一個備用選項,也不是等待被新方法取代的舊技術(shù)。其文本分析工具、專用分詞器以及加權(quán)不同字段的能力,使團隊能比基于嵌入的系統(tǒng)更好地控制信息檢索。完全從關(guān)鍵詞搜索轉(zhuǎn)向向量檢索的團隊,常在發(fā)現(xiàn)結(jié)果準(zhǔn)確性存在問題后,又不得不回歸關(guān)鍵詞搜索。
提示:在向語言模型提供搜索結(jié)果前,確保搜索結(jié)果是最新的、經(jīng)過用戶授權(quán)的,并且來源可信,因為這些檢查應(yīng)在生成前進行。
3. 當(dāng)意圖比準(zhǔn)確詞語更重要時,請使用向量檢索
當(dāng)用戶意圖優(yōu)先于精確措辭時,帶有文本嵌入的密集向量檢索是理想的選擇,因為它能有效處理同義詞、釋義、跨語言查詢和概念性問題。
“這個季度客戶最不滿意的是什么?”
“總結(jié)上個月支持工單升級的主要問題。”
“數(shù)據(jù)庫連接超時有已知問題嗎?”
這些問題沒有特定的關(guān)鍵詞,因為它們可以用多種方式表達;向量檢索通過嵌入模型與語義相似的內(nèi)容進行匹配,從而有效地捕捉意圖。選擇合適的嵌入模型至關(guān)重要,尤其是在法律或醫(yī)療等特定領(lǐng)域,經(jīng)過微調(diào)的嵌入模型相比通用模型能顯著提升檢索性能。
提示:向量相似度不等于正確性。僅僅因為一個文本塊的余弦相似度為0.87,并不意味著它準(zhǔn)確、最新或與你的問題相關(guān)。高相似度表明文本在概念上相關(guān),但這并不保證信息是真實的、最新的或經(jīng)過驗證的。在與語言模型分享前,務(wù)必驗證任何檢索到的上下文。
什么時候SQL、全文搜索和向量檢索?
大多數(shù)生產(chǎn)查詢并不完全屬于單一檢索類別。“過去30天內(nèi)影響企業(yè)賬戶的主要問題有哪些?”這個問題需要結(jié)構(gòu)化過濾(企業(yè)賬戶,30天窗口)、關(guān)鍵詞檢索(工單描述、問題類別)和語義分組(聚類類似投訴)。沒有一種檢索器能同時應(yīng)對這三種情況。
解決方案是一個帶有顯式路由邏輯的混合流水線,建議采用以下7步流程:
步驟1:對用戶意圖進行分類在路由到任何檢索器之前,先對查詢進行分類。輕量級分類器(無論是微調(diào)的模型還是快速大模型的結(jié)構(gòu)化提示)將問題分為結(jié)構(gòu)化、主題性、語義性或混合型。這種分類驅(qū)動著所有后續(xù)決策。跳過它意味著盲目路由。
步驟2:選擇正確的檢索路徑根據(jù)分類將查詢發(fā)送給其主檢索器。結(jié)構(gòu)化查詢用SQL處理;關(guān)鍵詞和主題查詢發(fā)送到Elasticsearch;概念性查詢發(fā)送到向量數(shù)據(jù)庫;混合查詢則并行運行多個檢索器。路由不是性能優(yōu)化,而是正確性的決策。
步驟3:排名前應(yīng)用元數(shù)據(jù)過濾器在評分或合并結(jié)果之前,應(yīng)用日期范圍、文檔類型、訪問權(quán)限、租戶ID和文檔分類的硬性篩選。排名前進行篩選更高效,更重要的是,可以防止未經(jīng)授權(quán)或無關(guān)的文件進入候選庫。不應(yīng)被看到的文件絕不能送到排名器手中。
步驟4:合并多個檢索路徑中的候選項當(dāng)多個檢索器并行運行時,將所有候選項收集到一個統(tǒng)一的池中。你現(xiàn)在會看到SQL行、關(guān)鍵詞匹配的文檔和向量檢索的文本塊并排出現(xiàn)。下一步?jīng)Q定如何將它們排在一起。
步驟5:重排序(Re-ranking)當(dāng)你收集了來自不同搜索路徑的結(jié)果后,你需要重新排序,看看哪些結(jié)果真正能更好地回答用戶的問題。
最實用的方法是使用倒數(shù)秩融合(RRF)。它是極好的默認選擇,因為它簡單,不需要復(fù)雜的數(shù)學(xué)來比較不同系統(tǒng)(如SQL和向量庫)的結(jié)果。它遵循一個簡單的原理:如果兩個不同的搜索工具一致認為某文檔是#1結(jié)果,那么該文檔的得分遠高于僅由單一工具找到的文檔。
對于高精度至關(guān)重要的高風(fēng)險查詢,可以使用交叉編碼器(Cross-encoder)重排序器。這比RRF更準(zhǔn)確,雖然會增加一些處理延遲。
步驟6:僅從批準(zhǔn)的證據(jù)生成只把排名最高的、經(jīng)過篩選和驗證的文本塊傳遞給語言模型。明確指示模型僅從所提供的上下文中回答,并在上下文不支持自信答案時予以承認。這是一個硬性的架構(gòu)約束(而不是提示工程的技巧),限制模型可以生成什么。
步驟7:返回引用、來源或可追溯證據(jù)每個生成的答案都必須可追溯/可審計,指向特定的檢索來源。顯示文檔標(biāo)題、最后更新日期、源系統(tǒng)和檢索方法。引用是用戶驗證答案并在檢索失敗演變?yōu)闆Q策錯誤前發(fā)現(xiàn)問題的方法。
擋住陳舊、越權(quán)、胡說的的護欄
護欄不是事后考慮的,它們從一開始就內(nèi)置在設(shè)計中。沒有這些護欄的RAG流程不過是帶有一些文件的“自信幻覺生成器”。以下列出的四類護欄對企業(yè)使用至關(guān)重要。
1. 新鮮度護欄 (Freshness)
檢索索引中的每個文本塊都必須帶有最后更新的時間戳。在將檢索到的內(nèi)容傳遞給語言模型之前,確認源文檔是否處于查詢類型的可接受新鮮度窗口內(nèi)。
價格數(shù)據(jù)的TTL(生存時間)可能為24小時;
法律和合規(guī)政策可能要求30天內(nèi)更新;
內(nèi)部知識庫條目可能容忍90天。
如果檢索到的文檔已經(jīng)過時,不要靜默使用。要么返回警告,要么觸發(fā)源系統(tǒng)實時重新獲取,要么誠實地回復(fù)當(dāng)前數(shù)據(jù)不可用。
2. 權(quán)限護欄 (Permissions)
每次檢索調(diào)用都必須強制執(zhí)行請求用戶的訪問權(quán)限。在文檔進入候選池之前,按租戶、角色、團隊、文檔分類以及組織使用的其他訪問控制維度進行篩選。
權(quán)限必須在檢索層執(zhí)行,而非呈現(xiàn)層。 檢索文檔后決定不顯示,已經(jīng)是失敗了。因為該文件已被讀取、處理,并可能影響生成,最終才被壓制。
3. 正確性護欄 (Correctness)
如果頂層檢索的文本塊得分低于定義的置信閾值,流水線不得從中生成答案。返回“我找不到這個問題的可靠答案”,比從一個邊緣相關(guān)的部分生成流暢權(quán)威的答案要好得多。前者會削弱信心,而后者會破壞信任,而信任更難重建。
當(dāng)從不同來源檢索到的文本塊相互矛盾時,應(yīng)明確標(biāo)記矛盾,而不是讓語言模型默默選擇一方。
4. 行動護欄 (Action)
在代理(Agent)工作流中,檢索往往先于操作。行動護欄確保代理無法對已檢索到的陳舊、模糊、超出范圍或未經(jīng)授權(quán)的信息采取行動。
代理系統(tǒng)采取的每一個操作都必須可追溯到特定的檢索事件、證據(jù)和用戶授權(quán)。如果無法形成該鏈條,行動就不能繼續(xù)。
MCP:當(dāng) Agent 需要動真格的時候
在智能系統(tǒng)中,檢索更進一步。客服不僅僅是搜索信息,它使用工具從實時系統(tǒng)中提取數(shù)據(jù),啟動業(yè)務(wù)工作流程,查詢外部API,并代表用戶行動。
模型上下文協(xié)議(MCP)正逐漸成為這些工具集成檢索的首選標(biāo)準(zhǔn)。它為代理提供了跨平臺訪問結(jié)構(gòu)化工具(如數(shù)據(jù)庫、CRM和日歷API)的可靠方式,使語言模型能夠有效推理交互。每個MCP工具調(diào)用都作為讀取動作運行,遵循前面提到的四個護欄。
像OutSystems這樣的企業(yè)平臺,提供一個AI工作臺,用來從企業(yè)數(shù)據(jù)創(chuàng)建受控的AI應(yīng)用,非常適合這個領(lǐng)域。這里討論的檢索架構(gòu)選擇不僅僅是理論,它們決定了企業(yè)級AI功能在實際應(yīng)用中是否可靠,或者僅僅在演示中看起來好看。
當(dāng)檢索通過受控工具調(diào)用從實時企業(yè)系統(tǒng)中提取數(shù)據(jù)時,保持?jǐn)?shù)據(jù)的新鮮性變得更容易。沒有過時索引的風(fēng)險,因為數(shù)據(jù)在需要時直接從源頭獲取。
結(jié)論:RAG架構(gòu)即檢索治理
企業(yè)級 RAG 最大的誤區(qū),就是把檢索當(dāng)成一個“已解決的問題”——以為向量數(shù)據(jù)庫往里一放,萬事大吉。事實上,真正的生產(chǎn)級 RAG,是一個檢索治理問題。
你需要一個架構(gòu),使工具與問題相匹配,比如:用SQL處理數(shù)字、用搜索匹配精確術(shù)語、用向量理解概念意義……你必須強制執(zhí)行權(quán)限并檢查數(shù)據(jù)新鮮度,才能讓數(shù)據(jù)進入模型。
RAG部署成功與否,不是看你是否擁有最流行的模型,而是從第一天起就把檢索視為一個關(guān)鍵且受控的架構(gòu)層次來設(shè)計。 如果你在關(guān)鍵時刻構(gòu)建檢索系統(tǒng),你的生產(chǎn)系統(tǒng)實際上會變得值得信賴。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.