關(guān)于Agent在實際開發(fā)過程中遇到的問題記錄 原創(chuàng)
?“ Agent智能體技術(shù)理論和實際操作完全是兩碼事,這也是為什么市場一直有人說還看不到大模型的應(yīng)用價值。”
最近在做基于Agent的數(shù)據(jù)分析功能,主要使用大模型和工具來實現(xiàn);通過大模型自主分析的能力獲取數(shù)據(jù)的分析結(jié)果,然后調(diào)用工具來進行繪圖;開發(fā)框架使用的是Langchain和Langgraph。
但是本來以為是一個很簡單的事情,但等到真正操作起來時才發(fā)現(xiàn);其過程遠比自己想象中的要復(fù)雜得多。果然是紙上得來終覺淺,絕知此事要躬行。
Agent實際開發(fā)中存在的問題
Agent智能體技術(shù),可以說是一個入門特別簡單,但真實落地特別復(fù)雜的一門技術(shù);在真正使用Agent技術(shù)之前,本以為不過是定義幾個函數(shù),然后讓大模型自己去調(diào)用就行了。
但在實際的業(yè)務(wù)場景中,Agent的使用遠比理論要復(fù)雜;技術(shù)真的是一個實踐性很強的東西。
以這次做數(shù)據(jù)分析遇到的問題來說,使用Langchain官方提供的pandas工具來實現(xiàn)數(shù)據(jù)分析功能;然后使用第三方開源的MCP服務(wù)做繪圖工具。
如果單純的使用pandas工具進行數(shù)據(jù)分析,雖然因為模型的原因其分析效果可能并不是很準確,但至少表面上看起來還有個分析的樣子,也能給出一個看起來比較合理的結(jié)果。
但等到把pandas分析工具和繪圖工具結(jié)合起來之后其效果就明顯差了不少,甚至生成的結(jié)果和給出的數(shù)據(jù)完全無關(guān);
如下圖所示,但提供的數(shù)據(jù)源明明是自己手動模仿的一個班級成績表,而結(jié)果和學(xué)生一點關(guān)系都沒有。
所以這里遇到的第一個問題就是,雖然大模型+工具可以實現(xiàn)Agent的功能,而且可以使用Langchain提供的Langsmith監(jiān)控Agent的執(zhí)行過程;但從根本上來說,Agent的執(zhí)行過程是完全不可控的,特別是這個Agent的功能比較復(fù)雜的時候。
因此,由于單個復(fù)雜Agent的執(zhí)行過程不可控,且效果不太好;因此,就只能換個思路,把一個Agent拆分成多個Agent,比如說第一個Agent不添加繪圖工具,只實現(xiàn)數(shù)據(jù)分析的功能;然后再用另一個Agent實現(xiàn)繪圖的功能。
這樣兩個Agent雖然實現(xiàn)起來更復(fù)雜一點,但從執(zhí)行過程上來看其相對是可控的;即使其中某個Agent的效果不好或有什么問題,那么可以隨時換成另一個;而這也剛好符合軟件設(shè)計中的解耦思想。
雖然從理論上來說,把一個Agent拆分成兩個或多個Agent使得執(zhí)行過程更加可控,且也能達到相同的效果。
但等到真正把Agent拆分之后又發(fā)現(xiàn)了一個新的問題,那就是多個Agent之間怎么協(xié)同;從執(zhí)行邏輯上來看,應(yīng)該是先調(diào)用數(shù)據(jù)分析Agent,然后再調(diào)用繪圖Agent;但這里就有一個問題,怎么控制其執(zhí)行順序。
雖然可以通過硬編碼的方式讓兩個Agent順序執(zhí)行,但這同樣會面臨一個問題。如果需求突然不需要繪圖工具了怎么辦,或者說需要根據(jù)用戶的語義判斷是否需要生成圖表,這時硬編碼的方式就不合適了。
其次,在多個Agent執(zhí)行過程中,數(shù)據(jù)怎么進行流轉(zhuǎn),使用硬編碼的方式,還是其它方式?
雖然在Langgraph中提供了狀態(tài)圖,可以用來控制數(shù)據(jù)的流轉(zhuǎn);但并不是每個Agent輸出的都是格式化的數(shù)據(jù),特別是在具體需求不明的情況下,需要根據(jù)用戶的需求生成不同格式化的數(shù)據(jù);這時數(shù)據(jù)的格式化就成了一個難題。
雖然可以讓大模型自己解析上層Agent輸出的數(shù)據(jù),但大模型本身就是不可控;這也意味著整個系統(tǒng)的穩(wěn)定性是不可控的。
所以,在這種相對復(fù)雜的應(yīng)用場景下,使用單個或多個Agent實現(xiàn)業(yè)務(wù)功能都存在各種各樣的問題;而遇到這種問題應(yīng)該怎么解決?
說實話遇到這種問題作者也沒什么好的解決方案;只能盡量保證每個環(huán)節(jié)達到最優(yōu)解,最后得到整體最優(yōu)解。
?
本文轉(zhuǎn)載自??AI探索時代??? 作者:DFires
