優(yōu)實(shí)戰(zhàn))
1. 為什么RAG成了面試?yán)锏摹氨卮痤}”如果你最近一年在找算法崗或者大模型應(yīng)用崗大概率會(huì)發(fā)現(xiàn)一個(gè)現(xiàn)象面試官不再只問Transformer八股了而是會(huì)突然拋出一句——“你做過RAG嗎聊聊你的理解。”這不是跟風(fēng)而是因?yàn)镽AG已經(jīng)從“論文里的概念”變成了“工程里必須落地的模塊”。我面過也面過別人發(fā)現(xiàn)很多候選人對(duì)RAG的理解停留在“檢索拼接生成”這三步但面試官真正想聽的是你有沒有踩過坑、有沒有優(yōu)化過、有沒有想過為什么這么設(shè)計(jì)。RAG全稱Retrieval-Augmented Generation檢索增強(qiáng)生成。它的核心邏輯很樸素大模型本身的知識(shí)有截止日期也有幻覺那就在回答問題之前先去外部知識(shí)庫里把相關(guān)材料找出來塞進(jìn)上下文讓模型基于材料回答。聽起來簡(jiǎn)單但真正做起來從文檔切分到向量檢索再到重排序每一步都有大量細(xì)節(jié)決定最終效果。面試?yán)锏摹?連問”通常不是六個(gè)獨(dú)立問題而是一條鏈原理是什么、怎么切分、怎么檢索、怎么重排、怎么生成、怎么評(píng)估。這條鏈上任何一個(gè)環(huán)節(jié)答得含糊面試官就能判斷你只是“跑過demo”還是“真正調(diào)過系統(tǒng)”。這篇文章我打算把這條鏈拆開結(jié)合我自己在多個(gè)項(xiàng)目里實(shí)際調(diào)優(yōu)的經(jīng)驗(yàn)把每個(gè)環(huán)節(jié)的“為什么”和“怎么做”講透。不管你是準(zhǔn)備面試還是正在搭建自己的RAG系統(tǒng)這些內(nèi)容都能直接拿去用。我不會(huì)只給你一個(gè)流程圖而是會(huì)告訴你為什么樸素RAG經(jīng)常效果不好、為什么切分策略比模型選擇還重要、為什么重排序能救回一半的召回?fù)p失。這些才是面試官真正想聽的“干貨”。2. 第一問RAG到底解決了大模型的哪些硬傷2.1 知識(shí)截止與幻覺兩個(gè)必須分開看的問題很多人把RAG的價(jià)值籠統(tǒng)概括為“讓模型知道更多”這個(gè)說法太糙了。大模型有兩個(gè)獨(dú)立的硬傷RAG對(duì)它們的解決程度完全不同。第一個(gè)是知識(shí)截止。模型訓(xùn)練數(shù)據(jù)有截止日期之后發(fā)生的事情它不知道。這個(gè)問題RAG解決得很直接把新信息放進(jìn)外部知識(shí)庫檢索出來塞進(jìn)上下文就行。但這里有個(gè)隱藏坑——如果檢索出來的材料和模型內(nèi)部知識(shí)沖突模型傾向于相信誰實(shí)測(cè)下來如果材料在上下文中位置靠前且表述明確模型會(huì)優(yōu)先采信材料但如果材料模糊或者位置靠后模型很可能回到自己的舊知識(shí)。所以RAG不是“加了檢索就萬事大吉”上下文的位置和表述方式同樣關(guān)鍵。第二個(gè)是幻覺。模型會(huì)編造不存在的事實(shí)這個(gè)問題RAG只能緩解不能根治。因?yàn)榛糜X的來源不只是知識(shí)缺失還有模型對(duì)自身不確定性的錯(cuò)誤估計(jì)。你給它材料它可能仍然編造尤其是當(dāng)材料里沒有直接答案時(shí)。我見過一個(gè)案例問一個(gè)關(guān)于某內(nèi)部流程的問題知識(shí)庫里只有部分相關(guān)文檔模型沒有說“材料不足”而是把幾個(gè)文檔的片段拼接成了一個(gè)看似合理但完全錯(cuò)誤的答案。所以RAG系統(tǒng)里必須加一道“拒答”機(jī)制當(dāng)檢索置信度低于閾值時(shí)讓模型明確說“根據(jù)現(xiàn)有資料無法回答”而不是硬編。2.2 樸素RAG的流水線為什么經(jīng)常跑不通樸素RAG的流程是文檔切分→向量化→存入向量庫→查詢向量化→相似度檢索→拼接上下文→生成。這條流水線在demo里跑得通一到真實(shí)場(chǎng)景就崩原因通常出在三個(gè)地方。第一切分粒度與語義完整性沖突。按固定長(zhǎng)度切比如512個(gè)token一刀切很容易把一個(gè)完整段落切成兩半檢索出來的片段缺少上下文模型看不懂。按段落切又可能一段太長(zhǎng)向量化后語義被稀釋檢索精度下降。第二向量相似度不等于語義相關(guān)性。用戶問“如何申請(qǐng)報(bào)銷”文檔里寫的是“費(fèi)用審批流程”字面不相似但語義相關(guān)純向量檢索可能漏掉。反過來有些文檔字面相似但答非所問也會(huì)被召回來。第三上下文窗口的浪費(fèi)。檢索回來一堆片段全塞進(jìn)去其中可能只有一兩段真正有用其余都是噪聲。模型在噪聲里找答案準(zhǔn)確率會(huì)明顯下降。所以RAG的優(yōu)化本質(zhì)上是在“召回率”和“精度”之間找平衡而樸素RAG兩頭都不占。面試?yán)锶绻粏柕健癛AG有什么缺點(diǎn)”不要只說“檢索不準(zhǔn)”要具體到切分、向量語義、上下文噪聲這三個(gè)層面面試官會(huì)立刻知道你真正調(diào)過。3. 第二問文檔切分策略怎么選才不踩坑3.1 固定長(zhǎng)度、語義切分與遞歸切分的適用場(chǎng)景切分是RAG的第一道關(guān)也是最能體現(xiàn)經(jīng)驗(yàn)的地方。常見的策略有三種我分別說一下適用場(chǎng)景和坑。固定長(zhǎng)度切分最簡(jiǎn)單按token數(shù)或字符數(shù)一刀切通常加一個(gè)重疊窗口overlap來緩解語義斷裂。比如每512個(gè)token切一段相鄰段重疊128個(gè)token。這個(gè)策略適合結(jié)構(gòu)松散、段落邊界不明顯的文檔比如聊天記錄、日志。但它的坑在于重疊窗口會(huì)增加存儲(chǔ)和檢索成本而且如果文檔本身有清晰的章節(jié)結(jié)構(gòu)固定切分反而破壞了結(jié)構(gòu)信息。語義切分是先用模型判斷句子之間的語義相似度在相似度驟降的地方切一刀。這個(gè)策略適合長(zhǎng)篇文章、技術(shù)文檔能保證每段語義完整。但它的坑是計(jì)算成本高而且對(duì)短文檔不劃算。另外語義切分的閾值很難調(diào)閾值太高切得太碎太低又切不開。遞歸切分是我最常用的折中方案。它按層級(jí)來先按大標(biāo)題切如果某段還是太長(zhǎng)再按小標(biāo)題切再長(zhǎng)就按段落切最后才按固定長(zhǎng)度切。這樣既保留了文檔的層級(jí)結(jié)構(gòu)又控制了每段的長(zhǎng)度。LangChain里的RecursiveCharacterTextSplitter就是干這個(gè)的你可以指定分隔符優(yōu)先級(jí)比如先按“\n\n”切再按“\n”切最后按“?!鼻?。3.2 切分長(zhǎng)度與重疊窗口的參數(shù)計(jì)算切分長(zhǎng)度設(shè)多少不是拍腦袋決定的。它取決于兩個(gè)因素嵌入模型的最大輸入長(zhǎng)度和生成模型的上下文窗口。假設(shè)你用的嵌入模型最大輸入是512個(gè)token那切分長(zhǎng)度就不能超過512否則會(huì)被截?cái)?。但?shí)際建議設(shè)在256到384之間因?yàn)樘L(zhǎng)的文本向量化后語義會(huì)被平均掉檢索精度反而下降。重疊窗口一般設(shè)切分長(zhǎng)度的10%到20%比如切分384重疊64。生成模型的上下文窗口決定了你能塞多少段。假設(shè)窗口是8K token系統(tǒng)提示詞占500用戶問題占100留給檢索材料的空間大約是7400。如果每段384 token理論上能塞19段。但實(shí)際不要塞滿因?yàn)槟P驮陂L(zhǎng)上下文里對(duì)中間位置的信息注意力會(huì)下降這就是著名的“l(fā)ost in the middle”現(xiàn)象。我的經(jīng)驗(yàn)是塞5到8段把最相關(guān)的放在最前面和最后面中間放次相關(guān)的。切分策略適用場(chǎng)景優(yōu)點(diǎn)坑點(diǎn)固定長(zhǎng)度日志、聊天記錄實(shí)現(xiàn)簡(jiǎn)單、速度快破壞語義完整性語義切分長(zhǎng)篇文章、技術(shù)文檔語義完整計(jì)算成本高、閾值難調(diào)遞歸切分結(jié)構(gòu)化文檔保留層級(jí)、長(zhǎng)度可控需要設(shè)計(jì)分隔符優(yōu)先級(jí)切分不是一次性的要跟著檢索效果反復(fù)調(diào)。我一般會(huì)先跑一輪評(píng)估看召回的材料里有多少是“斷頭斷尾”的再?zèng)Q定要不要調(diào)整切分參數(shù)。4. 第三問向量檢索的精度瓶頸在哪里4.1 嵌入模型選型不是越大越好嵌入模型負(fù)責(zé)把文本轉(zhuǎn)成向量它的質(zhì)量直接決定檢索的上限。很多人一上來就選最大的模型覺得維度越高越好其實(shí)不一定。選嵌入模型要看三個(gè)指標(biāo)檢索精度、推理速度、維度成本。精度可以用MTEB榜單參考但榜單分?jǐn)?shù)高不代表你的場(chǎng)景就好。比如你處理的是法律文書通用模型可能不如在法律語料上微調(diào)過的小模型。速度方面如果知識(shí)庫有百萬級(jí)文檔嵌入模型的推理速度直接影響索引構(gòu)建時(shí)間。維度成本則關(guān)系到向量庫的存儲(chǔ)和檢索延遲768維和1536維的存儲(chǔ)差一倍檢索速度也差不少。我的建議是先用一個(gè)中等規(guī)模的通用模型跑基線比如BGE-base或者GTE-base看召回效果。如果精度不夠再考慮換大模型或者微調(diào)。微調(diào)嵌入模型需要構(gòu)造正負(fù)樣本對(duì)成本不低但效果提升往往很明顯尤其是垂直領(lǐng)域。4.2 相似度度量與索引類型的選擇邏輯向量檢索的核心是相似度計(jì)算常見的有余弦相似度、點(diǎn)積、歐氏距離。余弦相似度最常用因?yàn)樗鼘?duì)向量長(zhǎng)度不敏感只看向量方向。點(diǎn)積和余弦的區(qū)別在于是否歸一化如果向量已經(jīng)歸一化兩者等價(jià)。索引類型決定了檢索速度和召回率的平衡。Flat索引是暴力檢索召回率100%但速度慢適合小知識(shí)庫幾萬條以內(nèi)。IVF索引把向量聚類檢索時(shí)只查最近的幾個(gè)簇速度快但可能漏掉邊界上的向量。HNSW是基于圖的索引檢索速度快且召回率高是目前最常用的但內(nèi)存占用大。選擇邏輯很簡(jiǎn)單知識(shí)庫小于10萬條用Flat或HNSW大于10萬條用IVF或HNSW加量化。如果內(nèi)存緊張可以考慮PQ量化但會(huì)損失精度。4.3 混合檢索為什么純向量不夠純向量檢索有個(gè)致命問題它對(duì)關(guān)鍵詞精確匹配不敏感。比如用戶問“錯(cuò)誤碼E502怎么解決”向量檢索可能召回一堆關(guān)于“錯(cuò)誤處理”的文檔但就是漏掉那個(gè)專門講E502的。這時(shí)候需要混合檢索把向量檢索和關(guān)鍵詞檢索比如BM25的結(jié)果融合。融合策略有兩種加權(quán)求和和倒數(shù)排名融合RRF。加權(quán)求和需要調(diào)權(quán)重RRF更簡(jiǎn)單它只看排名不看分?jǐn)?shù)把兩個(gè)檢索結(jié)果的排名做倒數(shù)相加。實(shí)測(cè)下來RRF在多數(shù)場(chǎng)景下更穩(wěn)因?yàn)樗恍枰獨(dú)w一化分?jǐn)?shù)避免了不同檢索器分?jǐn)?shù)尺度不一致的問題?;旌蠙z索的坑在于如果兩個(gè)檢索器召回的結(jié)果高度重疊融合后提升不明顯如果完全不重疊融合后噪聲會(huì)變多。所以通常還要加一個(gè)重排序模型來精排。5. 第四問重排序?yàn)槭裁茨芫然匾话氲恼倩負(fù)p失5.1 交叉編碼器與雙編碼器的本質(zhì)區(qū)別重排序的核心是換一種更精細(xì)的相關(guān)性計(jì)算方式。檢索階段用的雙編碼器bi-encoder是把查詢和文檔分別編碼成向量然后算相似度。這種方式快但查詢和文檔之間沒有交互細(xì)粒度的語義匹配會(huì)丟失。重排序用的交叉編碼器cross-encoder是把查詢和文檔拼在一起輸入模型讓模型直接輸出相關(guān)性分?jǐn)?shù)。因?yàn)橛辛私换ニ懿蹲降礁?xì)的語義關(guān)系比如否定、條件、指代。代價(jià)是慢因?yàn)槊總€(gè)查詢-文檔對(duì)都要過一次模型沒法預(yù)計(jì)算。所以標(biāo)準(zhǔn)流程是檢索階段用雙編碼器召回Top 50到100重排序階段用交叉編碼器精排取Top 5到10送給生成模型。這樣既保證了速度又提升了精度。5.2 重排序模型的選型與延遲權(quán)衡重排序模型的選擇要看延遲預(yù)算。如果系統(tǒng)要求端到端響應(yīng)在2秒內(nèi)重排序的耗時(shí)必須控制在200毫秒以內(nèi)。這時(shí)候可以用小一點(diǎn)的交叉編碼器比如MiniLM級(jí)別的或者用蒸餾過的模型。如果延遲不敏感可以用大模型做重排序甚至用生成模型來打分。我試過用7B的模型做重排序精度確實(shí)高但單次推理要幾百毫秒Top 50排下來要十幾秒完全不實(shí)用。所以重排序模型的選擇本質(zhì)上是在精度和延遲之間找平衡點(diǎn)。另一個(gè)坑是重排序模型也需要和你的領(lǐng)域匹配。通用重排序模型在垂直領(lǐng)域可能不如微調(diào)過的小模型。如果領(lǐng)域數(shù)據(jù)多可以考慮用領(lǐng)域數(shù)據(jù)微調(diào)一個(gè)交叉編碼器效果提升很明顯。5.3 重排序的輸入構(gòu)造與截?cái)嗖呗灾嘏判蚰P偷妮斎胧恰安樵兾臋n”但文檔可能很長(zhǎng)超過模型的最大輸入長(zhǎng)度。這時(shí)候需要截?cái)?。截?cái)嗖呗杂袃煞N頭截?cái)嗪臀步財(cái)?。頭截?cái)啾A粑臋n開頭尾截?cái)啾A艚Y(jié)尾。哪個(gè)更好取決于你的文檔結(jié)構(gòu)。如果關(guān)鍵信息通常在開頭用頭截?cái)嗳绻诮Y(jié)尾用尾截?cái)唷8?xì)的做法是先用檢索階段的高分片段作為重排序的輸入而不是整個(gè)文檔。因?yàn)闄z索階段已經(jīng)定位到了相關(guān)片段重排序只需要在這個(gè)片段上做精細(xì)判斷。這樣既避免了截?cái)嘈畔G失又減少了輸入長(zhǎng)度。重排序不是萬能的。如果檢索階段Top 50里根本沒有相關(guān)文檔重排序也救不回來。所以召回率和精度要分開優(yōu)化先保證召回再提精度。6. 第五問生成階段怎么讓模型“說人話”6.1 上下文拼接的順序與格式設(shè)計(jì)檢索和重排序之后你手里有一堆相關(guān)片段怎么把它們拼成上下文送給模型直接決定生成質(zhì)量。順序上我試過三種按相關(guān)性降序、按文檔原始順序、兩頭強(qiáng)中間弱。實(shí)測(cè)下來兩頭強(qiáng)中間弱效果最好因?yàn)槟P蛯?duì)開頭和結(jié)尾的注意力最強(qiáng)。具體做法是把最相關(guān)的兩段放開頭和結(jié)尾次相關(guān)的放中間。格式上每段前面加一個(gè)來源標(biāo)記比如“【文檔1】”段與段之間用分隔符隔開。這樣模型能區(qū)分不同來源也方便你在生成結(jié)果里做引用。另外在系統(tǒng)提示詞里要明確告訴模型“只根據(jù)以下材料回答如果材料中沒有答案就說不知道?!边@句話能顯著降低幻覺率。6.2 提示詞模板里的防幻覺設(shè)計(jì)防幻覺的提示詞設(shè)計(jì)有幾個(gè)關(guān)鍵點(diǎn)。第一明確邊界告訴模型只能使用提供的材料不能使用內(nèi)部知識(shí)。第二要求引用讓模型在回答里標(biāo)注信息來源比如“根據(jù)文檔1”。第三允許拒答明確說“如果材料不足以回答請(qǐng)直接說無法回答”。第四禁止推測(cè)告訴模型不要根據(jù)材料做推斷只做直接陳述。我見過一個(gè)反例提示詞里寫“請(qǐng)根據(jù)材料回答”模型就以為可以自由發(fā)揮結(jié)果把材料里的片段重新組合成了一個(gè)錯(cuò)誤答案。后來改成“只允許逐字引用材料中的原句來回答”幻覺率立刻降下來了。當(dāng)然這樣回答會(huì)不夠流暢所以需要在流暢性和準(zhǔn)確性之間找平衡。6.3 生成參數(shù)的溫度與長(zhǎng)度控制生成階段的參數(shù)也會(huì)影響RAG效果。溫度建議設(shè)低0.1到0.3之間因?yàn)镽AG需要的是準(zhǔn)確復(fù)述不是創(chuàng)意寫作。溫度高了模型容易自由發(fā)揮增加幻覺。最大長(zhǎng)度要限制避免模型長(zhǎng)篇大論。通常答案長(zhǎng)度不會(huì)超過材料總長(zhǎng)度設(shè)一個(gè)合理上限就行。另外重復(fù)懲罰可以適當(dāng)調(diào)高防止模型反復(fù)說同一句話。但不要調(diào)太高否則會(huì)導(dǎo)致語句不通順。這些參數(shù)沒有固定值需要在你的場(chǎng)景里跑評(píng)估來調(diào)。7. 第六問RAG系統(tǒng)怎么評(píng)估和持續(xù)優(yōu)化7.1 檢索評(píng)估召回率、MRR與NDCG評(píng)估RAG要分兩段檢索質(zhì)量和生成質(zhì)量。檢索質(zhì)量的核心指標(biāo)是召回率即相關(guān)文檔有多少被召回了。如果召回率低后面再怎么優(yōu)化都沒用。計(jì)算召回率需要標(biāo)注數(shù)據(jù)即每個(gè)查詢對(duì)應(yīng)哪些文檔是相關(guān)的。標(biāo)注成本高但可以用大模型輔助標(biāo)注再人工抽檢。除了召回率還有MRR平均倒數(shù)排名和NDCG歸一化折損累計(jì)增益。MRR看第一個(gè)相關(guān)文檔的排名NDCG看整個(gè)排序的質(zhì)量。這兩個(gè)指標(biāo)比重排序更關(guān)注排序質(zhì)量適合評(píng)估重排序模型的效果。7.2 生成評(píng)估忠實(shí)度、答案相關(guān)性與幻覺率生成質(zhì)量的核心是忠實(shí)度即答案是否完全基于提供的材料沒有編造。評(píng)估忠實(shí)度可以用大模型做裁判讓一個(gè)模型判斷答案里的每個(gè)陳述是否能在材料里找到依據(jù)。這個(gè)方法成本低但裁判模型本身也可能出錯(cuò)所以需要人工抽檢校準(zhǔn)。答案相關(guān)性是另一個(gè)指標(biāo)看答案是否直接回答了問題。有時(shí)候答案忠實(shí)于材料但答非所問比如問“怎么申請(qǐng)”答“申請(qǐng)條件是什么”。這個(gè)指標(biāo)可以用人工評(píng)估也可以用模型評(píng)估?;糜X率是最關(guān)鍵的指標(biāo)計(jì)算方式是在答案里找出所有無法在材料中驗(yàn)證的陳述除以總陳述數(shù)。這個(gè)指標(biāo)直接反映RAG系統(tǒng)的可靠性。7.3 用A/B測(cè)試驅(qū)動(dòng)迭代的實(shí)操方法評(píng)估不是為了打分是為了驅(qū)動(dòng)迭代。我的做法是每次改動(dòng)一個(gè)變量跑一輪評(píng)估看指標(biāo)變化。比如這周只改切分長(zhǎng)度下周只改重排序模型這樣能清楚知道每個(gè)改動(dòng)的影響。A/B測(cè)試在RAG里比較難做因?yàn)橛脩舨樵兎植疾痪鶆颉N业慕?jīng)驗(yàn)是構(gòu)造一個(gè)固定的評(píng)估集包含各種類型的查詢每次改動(dòng)都在這個(gè)評(píng)估集上跑。評(píng)估集要覆蓋簡(jiǎn)單事實(shí)查詢、多跳推理、否定查詢、模糊查詢等場(chǎng)景。這樣指標(biāo)才有可比性。另外線上反饋也很重要??梢栽诖鸢概赃吋右粋€(gè)“有用/沒用”的按鈕收集用戶反饋。但要注意用戶點(diǎn)“沒用”不一定是因?yàn)榇鸢稿e(cuò)可能是答案不完整或者格式不好。所以線上反饋要結(jié)合人工分析不能只看數(shù)字。評(píng)估維度核心指標(biāo)評(píng)估方法迭代優(yōu)先級(jí)檢索質(zhì)量召回率、MRR標(biāo)注數(shù)據(jù)模型輔助最高重排序質(zhì)量NDCG標(biāo)注數(shù)據(jù)高生成質(zhì)量忠實(shí)度、幻覺率模型裁判人工抽檢最高用戶體驗(yàn)有用率、點(diǎn)擊率線上反饋中8. 面試?yán)镌趺窗?連問答出“經(jīng)驗(yàn)感”面試官問RAG不是想聽你背定義而是想判斷你有沒有真正調(diào)過系統(tǒng)。所以回答的時(shí)候不要只給結(jié)論要給“我試過什么、發(fā)現(xiàn)什么、怎么改的”。比如問“切分怎么選”不要只說“用遞歸切分”要說“我試過固定切分發(fā)現(xiàn)召回的材料經(jīng)常斷頭斷尾后來換成遞歸切分按標(biāo)題層級(jí)切召回質(zhì)量明顯提升但切分長(zhǎng)度從512降到384之后檢索精度又漲了一截”。這樣面試官就知道你真正跑過評(píng)估。再比如問“重排序有用嗎”不要只說“有用”要說“我試過不加重排序Top 5里經(jīng)常只有2到3個(gè)相關(guān)加了交叉編碼器重排序之后Top 5里相關(guān)文檔能到4個(gè)以上但延遲從200毫秒漲到了500毫秒后來換了個(gè)蒸餾過的小模型延遲回到300毫秒精度只掉了不到一個(gè)點(diǎn)”。這種帶數(shù)據(jù)的回答比任何理論都有說服力。還有一個(gè)技巧主動(dòng)提坑。面試官如果問“RAG有什么坑”你可以說“最大的坑是檢索和生成之間的信息損失。檢索階段召回的相關(guān)文檔在拼接上下文時(shí)可能因?yàn)榻財(cái)嗷蛘唔樞騿栴}被模型忽略了。我遇到過檢索Top 1的文檔在生成時(shí)完全沒被用上后來發(fā)現(xiàn)是因?yàn)樗环旁诹松舷挛闹虚g模型注意力不夠。把最相關(guān)的放兩頭之后這個(gè)問題就解決了”。這種細(xì)節(jié)只有真正調(diào)過系統(tǒng)的人才知道。最后如果面試官問“你怎么評(píng)估RAG”不要只說“用召回率和準(zhǔn)確率”要說“我分兩段評(píng)估檢索段看召回率和MRR生成段看忠實(shí)度和幻覺率。評(píng)估集是我自己構(gòu)造的覆蓋了簡(jiǎn)單查詢、多跳查詢和否定查詢。每次改動(dòng)只動(dòng)一個(gè)變量跑一輪評(píng)估看指標(biāo)變化。線上還會(huì)收集用戶反饋但反饋要結(jié)合人工分析不能只看數(shù)字”。這樣回答面試官基本就能判斷你是有實(shí)戰(zhàn)經(jīng)驗(yàn)的。RAG這個(gè)方向理論不難難的是工程細(xì)節(jié)。面試?yán)锏?連問本質(zhì)上是在考你有沒有把這些細(xì)節(jié)串起來。希望這篇內(nèi)容能幫你把這條鏈理清楚不管是面試還是實(shí)際項(xiàng)目都能直接用上。