AI產(chǎn)品經(jīng)理必修課:RAG(2)
RAG不是一個(gè)技術(shù)名詞,而是一種產(chǎn)品思維的重構(gòu)方式。從“Retriever-增強(qiáng)”到“生成-調(diào)度”,RAG的每一環(huán)都關(guān)乎產(chǎn)品的邊界、能力與體驗(yàn)。本文將從產(chǎn)品經(jīng)理視角,拆解RAG的核心機(jī)制、應(yīng)用場(chǎng)景與設(shè)計(jì)要點(diǎn),幫助你在AI產(chǎn)品構(gòu)建中真正“用得上、做得對(duì)”。
在上一篇文章中,我們講解了 RAG 的基礎(chǔ)原理、傳統(tǒng) LLM 的幻覺(jué)困境、使用RAG的好處、RAG 技術(shù)的工作流程、產(chǎn)品經(jīng)理在使用RAG 的過(guò)程中可能遇到的問(wèn)題(數(shù)據(jù)來(lái)源、結(jié)果不符合預(yù)期)以及應(yīng)對(duì)措施(從召回到排序的逆向排查、各層次上的優(yōu)化思路)。但是從基礎(chǔ)的概念到實(shí)際的落地,還存在一大段鴻溝。
本篇文章,我們會(huì)從優(yōu)化大模型應(yīng)用效果的角度切入,分析基座模型、模型微調(diào)、RAG 技術(shù)、用戶體驗(yàn)四個(gè)方面,其中 RAG 是投入產(chǎn)出比最高的杠桿。各個(gè)環(huán)節(jié)對(duì)模型應(yīng)用效果的權(quán)重、具體如何優(yōu)化 RAG 環(huán)節(jié),值得我們深入探討。
一、什么在影響大模型應(yīng)用的效果?
在設(shè)計(jì)一個(gè)真正實(shí)用的大模型應(yīng)用時(shí),影響最終效果的關(guān)鍵因素可以從四個(gè)層面來(lái)分析,它們相互獨(dú)立又緊密協(xié)作,共同決定了產(chǎn)品的落地能力和使用體驗(yàn)。其中,影響模型應(yīng)用效果較大、AI 產(chǎn)品經(jīng)理接觸較多的因素是RAG(本文會(huì)著重講解 RAG 如何影響模型的生成效果,關(guān)于四層分析框架可以閱讀《萬(wàn)字長(zhǎng)文:AI產(chǎn)品四層架構(gòu)》)。
基礎(chǔ)設(shè)施層:基座模型是整個(gè)系統(tǒng)的基礎(chǔ)(約 40%)
我們常說(shuō)要了解大模型的能力邊界,到底是什么意思?我分上限和局限性兩個(gè)角度來(lái)說(shuō):
① 上限由底層模型的基礎(chǔ)能力決定:模型的理解能力、推理能力、生成質(zhì)量等,從根本上決定了應(yīng)用能處理多復(fù)雜的問(wèn)題,以及生成內(nèi)容的質(zhì)量。就像玩版本弱勢(shì)的英雄,你操作優(yōu)化得再好也白搭,carry 不動(dòng)。
② 局限性取決于大模型的原理和訓(xùn)練過(guò)程:架構(gòu)、算法、數(shù)據(jù)等。如果大模型本身存在結(jié)構(gòu)性缺陷,那么在后續(xù)優(yōu)化中是很難彌補(bǔ)的。就像輔助英雄可能都沒(méi)有攻擊型的技能,用來(lái)打野就發(fā)揮不出它的能力。
所以選擇合適的大模型并確保其性能穩(wěn)定,是所有工作的起點(diǎn),這在一開始就決定了。
模型層:模型微調(diào)(SFT)是對(duì)特定場(chǎng)景的優(yōu)化(約 10%)
大模型雖然強(qiáng)大,但它本質(zhì)上是通用的,無(wú)法針對(duì)具體場(chǎng)景提供最優(yōu)解(比如金融問(wèn)答、醫(yī)療對(duì)話等)。通過(guò)微調(diào),我們可以讓模型針對(duì)特定領(lǐng)域或業(yè)務(wù)場(chǎng)景進(jìn)行優(yōu)化,使其生成的內(nèi)容更貼合應(yīng)用場(chǎng)景。比如,針對(duì)醫(yī)療領(lǐng)域的應(yīng)用,我們可以用專業(yè)醫(yī)學(xué)數(shù)據(jù)對(duì)模型進(jìn)行微調(diào),直接影響到模型在具體場(chǎng)景中的表現(xiàn),讓它更懂醫(yī)學(xué)術(shù)語(yǔ)和診斷邏輯。
模型微調(diào)通??梢圆捎脙煞N不同的策略:
1. 全參數(shù)微調(diào)(Full Parameter Fine Tuning)
2. 部分參數(shù)微調(diào)(Sparse Fine Tuning)
一種是對(duì)模型的全部參數(shù)進(jìn)行重新訓(xùn)練,另一種則是僅針對(duì)部分參數(shù)進(jìn)行優(yōu)化。這兩種方法各有適用場(chǎng)景和技術(shù)特點(diǎn),選擇時(shí)需要結(jié)合具體業(yè)務(wù)需求和資源條件:
第一種策略,即全參數(shù)微調(diào),適用于對(duì)任務(wù)要求極高且模型需要徹底適配新場(chǎng)景的情況。通過(guò)重新訓(xùn)練模型的所有參數(shù),可以讓模型從底層到高層都貼合目標(biāo)任務(wù)。這種方法雖然靈活性最高,但對(duì)計(jì)算資源的要求較高,同時(shí)也需要較大的標(biāo)注數(shù)據(jù)集來(lái)支撐訓(xùn)練,否則容易出現(xiàn)過(guò)擬合或訓(xùn)練效果不佳的問(wèn)題。
第二種策略是部分參數(shù)微調(diào),通常 凍結(jié)部分模型層,僅調(diào)整特定層的參數(shù),或者采用類似“Adapter”模塊的方法,在原模型上增加小規(guī)模的可訓(xùn)練子模塊。這種方式顯著降低了計(jì)算成本,同時(shí)能夠保留原模型的知識(shí),避免對(duì)已有能力的過(guò)度擾動(dòng)。它特別適合數(shù)據(jù)量有限或計(jì)算資源受限的場(chǎng)景,也能快速適配新任務(wù)。
合理設(shè)計(jì)微調(diào)可以提升模型效果,但是由于模型微調(diào)存在成本高、周期長(zhǎng)、需要大量高質(zhì)量數(shù)據(jù)的特點(diǎn)。所以,在實(shí)際的項(xiàng)目中,微調(diào)不是常規(guī)首選,而是高投入、高門檻的進(jìn)階方法。
應(yīng)用層: RAG(檢索增強(qiáng)生成)(約 40%)
這部分可以理解為效率提升的關(guān)鍵工具。大模型雖然能生成內(nèi)容,但它并不總是能即時(shí)獲取最新或最準(zhǔn)確的信息。而通過(guò)檢索增強(qiáng)生成技術(shù),我們可以讓模型在生成內(nèi)容時(shí)動(dòng)態(tài)調(diào)用外部知識(shí)庫(kù)和與 query 相關(guān)的歷史對(duì)話。在實(shí)際應(yīng)用中,利用 RAG 是最具性價(jià)比的一種策略。與其花大力氣“教會(huì)模型理解所有內(nèi)容”,不如讓它“邊查邊答”。
一句話總結(jié):RAG =大模型+查資料能力。
有沒(méi)有使用 RAG 的區(qū)別,就像是大學(xué)期末考試,閉卷考試和開卷考試的區(qū)別:
(1)沒(méi)用 RAG 的模型回答問(wèn)題,只能回憶的學(xué)過(guò)的知識(shí)。傳統(tǒng)的大語(yǔ)言模型在生成內(nèi)容時(shí),只能依賴其訓(xùn)練數(shù)據(jù)和內(nèi)部參數(shù)(學(xué)過(guò)的知識(shí))進(jìn)行推理和生成。會(huì)生成一些看似合理但實(shí)際上并不準(zhǔn)確甚至不存在的信息,出現(xiàn)所謂的“幻覺(jué)”。
(2)有了 RAG 的模型回答問(wèn)題,先查重點(diǎn)再寫答案。這個(gè)查資料的能力,就是 RAG(Retrieval Augmented Generation),核心是檢索與生成,先通過(guò)檢索模塊從資料庫(kù)中找到與問(wèn)題相關(guān)的內(nèi)容,再將這些內(nèi)容與用戶的問(wèn)題一起傳遞給語(yǔ)言模型,即“用戶提示詞+查到的內(nèi)容”。
更準(zhǔn)確的來(lái)說(shuō),LLM 具體的輸入由幾個(gè)部分組成:
RAG 后的模型,它接收的輸入就是這樣一個(gè)經(jīng)過(guò)精心構(gòu)造的文本序列,檢索多種信息源保證知識(shí)的專業(yè)性和全面性,檢索 query 相關(guān)的歷史對(duì)話保證回答的準(zhǔn)確性,最終增強(qiáng)大模型生成回答的準(zhǔn)確性(即”檢索增強(qiáng)生成”)。
這樣就解決 LLM 本身的 2 兩大局限:
(1)知識(shí)是靜態(tài)的:在完成訓(xùn)練后,大模型的知識(shí)會(huì)被“保存”在其參數(shù)中,無(wú)法自主更新新聞、文檔或業(yè)務(wù)相關(guān)的信息。RAG通過(guò)外部知識(shí)庫(kù)動(dòng)態(tài)檢索相關(guān)信息,把這些信息拼接進(jìn)當(dāng)前輸入,保證提供給模型的背景信息的深度和廣度。
(2)上下文窗口限制:大語(yǔ)言模型一次只能“看”一定長(zhǎng)度的文字,就像人的視線只能看到一定距離內(nèi)的物體。這個(gè)能看多少字的長(zhǎng)度叫做上下文窗口,比如,模型的上下文窗口是4000個(gè)字(tokens),它一次最多只能處理4000個(gè)字的內(nèi)容,如果你給它的輸入超過(guò)4000個(gè)字,它只能看最靠近最后的4000個(gè)字,前面的就看不到了。
注釋:不同模型對(duì)相同文本的分詞規(guī)則不同,在大型語(yǔ)言模型中,漢字與token的換算比例通常為1個(gè)漢字≈1-2 tokens(具體差異取決于不同模型的分詞規(guī)則和字符類型)。
舉個(gè)例子,假設(shè)你和模型聊了很久,歷史對(duì)話有1萬(wàn)個(gè)字。但模型一次只能看到最近4000個(gè)字的對(duì)話內(nèi)容,之前的6000個(gè)字它“看不到”,就像被遮住了。所以,模型回答時(shí)只能基于最近4000個(gè)字里的信息。你當(dāng)場(chǎng)提問(wèn),RAG 當(dāng)場(chǎng)就去歷史對(duì)話和外部知識(shí)庫(kù)里檢索相關(guān)資料,從里面“挑出最重要的部分”,拼成一段不超過(guò)4000字的內(nèi)容,模型雖然還是只能看到4000字,但這4000字是“精選”的,包含了對(duì)回答最有用的信息。
模型本身的上下文窗口大小沒(méi)有變,但是RAG幫你從歷史和知識(shí)庫(kù)里選取重要內(nèi)容,拼成模型能處理的長(zhǎng)度,讓模型“看到”更有價(jià)值的信息,所以回答質(zhì)量大大提高了。
用戶體驗(yàn)層(10%)
最后才是用戶直接接觸的部分,產(chǎn)品的門面——包括界面設(shè)計(jì)、交互邏輯、功能設(shè)計(jì)以及用戶體驗(yàn)優(yōu)化。
并不是否認(rèn)用戶體驗(yàn)的重要性,再?gòu)?qiáng)大的模型,如果用戶在實(shí)際使用中覺(jué)得操作繁瑣或功能不夠貼心,都會(huì)影響產(chǎn)品的最終價(jià)值。但是在如今在移動(dòng)互聯(lián)網(wǎng)時(shí)代,我們已經(jīng)積累了相當(dāng)成熟的 UI/UX 技術(shù),用戶體驗(yàn)層已不是瓶頸。
四個(gè)層面環(huán)環(huán)相扣:大模型提供底層能力,微調(diào)讓能力適配場(chǎng)景,RAG 保證信息專業(yè)性和全面性,而應(yīng)用層則將技術(shù)轉(zhuǎn)化為用戶價(jià)值。
二、如何發(fā)揮RAG技術(shù)的最大效果?
在充分理解 RAG 的重要性之后,接下來(lái)我們將探討如何最大化其潛力:有效的 RAG 實(shí)施不僅依賴于合理設(shè)計(jì)的提示詞,還需要一些優(yōu)化技巧(考慮數(shù)據(jù)質(zhì)量、格式選擇、tokenn 限制等因素),才能確保系統(tǒng)能夠準(zhǔn)確、有效地生成所需信息。
三個(gè) RAG 提示詞模板——精準(zhǔn)地引導(dǎo) RAG 進(jìn)行信息檢索與生成
提示詞 1:需求識(shí)別/query改寫+精準(zhǔn)回答
問(wèn)題的表述方式對(duì)回答質(zhì)量有直接影響。如果用戶提出的問(wèn)題過(guò)于寬泛或模棱兩可,RAG可能會(huì)因?yàn)槿狈γ鞔_的方向而給出不準(zhǔn)確甚至錯(cuò)誤的回答。優(yōu)化問(wèn)題表述不僅能夠減少歧義,還能讓 RAG更專注于檢索到的信息,避免它憑空“腦補(bǔ)”或編造內(nèi)容,從而提升回答的精準(zhǔn)度。
用戶想了解 [ X ],但他在表達(dá)問(wèn)題時(shí),可能存在模糊或隱含的意圖, 需要你先通過(guò)精準(zhǔn)的語(yǔ)義分析來(lái)識(shí)別其真實(shí)需求,再結(jié)合以下知識(shí)庫(kù)的內(nèi)容,給出最清晰、最準(zhǔn)確的回答。
應(yīng)用場(chǎng)景:
(1) 問(wèn)題過(guò)于模糊:當(dāng)用戶的問(wèn)題缺乏明確指向時(shí),RAG可能會(huì)因?yàn)樾畔z索范圍過(guò)大而失去焦點(diǎn)。 例如,“如何提高效率?”這樣的提問(wèn)很難得到有價(jià)值的回答。結(jié)合上下文將 query 改寫為“在知識(shí)管理系統(tǒng)中, 如何利用 RAG 技術(shù)提高信息查詢效率?”,問(wèn)題的范圍和上下文就清晰了,回答也會(huì)更有針對(duì)性。
(2) 開放式提問(wèn):開放式問(wèn)題通??梢曰卮鸬木S度過(guò)多,容易讓模型生成泛泛而談的空話、套話。例如,“RAG 的優(yōu)勢(shì)是什么?”結(jié)合上下文將 query 改寫為“在處理非結(jié)構(gòu)化數(shù)據(jù)時(shí),RAG 相較于傳統(tǒng)檢索系統(tǒng)有哪些具體優(yōu)勢(shì)?” 引導(dǎo) RAG專注于特定領(lǐng)域,給到言之有物的具體回答。
提示詞 2:先分析推理再回答(COT)
在處理復(fù)雜問(wèn)題時(shí),信息量過(guò)大往往會(huì)導(dǎo)致模型缺乏邏輯性,給出混亂甚至錯(cuò)誤的答案,可以強(qiáng)制 RAG 先分析問(wèn)題,再逐步生成答案,進(jìn)而減少模型出現(xiàn)幻覺(jué)的概率。思維鏈 (Chain-of-Thought) 就是讓模型先按照明確的步驟進(jìn)行推理,而不是直接跳到最終答案。
這是用戶的問(wèn)題 [ X ]。用更簡(jiǎn)單的語(yǔ)言總結(jié)用戶問(wèn)題;挑選出最相關(guān)的文本片段。把這些片段整理成邏輯清晰的大綱,基于大綱撰寫一個(gè)完整、連貫的答案。請(qǐng)展示你的推理過(guò)程,并提供最終精煉后的答案。
應(yīng)用場(chǎng)景:
常用于對(duì)準(zhǔn)確性要求較高的任務(wù),例如金融分析、法律咨詢、醫(yī)學(xué)診斷等復(fù)雜場(chǎng)景,錯(cuò)誤或不嚴(yán)謹(jǐn)?shù)拇鸢缚赡軒?lái)嚴(yán)重后果。 需要模型有更強(qiáng)的邏輯能力(先列大綱保證結(jié)構(gòu)清晰),為用戶提供更加真實(shí)和精確的答案。同時(shí),推理過(guò)程透明可見(jiàn),如果答案有錯(cuò),也能輕松定位問(wèn)題。
提示詞 3:讓模型學(xué)會(huì)“say no”
這是用戶的問(wèn)題 [ X ]。如果你沒(méi)有檢索到相關(guān)的信息,請(qǐng)直接回答“我沒(méi)有相關(guān)信息”,如果你有足夠的信息來(lái)回答,就基于信息正?;卮?。
應(yīng)用場(chǎng)景:
(1) 在智能客服場(chǎng)景中,用戶提出的問(wèn)題可能超出知識(shí)庫(kù)范圍。此時(shí),讓機(jī)器人它直接禮貌地說(shuō)明“當(dāng)前信息不足,無(wú)法準(zhǔn)確回答”,并引導(dǎo)轉(zhuǎn)人工,可以避免對(duì)用戶的誤導(dǎo)。
(2) 在研究分的場(chǎng)景中,例如市場(chǎng)分析或科學(xué)研究,需要嚴(yán)謹(jǐn)?shù)臄?shù)據(jù)支持,該提示詞優(yōu)勢(shì)則更為明顯,它只會(huì)基于檢索到的可靠信息生成答案,不了解的予以回答。這種機(jī)制能夠確保輸出結(jié)果的可信度,避免因錯(cuò)誤信息導(dǎo)致決策偏差。
四個(gè) RAG 的優(yōu)化技巧——更好地發(fā)揮出 RAG 優(yōu)勢(shì)的策略細(xì)節(jié)
1) 清理和整理 RAG數(shù)據(jù)源:可以設(shè)定規(guī)則確保檢索出的信息足夠精準(zhǔn),并過(guò)濾掉無(wú)關(guān)內(nèi)容,提高系統(tǒng)整體的準(zhǔn)確性。比如,在一個(gè)電商產(chǎn)品知識(shí)庫(kù)中,定期刪除已下架產(chǎn)品的信息,避免 RAG 在回答關(guān)于產(chǎn)品的問(wèn)題時(shí)引用到無(wú)效內(nèi)容。
2) 限定回答的輸出格式 :不同的內(nèi)容類型,適合不同的輸出格式。在某些情況下,調(diào)整提示詞結(jié)構(gòu)能顯著提升 RAG 的回答質(zhì)量,如:
要點(diǎn)式總結(jié) :適用于技術(shù)性內(nèi)容,能讓信息更清晰易讀。比如總結(jié)代碼技術(shù)文檔時(shí),用要點(diǎn)式列出關(guān)鍵代碼功能、使用方法等。
請(qǐng)以要點(diǎn)的格式總結(jié)檢索到的代碼文檔:
– 代碼功能
– 使用方法
– 注意事項(xiàng)
問(wèn)答結(jié)構(gòu)(Q&A):適用于 FAQ 或知識(shí)庫(kù)查詢,便于模型精準(zhǔn)匹配答案。像常見(jiàn)問(wèn)題解答系統(tǒng),直接采用一問(wèn)一答的格式讓 RAG 更高效地給出回應(yīng)。
請(qǐng)根據(jù)以下常見(jiàn)問(wèn)題提供答案:
– 如何安裝軟件?
– 軟件的系統(tǒng)要求是什么?
– 如何聯(lián)系技術(shù)支持?
– …
表格格式:適用于信息比對(duì),比如產(chǎn)品參數(shù)、數(shù)據(jù)分析等場(chǎng)景。在對(duì)比不同品牌產(chǎn)品參數(shù)時(shí),用表格呈現(xiàn)數(shù)據(jù),RAG 能更直觀地進(jìn)行分析和回答。
請(qǐng)比較以下三款手機(jī)的參數(shù),并以表格形式呈現(xiàn):
– 品牌A:型號(hào)X
– 品牌B:型號(hào)Y
– 品牌C:型號(hào)Z
3)對(duì)信息進(jìn)行精簡(jiǎn),以減少 tokne 占用:通過(guò)摘要或預(yù)處理方法來(lái)精煉信息,確保 RAG 接收到的僅是最重要的數(shù)據(jù)。例如,在處理一篇冗長(zhǎng)的新聞報(bào)道時(shí),首先對(duì)其進(jìn)行摘要,并提取出關(guān)鍵內(nèi)容,然后再交給 RAG 模型,這樣既能夠保證信息的全面性,也不會(huì)超出 Token 的限制。
4)加入審核機(jī)制,確保答案可靠:在處理高風(fēng)險(xiǎn)場(chǎng)景時(shí),比如法律、醫(yī)療、金融領(lǐng)域,僅依賴 RAG(檢索增強(qiáng)生成)技術(shù)自動(dòng)生成的答案并不夠可靠。為了提升輸出的準(zhǔn)確性和可信度,需要引入額外的審核機(jī)制。
這里可以采用兩種方法:
- 輔助模型審核:引入第二個(gè)模型對(duì)初步生成的內(nèi)容進(jìn)行質(zhì)量檢查。這類模型可以專注于語(yǔ)言質(zhì)量、邏輯一致性或領(lǐng)域?qū)I(yè)性,例如用一個(gè)專門設(shè)計(jì)的語(yǔ)言質(zhì)量評(píng)估模型來(lái)審查RAG生成的法律文件解讀是否符合專業(yè)標(biāo)準(zhǔn),是否表達(dá)清晰且無(wú)歧義。如果發(fā)現(xiàn)問(wèn)題,可以針對(duì)具體問(wèn)題優(yōu)化生成邏輯或調(diào)整輸入數(shù)據(jù)。這種方式能夠在生成階段就發(fā)現(xiàn)潛在問(wèn)題,大大減少下一步人工二次審核的工作量。
- 人工二次審核:對(duì)于一些關(guān)鍵領(lǐng)域,比如醫(yī)療診斷或金融決策,單靠AI生成的初步結(jié)果是不夠的,必須增加人工審核環(huán)節(jié)。具體來(lái)說(shuō),RAG生成的內(nèi)容可以作為輔助參考,但還是要由領(lǐng)域?qū)<疫M(jìn)行全面復(fù)核。例如,在醫(yī)學(xué)場(chǎng)景中,AI生成的診斷建議需由專業(yè)醫(yī)生逐條審核,確保每一項(xiàng)建議都符合臨床實(shí)際,避免誤診或漏診。這種方式雖然增加了流程復(fù)雜性,但對(duì)于最終結(jié)果的可靠性至關(guān)重要,尤其是關(guān)乎生命安全或重大經(jīng)濟(jì)決策時(shí)。
兩種方法各有側(cè)重,可以根據(jù)場(chǎng)景需求組合使用。輔助模型審核適合大規(guī)模內(nèi)容審查,效率較高;人工復(fù)核則適用于關(guān)鍵環(huán)節(jié),確保最終輸出萬(wàn)無(wú)一失。
本文由 @黃曉澤 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
博主是不是要做AI產(chǎn)品經(jīng)理所需掌握知識(shí)的全部知識(shí)點(diǎn)拆解,RAG只是其中一個(gè)點(diǎn)
對(duì),一起學(xué)習(xí):)
寫得很好,希望快速更新