自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

探索智能代理增強檢索生成(Agentic RAG):從基礎(chǔ)到實踐 原創(chuàng)

發(fā)布于 2025-3-25 09:36
瀏覽
0收藏

引言:檢索增強生成的演進

在人工智能領(lǐng)域,大語言模型(LLMs)雖成果豐碩,但也有明顯短板。模型訓(xùn)練時存儲的知識,可能因時間推移而過時,或存在范圍局限。檢索增強生成(Retrieval - Augmented Generation, RAG)應(yīng)運而生,它將大語言模型的輸出與外部知識源相連,有效增強了模型能力。

傳統(tǒng)RAG系統(tǒng)處理用戶查詢流程較為固定。用戶提問后,系統(tǒng)先把查詢送入嵌入模型生成向量嵌入,再用其在向量數(shù)據(jù)庫搜索相關(guān)文檔,接著將檢索到的上下文與原始查詢整合,輸入大語言模型生成答案。整個過程線性推進,缺乏反復(fù)推理環(huán)節(jié)。

探索智能代理增強檢索生成(Agentic RAG):從基礎(chǔ)到實踐-AI.x社區(qū)

然而,傳統(tǒng)RAG的弊端也很突出。工作流程靜態(tài)線性,初始檢索若失敗,最終答案質(zhì)量就難以保證。并且,進行相似性搜索時,直接使用用戶原始查詢,若查詢表述與文檔差異大,搜索效果便大打折扣。另外,它缺乏內(nèi)置推理、規(guī)劃及策略調(diào)整機制,面對復(fù)雜或多步驟查詢時力不從心。

為突破這些困境,智能代理增強檢索生成(Agentic RAG)誕生了。Agentic RAG把人工智能代理嵌入RAG管道,讓大語言模型具備自主決策能力,能決定何時檢索、檢索什么、如何整合結(jié)果,甚至何時向用戶請求說明。憑借基于代理系統(tǒng)的規(guī)劃、工具使用和自我完善原則,Agentic RAG構(gòu)建了更靈活智能的檢索工作流程,為復(fù)雜問題的解決提供了新途徑。

Agentic RAG與標準RAG的區(qū)別

探索智能代理增強檢索生成(Agentic RAG):從基礎(chǔ)到實踐-AI.x社區(qū)

工作流程

標準RAG采用一次性檢索和生成序列,面對查詢僅檢索一次就生成答案。而Agentic RAG工作流程靈活且可迭代,由代理推理引導(dǎo)。代理能執(zhí)行多輪檢索/生成,拆解復(fù)雜問題或中途改變策略。比如,用戶詢問復(fù)雜多面的問題,標準RAG可能僅依據(jù)一次檢索給出不完整答案,而Agentic RAG的代理會經(jīng)推理決定多次檢索,從不同知識源獲取信息,進而生成全面精準的答案,凸顯其處理復(fù)雜任務(wù)的優(yōu)勢。

決策與適應(yīng)性

標準RAG系統(tǒng)檢索后就結(jié)束,不檢查答案是否完善。Agentic系統(tǒng)則適應(yīng)性強,代理能評估中間結(jié)果,若當(dāng)前上下文信息不足,會決定檢索更多信息或換用其他工具。例如,用戶查詢某事件詳情,標準RAG可能僅檢索到基礎(chǔ)事實就生成答案,而Agentic RAG的代理若覺得信息不全面,會再次檢索或調(diào)用網(wǎng)絡(luò)搜索API獲取更多信息,生成更完整準確的答案。

工具使用與數(shù)據(jù)源

傳統(tǒng)RAG一般只連接單個知識源,如某文檔向量數(shù)據(jù)庫。Agentic RAG的代理則可調(diào)用多個知識庫和多種工具。例如,處理用戶查詢時,代理既能從私人文檔索引檢索,也能調(diào)用網(wǎng)絡(luò)搜索API,還能使用計算器或其他API。這種多工具運用能力,使Agentic RAG可按需從結(jié)構(gòu)化數(shù)據(jù)庫、非結(jié)構(gòu)化文本、網(wǎng)絡(luò)等多種數(shù)據(jù)源獲取信息,極大拓展了信息獲取范圍。

自我反思與準確性

標準RAG模型不會自我檢查答案,答案正確性依賴用戶或開發(fā)人員判斷。Agentic RAG代理具備自我反思能力,能形成反饋循環(huán)。比如,檢索上下文并起草答案后,代理會檢查問題是否回答全面,若有不足,會獲取更多信息或優(yōu)化查詢。通過迭代改進,答案準確性不斷提高,為用戶提供更可靠服務(wù)。

可擴展性與復(fù)雜性

Agentic RAG可讓多個代理和工具協(xié)同工作,適用范圍更具擴展性,能處理多樣查詢類型和不同數(shù)據(jù)源信息。例如,可部署由專門代理組成的網(wǎng)絡(luò),分別負責(zé)查詢內(nèi)部文檔、API或網(wǎng)絡(luò),由主代理協(xié)調(diào)。但這也導(dǎo)致系統(tǒng)復(fù)雜性大幅增加,包括代理交互管理、工具集成及多輪對話狀態(tài)維持等,都需投入更多精力和資源。

多模態(tài)性

傳統(tǒng)RAG主要進行文本檢索,Agentic RAG借助先進大語言模型代理,可融入多模態(tài)數(shù)據(jù)。隨著多模態(tài)大語言模型發(fā)展,代理能檢索和推理圖像、音頻等數(shù)據(jù)類型。比如,代理可從數(shù)據(jù)庫獲取圖像,用圖像字幕模型解讀后融入答案,這種多模態(tài)處理能力是傳統(tǒng)RAG所不具備的。

Agentic RAG架構(gòu)深度剖析

從宏觀看,Agentic RAG架構(gòu)在常規(guī)檢索和生成組件之上新增代理層,該代理層可為單個強大代理,也可為多代理系統(tǒng)。

單代理RAG架構(gòu)

單代理RAG架構(gòu)中,代理如同查詢工作流程的智能“指揮者”,涉及以下組件:

  1. 用戶查詢:用戶以自然語言提出的問題或任務(wù)。
  2. 代理(LLM):由大語言模型或其與編程邏輯組合而成,經(jīng)特定提示或設(shè)計,可決定行動。能調(diào)用向量數(shù)據(jù)庫查找、網(wǎng)絡(luò)搜索等工具,通過思維鏈提示確定各步驟行動。
  3. 知識源/工具:包含向量數(shù)據(jù)庫、關(guān)鍵字搜索引擎、各類API及從屬代理等,其中至少有一個可獲取查詢相關(guān)上下文的檢索器。
  4. 生成模型:通常代理自身就是生成答案的大語言模型(前提是收集到足夠信息),也可能委托單獨大語言模型實例生成答案,本質(zhì)上都是大語言模型負責(zé)推理和回答。

單代理系統(tǒng)處理查詢流程如下:

  1. 代理決策——是否需要檢索:代理研究查詢及對話上下文(若為多輪對話),判斷是否需要外部信息。簡單事實性問題可能直接搜索知識庫,直白或常識性問題也可能不檢索直接回答,但多數(shù)系統(tǒng)習(xí)慣先嘗試檢索。
  2. 代理決策——選擇工具/源:確定檢索后,代理挑選合適工具或數(shù)據(jù)源。如有多個向量索引,會選最可能含答案的;針對當(dāng)前事件查詢,會在向量數(shù)據(jù)庫和網(wǎng)絡(luò)搜索API間抉擇。
  3. 制定檢索查詢:代理構(gòu)思輸入檢索工具的查詢內(nèi)容,可直接用用戶問題,也可重新表述,高級代理還會采用查詢擴展等技術(shù)提升檢索效果。
  4. 檢索并觀察:檢索工具返回候選文檔或數(shù)據(jù),代理審視結(jié)果,判斷能否回答問題,若結(jié)果不佳,會返回前序步驟調(diào)整。
  5. 生成答案:代理收集到足夠信息或確定檢索無幫助后,用大語言模型撰寫答案,檢索上下文會用于提示,代理思維過程也會影響答案構(gòu)建。

簡化的代理循環(huán)代碼如下:

while True:
    action = agent.plan(next_step, context_so_far)
    if action.type == "SEARCH":
        tool = action.tool_selection   # 例如 "VectorDB" 或 "WebSearch"
        query = action.formulated_query
        results = tool.run(query)
        agent.observe(results)
    elif action.type == "ANSWER":
        final_answer = agent.generate_answer(context_so_far)
        break

循環(huán)持續(xù)至代理認為可輸出答案或達最大步驟限制。

探索智能代理增強檢索生成(Agentic RAG):從基礎(chǔ)到實踐-AI.x社區(qū)

多代理RAG系統(tǒng)

復(fù)雜應(yīng)用場景可采用多代理RAG系統(tǒng),多個代理分工明確。如:

  1. Web代理:專門查詢外部網(wǎng)絡(luò)資源。
  2. DB代理:主要查詢內(nèi)部數(shù)據(jù)庫。
  3. 協(xié)調(diào)代理:將問題分配給合適專家代理,并匯總結(jié)果。

探索智能代理增強檢索生成(Agentic RAG):從基礎(chǔ)到實踐-AI.x社區(qū)

多代理設(shè)置下,代理可相互調(diào)用,以完成特定子任務(wù)。實際應(yīng)用中,多代理RAG可能呈層級或網(wǎng)絡(luò)結(jié)構(gòu),各代理協(xié)作完成復(fù)雜任務(wù)。像IBM的Agentic RAG系統(tǒng),一個代理查詢外部數(shù)據(jù)庫,另一個梳理內(nèi)部郵件和數(shù)據(jù),由協(xié)調(diào)代理整合輸出形成最終答案,這種設(shè)計雖增加復(fù)雜性,但提升了系統(tǒng)穩(wěn)定性和專業(yè)性。

探索智能代理增強檢索生成(Agentic RAG):從基礎(chǔ)到實踐-AI.x社區(qū)

Agentic RAG的實現(xiàn)細節(jié)

以LangChain為例搭建Agentic RAG系統(tǒng):

設(shè)置檢索的知識庫

先準備知識源,通常為文檔向量存儲,操作與標準RAG類似。

from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import FAISS
# 假設(shè)文檔列表docs_list
text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50)
docs = text_splitter.create_documents(docs_list)
# 創(chuàng)建嵌入并在FAISS中索引
embedding_model = OpenAIEmbeddings()  # 使用OpenAI嵌入(需API密鑰)
vector_store = FAISS.from_documents(docs, embedding_model)

代碼將文檔分割為約500字符小塊,創(chuàng)建嵌入存入FAISS索引,以便vector_store根據(jù)新查詢嵌入查詢相似文檔。

為代理定義工具

至少定義一個檢索工具包裝向量存儲調(diào)用。

from langchain.agents import Tool

# 定義查詢向量存儲函數(shù)
def vector_search(query: str) -> str:
    """在向量數(shù)據(jù)庫中搜索相關(guān)文檔,并返回結(jié)果的連接字符串。"""
    docs = vector_store.similarity_search(query, k=3)
    # 組合檢索到的文檔的內(nèi)容(可能帶有元數(shù)據(jù)或片段格式)
    return"\n".join([doc.page_content for doc in docs])
# 創(chuàng)建檢索工具
retrieval_tool = Tool(
    name="VectorDB",
    func=vector_search,
    descriptinotallow="從知識庫中檢索相關(guān)文檔。"
)
# (可選)定義網(wǎng)絡(luò)搜索工具(模擬)
def web_search(query: str) -> str:
    # 實際網(wǎng)絡(luò)搜索API調(diào)用占位符
    # 實踐中使用SerpAPI或Bing API等
    return fake_web_search_api(query)
search_tool = Tool(
    name="WebSearch",
    func=web_search,
    descriptinotallow="在網(wǎng)絡(luò)上搜索最新信息。"
)

創(chuàng)建的VectorDB和WebSearch工具,接受字符串輸入,返回檢索文本,供代理按名稱調(diào)用。

探索智能代理增強檢索生成(Agentic RAG):從基礎(chǔ)到實踐-AI.x社區(qū)

初始化代理

選擇大語言模型為代理推理提供動力,初始化可調(diào)用工具的代理。

from langchain.chat_models import ChatOpenAI
from langchain.agents import initialize_agent
# 為代理初始化語言模型(用聊天模型)
llm = ChatOpenAI(model_name="gpt - 4", temperature=0)  # 或選其他大語言模型
# 使用工具創(chuàng)建代理,設(shè)置詳細輸出觀察思維過程
agent = initialize_agent(
    tools=[retrieval_tool, search_tool],
    llm=llm,
    agent="zero - shot - react - description",  # 用基于ReAct的代理
    verbose=True
)

代碼設(shè)置提示策略,讓代理大語言模型學(xué)會使用工具,運行時輸出思維過程。

提問(代理行動)

準備好代理后輸入用戶查詢獲取答案:

query = "標準RAG和Agentic RAG的主要區(qū)別是什么?"
response = agent.run(query)
print("代理的答案:", response)

代理內(nèi)部思考回答,可能先使用VectorDB工具查詢,若知識庫有相關(guān)文章,向量搜索會返回內(nèi)容,代理讀取后繼續(xù)操作。若問題復(fù)雜,可能調(diào)用WebSearch或優(yōu)化問題后再次查詢。

替代實現(xiàn)方法

除LangChain,還可用Autogen、CrewAI等框架實現(xiàn)Agentic RAG邏輯。核心都是定義知識源、包裝成工具,在循環(huán)中提示大語言模型使用工具得出答案。實現(xiàn)復(fù)雜程度可靈活調(diào)整,從簡單的提示邏輯到完全自主決策代理,通常從簡單方法入手,如允許一次額外檢索的兩步RAG,常能有效提高答案準確性。

性能和可擴展性比較

答案質(zhì)量和成功率

Agentic RAG旨在提升復(fù)雜查詢成功率,通過多次檢索和智能查詢構(gòu)造,挖掘傳統(tǒng)RAG遺漏信息。Hugging Face團隊研究表明,代理方法能重拾先進RAG技術(shù),找到傳統(tǒng)RAG錯過的信息。實際場景中,如100道難題,傳統(tǒng)RAG可能答對60道,采用兩步檢索的Agentic RAG答對題數(shù)可能提升至75道,尤其在法律、醫(yī)療等對答案準確性要求高的領(lǐng)域,意義重大。

計算開銷和延遲

Agentic RAG對資源需求更高,多次調(diào)用大語言模型代理推理,加上頻繁檢索操作,增加查詢延遲和計算成本。Qdrant文章指出,標準RAG一次大語言模型調(diào)用即可快速出答案,Agentic RAG代理可能多次調(diào)用,延遲累積。例如普通RAG 2秒響應(yīng),Agentic RAG因運行步驟多,可能需5到10秒。雖對許多交互應(yīng)用延遲可接受,但影響吞吐量,相同硬件下每秒處理查詢數(shù)量減少。可通過限制代理步驟或選用更快但準確性稍低的模型緩解。

數(shù)據(jù)源的可擴展性

Agentic RAG在數(shù)據(jù)源可擴展性方面優(yōu)勢顯著,能協(xié)調(diào)管理多個數(shù)據(jù)源,可隨業(yè)務(wù)發(fā)展為代理添加工具或索引。IBM研究表明,RAG代理網(wǎng)絡(luò)可利用多個數(shù)據(jù)孤島,處理復(fù)雜查詢擴展性強。傳統(tǒng)RAG面對大規(guī)模數(shù)據(jù)時,如向量索引過大,會出現(xiàn)檢索慢、結(jié)果不準確問題,而Agentic RAG代理可智能路由查詢到合適子索引,適應(yīng)數(shù)據(jù)增長,雖每個查詢處理速度降低,但系統(tǒng)覆蓋范圍和靈活性提升。

基準測試考慮

評估Agentic RAG與標準RAG性能,常用答案準確性、F1值、檢索召回率及平均延遲等指標。目前雖無專門標準化基準測試,但研究人員已優(yōu)化問答基準測試以適應(yīng)多步驟檢索評估。社區(qū)實驗顯示,代理方法處理邊緣情況表現(xiàn)更好,失敗查詢減少。對答案準確性要求高、需減少模型幻覺的應(yīng)用,Agentic RAG值得考慮;追求快速響應(yīng)簡單查詢的場景,傳統(tǒng)簡單RAG即可滿足需求。

系統(tǒng)復(fù)雜性和維護

Agentic RAG系統(tǒng)組件多、交互復(fù)雜,維護和擴展挑戰(zhàn)大??赡艹霈F(xiàn)代理陷入工具調(diào)用循環(huán)等問題,開發(fā)人員需追蹤代理推理步驟,借助Arize的Phoenix或LangSmith等工具調(diào)試。工程實踐中,需花費更多時間調(diào)整提示策略、確定代理停止時機及更新維護知識源,增加了系統(tǒng)開發(fā)和運維成本。

Agentic RAG的挑戰(zhàn)與未來

關(guān)鍵挑戰(zhàn)

  1. 復(fù)雜性與可調(diào)試性:Agentic RAG系統(tǒng)比標準RAG管道復(fù)雜,管理多代理或工具及其交互困難,易出現(xiàn)代理無限檢索循環(huán)或選錯工具等問題。需詳細記錄代理思維鏈以便調(diào)試,建立完善監(jiān)控體系。提示設(shè)計不當(dāng)還會導(dǎo)致代理誤解指令或錯誤使用工具。
  2. 延遲與成本:迭代特性增加推理成本,對實時性要求高或預(yù)算有限的應(yīng)用不利。需合理設(shè)置超時或步驟限制,部分代理框架采用緩存中間結(jié)果策略降低延遲和成本,但緩存機制也需額外資源和管理。
  3. 數(shù)據(jù)質(zhì)量與知識邊界:依賴底層數(shù)據(jù)質(zhì)量,知識庫不完整、有錯誤或偏差,會導(dǎo)致代理檢索到誤導(dǎo)性信息,且代理自主性可能使其超出預(yù)設(shè)邊界,引入無關(guān)或不安全信息,需確保代理遵循數(shù)據(jù)訪問策略。
  4. 安全與倫理問題:代理自主性增強,若未嚴格沙盒化,可能執(zhí)行危險操作。需研究增強代理可信度方法,如評估大語言模型輸出可信度、多代理相互批判等,但并非絕對可靠。同時要注意倫理問題,防止代理獲取版權(quán)文本或不適當(dāng)內(nèi)容。
  5. 評估:評估Agentic RAG系統(tǒng)難度大,傳統(tǒng)答案準確性指標外,代理決策過程評估復(fù)雜,需考慮步驟數(shù)量、工具選擇是否最優(yōu)等。研究定義針對代理的評估指標,如“工具使用效率”,但大語言模型隨機性導(dǎo)致評估可重復(fù)性受挑戰(zhàn),生產(chǎn)系統(tǒng)中仍存在可變性。

未來趨勢與發(fā)展

  1. 更好的代理框架:未來有望出現(xiàn)更成熟易用的代理框架,簡化構(gòu)建和約束代理過程。如微軟Autogen庫支持更結(jié)構(gòu)化定義多代理對話和工具使用,未來框架可能集成安全檢查、循環(huán)檢測及常見應(yīng)用模式優(yōu)化功能,降低開發(fā)門檻。
  2. 規(guī)劃算法的集成:研究將經(jīng)典規(guī)劃或強化學(xué)習(xí)與大語言模型代理結(jié)合,使Agentic RAG更系統(tǒng)決定檢索順序,減少對大語言模型不穩(wěn)定推理的依賴,讓代理行為更可預(yù)測和優(yōu)化。
  3. 從反饋中學(xué)習(xí):未來基于學(xué)習(xí)的代理將成主流,可根據(jù)用戶反饋或操作演示微調(diào)策略。如通過多步驟搜索示例微調(diào)大語言模型,使其學(xué)會不同情況下檢索次數(shù),實現(xiàn)元學(xué)習(xí),提升智能水平。
  4. 多模態(tài)和多步驟推理:隨著大語言模型多模態(tài)能力提升,Agentic RAG將向多模態(tài)拓展。代理可檢索圖像、圖表等多模態(tài)信息融入答案,甚至觸發(fā)計算操作,成為通用問題解決助手。
  5. 與知識圖譜和符號人工智能的融合:結(jié)合大語言模型代理與知識圖譜或數(shù)據(jù)庫,實現(xiàn)更深入基于知識的推理。Agentic RAG可借助知識圖譜驗證答案一致性,神經(jīng)符號人工智能探索將非結(jié)構(gòu)化信息轉(zhuǎn)化為結(jié)構(gòu)化形式,提升推理能力。
  6. 標準化和最佳實踐:隨著Agentic RAG應(yīng)用案例增加,將總結(jié)出涵蓋系統(tǒng)設(shè)計到應(yīng)用各方面的最佳實踐指南,如代理數(shù)量選擇、查詢路由策略設(shè)計及用戶后續(xù)問題處理等。社區(qū)已分享應(yīng)用模式經(jīng)驗,為設(shè)計者提供參考。

結(jié)論

Agentic RAG是檢索增強生成理念的重大創(chuàng)新,賦予大語言模型規(guī)劃、調(diào)用工具和迭代能力,構(gòu)建的系統(tǒng)能處理復(fù)雜查詢、整合多元數(shù)據(jù)源、優(yōu)化答案質(zhì)量。它推動人工智能系統(tǒng)能力提升,為工程師開啟構(gòu)建高自主性智能應(yīng)用的大門。

隨著技術(shù)發(fā)展,Agentic RAG將在未來人工智能應(yīng)用中發(fā)揮關(guān)鍵作用,帶來創(chuàng)新機遇,在學(xué)術(shù)、商業(yè)及日常生活智能化等方面展現(xiàn)巨大潛力,引領(lǐng)人工智能邁向新高度。


本文轉(zhuǎn)載自公眾號Halo咯咯    作者:基咯咯

原文鏈接:??https://mp.weixin.qq.com/s/xJJT5A0Textp8bBb3itdkA??


?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦