級Agentic RAG落地實(shí)戰(zhàn):從檢索到評估的完整鏈路)
最近這波Agentic RAG的熱度確實(shí)有點(diǎn)高我在整理生產(chǎn)級落地方案時陸陸續(xù)續(xù)也被問了很多次“你們到底是怎么從Demo走到線上的”。其實(shí)好多團(tuán)隊(duì)都卡在同一個地方——檢索增強(qiáng)生成RAG這個概念誰都能說兩句但真到了production各種不起眼的小問題會把你磨到懷疑人生。這篇東西沒有教科書式的理論全是我在實(shí)際項(xiàng)目中反復(fù)拆解、重構(gòu)、上線、再回爐之后沉淀下來的一套東西。核心圍繞生產(chǎn)級Agentic RAG的完整鏈路從最基礎(chǔ)的向量檢索到帶工具調(diào)用、查詢改寫、記憶管理、知識圖譜混合檢索的Agent架構(gòu)再到可觀測性、評估、成本控制這些上線必須面對的環(huán)節(jié)。不管你是剛跑通第一個RAG Demo的開發(fā)者還是正被生產(chǎn)環(huán)境折磨的架構(gòu)師這篇文章里應(yīng)該都有你能直接帶走的內(nèi)容。1. 先把問題和目標(biāo)拆清楚Demo期的RAG為什么到了生產(chǎn)就卡住1.1 RAG的瓶頸不只是召回率而是整個系統(tǒng)的“不可被信任”很多人一說RAG瓶頸第一反應(yīng)是“召回率不夠高”、“大模型幻覺沒解決”。但我在實(shí)際生產(chǎn)里看到的瓶頸往往更樸實(shí)檢索回來的片段本身是碎片化的回答拼湊感強(qiáng)還經(jīng)常答非所問。再往下挖你會發(fā)現(xiàn)根子出在系統(tǒng)設(shè)計上——你只是做了一個“把一堆文檔切碎、塞進(jìn)向量庫、再top-k取回來”的直筒子沒有任何一層機(jī)制去糾偏、去路由、去重寫意圖。這種結(jié)構(gòu)天然無法被信任因?yàn)樗谧罨A(chǔ)的意圖理解上就缺位了。到了production階段用戶問的問題和測試集里的問題完全不是一個物種。測試集問“公司年假政策是什么”用戶可能問“我進(jìn)了手術(shù)室出來這算不算病假我今年剛續(xù)的合同怎么算天數(shù)”。這種問題如果還是單純的embedding top-k基本就是碰運(yùn)氣。所以真正面向生產(chǎn)的Agentic RAG第一步不是調(diào)模型而是承認(rèn)傳統(tǒng)RAG的架構(gòu)天花板它沒有為“復(fù)雜意圖”留出任何處理空間。1.2 從工具型RAG到Agent型RAG本質(zhì)是決策能力的下沉Agentic RAG和傳統(tǒng)RAG的核心差別不是“多了一個Agent”而是把決策權(quán)從開發(fā)手里移交給了運(yùn)行時的模型和工具鏈。傳統(tǒng)RAG里檢索策略、提示詞模板、排序方式都是寫死的用戶問什么你都不管直接檢索、拼接、輸出。Agentic RAG里模型可以動態(tài)決定這個問題是否需要檢索檢索哪個索引是走結(jié)構(gòu)化查詢還是走向量檢索答案沖突時采用哪條證據(jù)甚至檢索結(jié)果不足時要不要觸發(fā)第二輪的補(bǔ)充檢索這個設(shè)計思路我在實(shí)際項(xiàng)目中理解得越來越深。它解決的核心問題不是“更智能”而是把不可窮舉的意圖空間交給模型去覆蓋。你不可能為所有問法寫if-else但你可以讓模型自身具備“選擇處理路徑”的能力再把每一次決策暴露給上層做觀測。鏈條上每一環(huán)都能解釋這就是生產(chǎn)系統(tǒng)和Demo最本質(zhì)的區(qū)別。1.3 生產(chǎn)環(huán)境到底比Demo多了什么穩(wěn)定、可觀測、可回退、可評估我從一個真實(shí)案例說起。我們曾經(jīng)發(fā)布過一個內(nèi)部知識問答助手第一版純RAG離線測試效果不錯上線三天后差評率直線上升。后來復(fù)盤發(fā)現(xiàn)主要原因有三個一是知識庫里面有大量重復(fù)和相互矛盾的文檔模型無法判斷哪個是新的二是用戶翻來覆去問多輪問題但系統(tǒng)根本沒有記憶能力會話之間完全割裂三是模型給出錯誤答案后沒有任何一層機(jī)制能阻止它自信地輸出。這三件事在Demo階段都不會暴露因?yàn)槟銣y試用的文檔是精心收拾過的你的問題是標(biāo)準(zhǔn)的你的評估方式是肉眼看的。生產(chǎn)環(huán)境要求的不僅僅是準(zhǔn)確率而是整個系統(tǒng)在未知輸入、異常數(shù)據(jù)、模型漂移、并發(fā)壓力下的綜合表現(xiàn)。Agentic RAG的設(shè)計理念正好契合這個需求它允許你在每個關(guān)鍵節(jié)點(diǎn)插入護(hù)欄、插入驗(yàn)證、插入人工反饋?zhàn)屜到y(tǒng)在復(fù)雜環(huán)境下依然可控。2. Agentic RAG核心架構(gòu)選型與設(shè)計背后的“為什么”2.1 三種主流的Agentic RAG模式對比Router、Tool-Calling、Plan-and-Execute我梳理了一下目前業(yè)界和我自己在項(xiàng)目里用過的Agentic RAG模式基本可以歸納成三條路線。第一種是Router模式系統(tǒng)最輕核心是意圖路由。用戶的問題進(jìn)來后由一個意圖分類模型決定它應(yīng)該走哪條處理流水線比如代碼問題走代碼庫索引、政策問題走HR文檔庫、技術(shù)故障走結(jié)構(gòu)化工單系統(tǒng)。這個模式適合意圖邊界清晰的場景比如企業(yè)內(nèi)部的客服問答問題不管怎么問都逃不脫那幾類。優(yōu)點(diǎn)是結(jié)構(gòu)簡單、成本低、容易排查問題缺點(diǎn)是路由錯誤之后沒有恢復(fù)機(jī)制一步錯步步錯。第二種是Tool-Calling模式也就是LLM主動決定調(diào)用哪些工具。這里把RAG本身做成一個工具同時還有其他工具比如數(shù)據(jù)庫查詢、API調(diào)用、計算器、搜索引擎。模型可以自主選擇調(diào)用順序和次數(shù)。這種模式的核心是把系統(tǒng)的任務(wù)定義從“問答”升級為“目標(biāo)達(dá)成”。比如用戶問“這個月我的云服務(wù)賬單為什么漲了50%有什么辦法降下去”模型會先調(diào)用賬單查詢工具拿到明細(xì)再調(diào)用知識庫工具查公司的優(yōu)惠策略甚至調(diào)用計算器去試算不同方案的節(jié)省金額。第三種是Plan-and-Execute模式模型先生成一個整體計劃再按步驟執(zhí)行每個步驟可以依賴不同工具。這種模式適合多跳推理場景比如“對比A方案和B方案的TCO并給出建議”需要先分別查詢兩者的參數(shù)和價格再做計算和比較。它最強(qiáng)的點(diǎn)在于可預(yù)測性好因?yàn)橛媱澰陂_始時就確定下來中間過程的每一步都記錄在案很適合審計嚴(yán)格的場景。表三種模式的適用場景對照模式?jīng)Q策時機(jī)適用場景優(yōu)點(diǎn)風(fēng)險Router一次性路由意圖邊界清晰簡單可控、成本低路由錯誤無法自救Tool-Calling動態(tài)多輪決策復(fù)雜開放查詢靈活、可應(yīng)對未知意圖Token消耗高、成功率依賴模型能力Plan-and-Execute前置計劃逐步執(zhí)行多跳分析、對比推理可預(yù)測、可審計計劃錯誤會導(dǎo)致整體失敗2.2 查詢改寫與意圖消歧Agentic RAG里最容易被忽略的關(guān)鍵鏈環(huán)我觀察到大部分失敗的Agentic RAG項(xiàng)目里問題都出在“查詢處理”這一環(huán)做得太粗糙。用戶說的原始query直接進(jìn)檢索流程這是極大的浪費(fèi)。生產(chǎn)環(huán)境里的用戶問法千奇百怪有口語縮寫、有指代不清、有多主題混雜這時候最該做的不是提升embedding模型而是先做一個查詢理解層。在我落地的系統(tǒng)里查詢理解層做了三件事意圖分類、查詢改寫、檢索策略選擇。意圖分類決定走上層路由查詢改寫則將原始query轉(zhuǎn)換成更利于檢索的形式比如把口語轉(zhuǎn)成書面表達(dá)、補(bǔ)全省略詞、拆解多主題問題檢索策略選擇則決定是單路召回、多路召回還是走知識圖譜查詢。這個環(huán)節(jié)的意義是把“讓模型猜用戶要什么”提前到“讓系統(tǒng)主動澄清意圖”。建議每個Agentic RAG項(xiàng)目都至少要在這個鏈路上留出可擴(kuò)展的能力點(diǎn)否則后面加新領(lǐng)域的知識庫時你會被路由配置折磨到崩潰。2.3 RAG知識庫、KG知識庫與結(jié)構(gòu)化知識庫到底怎么區(qū)分怎么選這個點(diǎn)配套熱詞里排得靠前我單獨(dú)展開一下。很多人分不清幾種知識庫的邊界在設(shè)計架構(gòu)時把查詢層面耦合在一起最后系統(tǒng)越跑越亂。向量RAG知識庫適合處理的是非結(jié)構(gòu)化文檔比如PDF、網(wǎng)頁、Markdown、會議紀(jì)要。它的核心工作流是切片、embedding、向量檢索。優(yōu)點(diǎn)是覆蓋廣、成本低、上線快缺點(diǎn)是精度受切分質(zhì)量和embedding能力影響很大對精確數(shù)值、多實(shí)體關(guān)系類問題幾乎無能為力。知識圖譜KG知識庫適合處理實(shí)體關(guān)系密集型場景比如“某員工的直屬上級是誰”“某服務(wù)依賴哪些底層組件”“某政策是否適用于某類員工”。它是把實(shí)體、屬性、關(guān)系建成圖譜結(jié)構(gòu)用Cypher這類圖查詢語言訪問。優(yōu)點(diǎn)是精確率高、可解釋性強(qiáng)、支持多跳關(guān)系查詢?nèi)秉c(diǎn)是構(gòu)建成本極高需要大量的實(shí)體抽取、關(guān)系對齊工作。結(jié)構(gòu)化知識庫就是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫或者數(shù)倉適合強(qiáng)結(jié)構(gòu)化數(shù)據(jù)比如訂單記錄、指標(biāo)數(shù)據(jù)、設(shè)備狀態(tài)。它解決的是“查一個確切的值”這類問題而不是“找一段相關(guān)的文本”。實(shí)際生產(chǎn)里我強(qiáng)烈建議是混合架構(gòu)而不是單選一個。常見做法是用向量RAG做開放文本召回用KG處理實(shí)體關(guān)系用結(jié)構(gòu)化知識庫提供精確數(shù)值再靠Agentic層去做路由和融合。我在一個實(shí)際項(xiàng)目里就是這樣設(shè)計用戶問“某服務(wù)上個月的可用性怎么樣”系統(tǒng)先走結(jié)構(gòu)化查詢拿指標(biāo)接著標(biāo)注問題直接用KG查故障關(guān)聯(lián)關(guān)系而開放性的排障建議則走向量RAG。三者各司其職效果遠(yuǎn)好于任何單一方案。2.4 工具選型解析LangChain、LlamaIndex和我自己的落地經(jīng)驗(yàn)關(guān)于RAG框架Hotsearch里也提到了rag框架。我不回避這個問題因?yàn)檫x型直接決定你后續(xù)的生產(chǎn)維護(hù)成本。我在生產(chǎn)環(huán)境里更傾向于用LangGraph或者LlamaIndex的Workflow模式因?yàn)樗鼈儼袮gent的工作流顯式建模成圖結(jié)構(gòu)每個節(jié)點(diǎn)都是可觀測、可替代、可測試的。這讓Agent的行為不再是一次性的黑盒調(diào)用而是像管道一樣可以單點(diǎn)調(diào)試。對于快速原型驗(yàn)證LangChain的LCEL表達(dá)式語法非常高效可以在幾小時內(nèi)把一條RAG鏈路跑通。但要注意Demo越快的東西生產(chǎn)化改造越痛苦。LCEL鏈一旦復(fù)雜到需要條件分支和循環(huán)調(diào)用表達(dá)式會變得極難排查。如果你的項(xiàng)目注定會生長我建議一開始就上圖結(jié)構(gòu)的工作流引擎哪怕前期多花兩三天搭基座后續(xù)的收益是倍數(shù)級的。3. 實(shí)操過程從零搭建一個生產(chǎn)級Agentic RAG系統(tǒng)3.1 環(huán)境準(zhǔn)備與項(xiàng)目初始化這個部分是針對“怎么在mac上搭建rag知識庫”這類熱詞的實(shí)際回答。Mac本地開發(fā)Agentic RAG項(xiàng)目是完全可行的M系列芯片跑本地embedding模型和個人知識庫檢索體驗(yàn)相當(dāng)不錯。我推薦的環(huán)境組合是Python 3.10Poetry或uv做依賴管理Qdrant或Chroma作為本地向量庫Ollama跑本地LLM做開發(fā)驗(yàn)證LangGraph或LlamaIndex作為工作流框架。這個組合的好處是——你用到的每個組件都可以后續(xù)無縫替換成云端版本從本地遷移到生產(chǎn)不需要重寫業(yè)務(wù)邏輯。初始化項(xiàng)目的思路我通常這樣做mkdir production-agentic-rag-course cd production-agentic-rag-course uv init --python 3.10 uv add langgraph langchain-openai qdrant-client tiktoken pydantic這里有個小經(jīng)驗(yàn)開發(fā)時別把embedding模型和大模型綁定在同一個供應(yīng)商上。在Mac上我通常讓embedding走本地Ollama或FastEmbedLLM調(diào)用走OpenAI兼容接口或者本地Qwen這樣后期切云端的時候只改一處模型配置就行不至于被單一廠商套牢。3.2 知識庫構(gòu)建與切分策略這一步?jīng)Q定RAG的上限很多人以為知識庫構(gòu)建就是把文檔扔進(jìn)去切片我可以直接說切分策略是最容易優(yōu)化但又最容易被忽視的環(huán)節(jié)。切片不是越短越好也不是越長越好而是取決于你的檢索目標(biāo)和模型上下文長度。我常用的策略是定長滑動窗口加父子分塊。父塊控制在1500-2000 token子塊控制在300-500 token。檢索的時候先用子塊做embedding匹配召回后把子塊所屬的父塊內(nèi)容作為上下文交給LLM這樣既保證了匹配精度又保留了足夠的上下文信息。這個技巧對效果提升非常明顯尤其是在文檔篇幅較長、領(lǐng)域術(shù)語密集的場景里。還有一個很關(guān)鍵的細(xì)節(jié)切分后要保留文檔的元數(shù)據(jù)。來源、標(biāo)題、章節(jié)號、更新時間、作者、版本號這些都要寫進(jìn)向量庫的payload。不只是為了檢索后展示更重要的是給知識圖譜構(gòu)建和后續(xù)的時效性維護(hù)留下鉤子。早期我踩過沒有元數(shù)據(jù)的坑后來想按部門維度過濾知識庫、想下線過期文檔結(jié)果不得不重新構(gòu)建全部索引白白浪費(fèi)了好幾天的時間。3.3 Agent編排查詢改寫、工具注冊、檢索執(zhí)行、結(jié)果校驗(yàn)怎么串起來Agent編排這層是整個系統(tǒng)的核心也是Agentic RAG比傳統(tǒng)RAG復(fù)雜的地方。我提供一個我在項(xiàng)目中實(shí)際使用的架構(gòu)流程你可以把它當(dāng)成一個參考模板。節(jié)點(diǎn)一是查詢處理節(jié)點(diǎn)。模型接收用戶原始問題輸出一個結(jié)構(gòu)化查詢計劃包含改寫后的query、路由目標(biāo)索引、檢索參數(shù)。這個節(jié)點(diǎn)是最容易被忽略的因?yàn)楹芏嗳擞X得用戶問什么就直接查什么但我想說一個典型的糟糕體驗(yàn)就產(chǎn)生在這里。用戶說“那個什么內(nèi)存泄漏的問題你們后來怎么解決的”如果你不做查詢改寫模型根本不知道用戶要的是某個歷史工單的解決方案。節(jié)點(diǎn)二是工具調(diào)用節(jié)點(diǎn)。系統(tǒng)維護(hù)工具注冊表每個工具聲明自己的名稱、功能描述、參數(shù)schema。模型的函數(shù)調(diào)用能力來決定調(diào)用順序和參數(shù)。這里有一個我自己實(shí)踐出來的經(jīng)驗(yàn)工具描述務(wù)必寫清楚它“不擅長什么”。比如某個工具是查內(nèi)部Wiki的你就在描述里明確寫“只能查詢Wiki不能回答代碼類問題”讓模型盡可能避免錯誤路由。節(jié)點(diǎn)三是檢索執(zhí)行節(jié)點(diǎn)。這個節(jié)點(diǎn)去實(shí)際的向量庫、KG或關(guān)系型數(shù)據(jù)庫里取數(shù)據(jù)并做后置處理和重排。對向量召回我傾向于使用Rerank模型對top-20結(jié)果重排保留top-5進(jìn)入上下文。沒有Rerank的RAG相當(dāng)于你去搜索引擎搜了個結(jié)果頁但只看前三條就下結(jié)論精度和穩(wěn)定性都很難保證。節(jié)點(diǎn)四是答案生成節(jié)點(diǎn)。這不僅僅是把上下文喂給LLM更關(guān)鍵的是要告訴模型哪些是來自檢索結(jié)果的證據(jù)哪些是模型自身知識。在提示詞里有一個兜底機(jī)制如果證據(jù)不足以回答就必須明確說不知道而不是用大模型的流暢性編造一個聽起來很合理的答案。這個約束是生產(chǎn)系統(tǒng)的底線。最后是節(jié)點(diǎn)五結(jié)果校驗(yàn)節(jié)點(diǎn)。對生成結(jié)果做一個事實(shí)一致性檢查。最輕量的辦法是讓一個更便宜的模型把答案里的關(guān)鍵斷言逐一與檢索證據(jù)做比對判斷是否矛盾。這個環(huán)節(jié)要控制token成本我通常只抽取出斷言中的主體、數(shù)值、時間這三類高價值實(shí)體來驗(yàn)證。它能攔截掉不少明顯幻覺。3.4 混合檢索向量檢索與知識圖譜查詢的協(xié)同前面提到我的生產(chǎn)系統(tǒng)里同時跑了向量RAG和知識圖譜KG。這里說下它們在Agentic流程里怎么協(xié)同。向量檢索部分以語義相似度為主負(fù)責(zé)找回“相關(guān)文檔片段”。KG查詢部分以結(jié)構(gòu)化為入口處理的是“實(shí)體間精確關(guān)系”。協(xié)同方式是這樣的查詢改寫節(jié)點(diǎn)生成兩個分支——推測有實(shí)體關(guān)系的部分走KG查詢開放敘述部分走向量召回。然后拿到兩者的結(jié)果后在提示詞層面合并KG的圖結(jié)構(gòu)輸出作為實(shí)體關(guān)系背景向量文本作為具體證據(jù)。比如用戶問的是“這臺設(shè)備現(xiàn)在告警記錄顯示它最近做過固件升級這兩者有沒有關(guān)聯(lián)”向量檢索能找到設(shè)備升級的工單和告警日志KG查詢則能找到“設(shè)備—升級版本—固件記錄—告警事件”之間的關(guān)聯(lián)路徑。兩個信息源合在一起模型給出的答案就不再是兩段割裂的文本而是一份有因果鏈條的解釋。這個協(xié)同設(shè)計是需要反復(fù)調(diào)優(yōu)的地方建議上線后持續(xù)觀察路由的準(zhǔn)確性不斷調(diào)整提示詞和工具描述。3.5 評估體系搭建沒有指標(biāo)就沒有生產(chǎn)話語權(quán)生產(chǎn)級RAG的另一個大坑是“感覺效果不錯但沒法量化”。你必須在項(xiàng)目第一天就搭建評估體系。我用的方案是以RAGAS為基線自建了三個維度的評估任務(wù)集。忠實(shí)性答案是否嚴(yán)格基于檢索內(nèi)容而不是模型胡編。這個指標(biāo)其實(shí)是質(zhì)檢幻覺的關(guān)鍵防線。相關(guān)性答案是否和用戶問題匹配而不是泛泛而談。上下文相關(guān)率檢索回來的內(nèi)容中有多少比例被答案真正用上了這個指標(biāo)可以暴露出你檢索是不是拉了一大堆沒用的東西。每個指標(biāo)收集50到100個真實(shí)用戶問題作為黃金測試集跑一次評估只需要幾分鐘。每次系統(tǒng)變更后跑一輪用分?jǐn)?shù)變化判斷這次改造是正向還是負(fù)向。強(qiáng)烈建議在CI流程里接入自動化評估這樣可以防止“改了個prompt結(jié)果整體效果變差”這種回退事故。4. 常見問題與排查技巧實(shí)錄4.1 Mac上跑RAG項(xiàng)目的幾個高頻坑Mac上搭建RAG知識庫有兩個經(jīng)典的坑。第一個是向量庫版本和Python版本沖突Chroma和Qdrant在某些macOS版本下會出現(xiàn)grpc相關(guān)的連接失敗。處理方案很簡單優(yōu)先用官方Docker鏡像跑向量庫服務(wù)端客戶端保持最新穩(wěn)定版避免用brew裝的舊版本。第二個是本地embedding模型的速度。M系列芯片跑bge-m3這種中量級embedding模型速度能接受但推理大模型如果直接跑7B以上的模型內(nèi)存占用會嚇到你。所以我的建議是開發(fā)階段用Ollama跑一個小的7B模型做鏈路驗(yàn)證驗(yàn)證通過以后立刻切換到云端API不要被本地模型的速度誤導(dǎo)了你的開發(fā)迭代節(jié)奏。表常見問題速查現(xiàn)象可能原因排查思路答案總是圍繞同一兩個文檔重復(fù)檢索排序失效或切分粒度過大檢查Rerank邏輯檢查父塊切分參數(shù)多輪對話后上下文混亂記憶管理策略缺失增加會話摘要節(jié)點(diǎn)限制歷史窗口用戶問題切換主題后仍按上一話題回答路由缺少重觸發(fā)機(jī)制在查詢處理節(jié)點(diǎn)增加主題漂移檢測同一問題兩次答案差異大解碼溫度過高或檢索結(jié)果不穩(wěn)定降低溫度固定Rerank邏輯增加證據(jù)緩存Agent反復(fù)調(diào)用同一個工具多次工具描述不清晰或返回內(nèi)容未被正確結(jié)構(gòu)化檢查工具返回格式增加調(diào)用次數(shù)上限4.2 生產(chǎn)環(huán)境構(gòu)建過程“卡住”時先看這五個層面最近看到不少人說“building for production卡住”我在項(xiàng)目里也卡過。卡住的本質(zhì)是系統(tǒng)復(fù)雜度上來了但你還在用Demo的排查手段。如果你發(fā)現(xiàn)自己卡住優(yōu)先檢查這五個層面。第一層是路由。你的意圖路由有沒有把用戶問題分到完全錯誤的知識源。建議把線上真實(shí)的失敗case聚類先看是不是路由層的結(jié)構(gòu)性錯誤而不是模型能力問題。第二層是檢索。top-k數(shù)量是否合理、是否有重排序、知識庫是否存在過期沖突。第三層是上下文組裝。給模型的上下文到底有沒有覆蓋到問題所需的全部信息還是信息被截斷或遺漏了。第四層是生成。模型是否在證據(jù)不足時強(qiáng)行作答這個可以用忠實(shí)性評估來量化。第五層是評測。你的評測集是不是太簡單導(dǎo)致評估結(jié)果無法反映線上真實(shí)分布。我建議把線上日志持續(xù)回流到評估集里。每兩周從真實(shí)日志里挑出50個成功和失敗case人工標(biāo)注后加入測試集。這個動作雖然看起來很笨但是長期堅持下來你的系統(tǒng)質(zhì)量曲線會越來越穩(wěn)你也會對系統(tǒng)“哪里會出問題”有極強(qiáng)的直覺。4.3 關(guān)于知識庫型Agent的三條避坑經(jīng)驗(yàn)第一條經(jīng)驗(yàn)是單一知識庫不是萬能的。很多團(tuán)隊(duì)把幾百G的文檔全塞進(jìn)一個向量庫最后發(fā)現(xiàn)檢索效果越來越差。原因在于不同領(lǐng)域的語義空間差異太大混在一個索引里會互相干擾。生產(chǎn)我的建議是至少按高層次的業(yè)務(wù)域劃分索引檢索時先路由到對應(yīng)索引再執(zhí)行查詢。第二條是別忽視知識庫的更新機(jī)制。如果數(shù)據(jù)源經(jīng)常變化而你的向量索引永遠(yuǎn)是舊數(shù)據(jù)系統(tǒng)遲早會給出誤導(dǎo)性答案。給我印象很深的是一個項(xiàng)目里因?yàn)檎呶臋n更新了但全量重建索引需要三小時團(tuán)隊(duì)就偷懶沒做結(jié)果線上用戶拿著舊政策來問得到一個已失效的答案差點(diǎn)釀成事故。生產(chǎn)環(huán)境的索引更新必須是自動化管道的一部分從觸發(fā)到完成全程可追蹤。第三條是知識庫并不只是“給模型提供資料”它還決定了模型的能力邊界。知識庫的質(zhì)量決定答案的上限RAG流程只是決定是否能觸及這個上限。所以別把優(yōu)化精力全放在prompt和模型調(diào)參上把時間花在清洗知識庫、梳理實(shí)體關(guān)系、消除沖突文檔上收益會大得多。5. 再分享一點(diǎn)我對生產(chǎn)級Agentic RAG的個人體會這幾年陸陸續(xù)續(xù)做了不少RAG相關(guān)的項(xiàng)目越來越覺得生產(chǎn)級Agentic RAG本質(zhì)不是“加一個Agent進(jìn)來”而是把整個知識問答系統(tǒng)從不可解釋的黑盒改造成了一條有路由、有工具、有校驗(yàn)、有回退的流水線。每個環(huán)節(jié)都在盡量降低不確定性讓模型每一次的“自由發(fā)揮”范圍變得越來越可控。我個人在實(shí)際操作中的體會是千萬不要被“Agentic”這個詞迷惑以為有了Agent一切就自動變好。它只是給了你一個讓系統(tǒng)變得更可控的架構(gòu)杠桿真正的功夫還是在每一個環(huán)節(jié)的工程細(xì)節(jié)里——查詢改寫調(diào)了幾版、重排序選哪個模型、評估集多久更新一次。這些細(xì)活累積起來才決定了你的系統(tǒng)在真實(shí)用戶面前表現(xiàn)到底如何。最后再補(bǔ)充一個建議方向如果后面你要在這個項(xiàng)目上繼續(xù)擴(kuò)展可以從記憶管理和在線學(xué)習(xí)兩個角度切入。給Agent加長短期記憶讓它能利用歷史會話信息再就是從線上反饋里持續(xù)挖掘失敗case形成主動學(xué)習(xí)閉環(huán)。這兩塊是當(dāng)前Agentic RAG向產(chǎn)品級應(yīng)用演進(jìn)時最值得加投入的地方。