弄明白智能體的運作流程,才能知道智能體目前存在那些問題,以及應該怎么解決 原創
“ 智能體的運作流程非常復雜和不可控,因此需要其它解決方案來解決這些問題。”
從結構上來看智能體的實現非常簡單,就是大模型LLM+工具Tools;而構建工具主要有兩種方式,Function call和MCP協議。但由于智能體是由大模型自己決定怎么使用工具,以及怎么處理工具需要的參數和返回值。
而這個過程對技術人員是完全不可控的,因此這一點也是智能體執行過程中主要的困難點和風險點;特別是在多鏈路的工具調用過程中,比如說讓模型找到某個景點附近的酒店,并根據要求訂房間。
這個時候智能體就需要先執行搜索的功能,再執行下單的功能;而如果在復雜業務場景中,可能需要的鏈路更長,需要的工具更多;但大模型在這種長距離的思維鏈路中,很容易產生問題。
因此,才有了多智能體架構的出現,也就是每個智能體只負責單一的功能邏輯,然后把多個智能體組合成一個大的復雜的智能體。但這樣同樣會產生一些問題,那就是多智能體之間的通訊問題。
而且,在真實的業務場景中,很多業務功能不僅僅只依靠智能體來完成,可能還需要其它業務處理或人工參與;這時一旦出現問題,怎么快速定位問題和解決問題是一個需要思考的問題。
而解決這些問題的前提,就是我們要明白智能體的執行邏輯,這樣我們才能知道智能體執行出現問題可能產生的原因。
智能體的執行流程
事實上很多人認為的智能體就是給大模型加一些外部工具,而由此組成的結構就是一個智能體;包括作者剛開始也是這么認為,這種想法雖然不能說有錯;但事實上存在一些認知偏差,或者說這可以認為是狹義上的智能體。
智能體(Agent)是指能夠感知環境并采取行動以實現特定目標的代理體。它可以是軟件、硬件或一個系統,具備自主性、適應性和交互能力。智能體通過感知環境中的變化(如通過傳感器或數據輸入),根據自身學習到的知識和算法進行判斷和決策,進而執行動作以影響環境或達到預定的目標。
以上是百度百科關于智能體的定義,從上面可以看出智能體并不是簡單的多模型+工具;而是一個能夠感知環境并采取行動以實現特定目標的代理體,其主要特點是具備自主性,適應性和交互能力。
所以只需要具備上述特征的系統都可以被稱為智能體;而目前的智能體主要依靠大模型來實現,原因就在于目前的大模型具備很強的自主規劃能力,然后還可以使用外部工具執行動作。
那為什么說由大模型+工具實現的智能體是狹義上的智能體呢?
因為,這樣是最簡單的智能體結構;但真實場景中的業務流程遠遠超過了這種簡單結構的處理能力;所以,才需要在智能體系統中加入工作流,用戶接口等。
并且,為了保證系統的正常運行和中斷運行,需要在系統中斷之后還能恢復到之前的狀態,因此還需要保存智能體執行過程中的實時數據。
而這些操作雖然從理論上說起來很簡單,但在實際操作過程中卻面臨著各種各樣的問題和困難點;特別是隨著智能體架構的調整,其某些功能點可能需要重新設計和實現。
而由于大模型本身的不確定性,更為整個智能體系統增加了更多的不可控因素。
比如說這時可能需要進行容錯處理,在大模型執行出現問題時,能夠提供重試機制或人工介入處理等。
本文轉載自??AI探索時代?? 作者:DFires
