模型和工具在智能體中扮演的角色——智能體的運行流程 原創
“ 決定智能體質量的核心是工具,模型只是決定使用哪個工具。”
這幾天有個需求是把傳統RAG(naive rag)改成主動式RAG(Agentic RAG),原因是因為傳統RAG只能進行簡單的語義檢索,無法進行條件式的數據篩選。
在前面的文章也簡單介紹過傳統RAG和主動RAG的區別,前者基于語義相似性,后者基于數據處理;前者是靜態的,后者是動態的。
舉例來說就是,我問社保和社保數據是不一樣的;前者是問與社保相關的政策和基本常識,后者是問我交了多少錢,能領多少補助。
一個是問概念,一個是查數據。
理解智能體
之所以寫這篇文章的原因,作者本來是想趁周末把主動式RAG的功能給搞個初版出來,然后后面能夠輕松一點;但等到真正去做的時候,突然發現自己好像不知道智能體是什么了;雖然從概念上知道智能體是模型和工具的結合體,但從實際操作上突然不知道該怎么下手了。
這種現象也不是第一次出現,在之前也出現過了解一個新的技能時剛開始感覺自己什么都學會了,想通了但突然有一天發現好像什么都忘了,然后過段時間又慢慢回想起來了,這時你發現對這項技能的理解都不一樣了。
這可能就是人生三境界中的看山是山——看山不是山——看山又是山吧。
之所以突然搞不明白的原因是,因為業務場景比較復雜,既需要條件查詢也需要相似度查詢;但為了保證召回率,好像又都需要。這時使用工具和不使用工具好像并沒什么區別了。
使用工具的目的本來就是想更準確的召回數據,但如果召不回,那還要工具干嘛。

然后這個問題想了一天都沒想明白,本來想的是再想不明白就先動手做一下,因為很多事情是想不明白的,但做著做著就明白了。
但今天晚飯后出門散步,也可能是因為心情放松了,然后改進思路就打開了。
從業務上來說,我需要的是智能體能夠更準確的召回數據;但從技術上來說,智能體只是一個讓大模型使用工具的技術棧。
而從運行流程上來講,大模型用來理解和分析用戶問題,并且根據工具的定義來選擇合適的工具并生成參數。
因此,主動式RAG的核心是讓模型選擇合適的工具,并且這個工具能夠返回準確的數據。

然后我們雖然能盡量告訴模型選擇哪個工具,但我們無法決定模型選擇哪個工具;因此,我們只能盡量保證工具返回數據的質量,所以這就是我們解決問題的突破口。
怎么讓工具召回更高質量的數據呢?
那就是使用更好的查詢方式,比如條件查詢肯定會比相似度查詢更準確。
智能體的核心是工具,大模型只負責決定調用哪個工具,以及調用工具的參數,而大模型最終生成的效果是由工具返回的數據質量決定的。
本文轉載自???AI探索時代?? 作者:DFires

















