大模型才是智能體的核心,智能體的所有操作都是基于大模型完成的——智能體的執行過程 原創
“ 智能體的核心是LLM,方法是Prompt,重要組件是Tools。”
開發智能體有一個核心原則——那就是智能體的核心是大模型,不論多么復雜的智能體都是基于這個原則開發的。
為什么這么說?
原因就在于很多人沒有理解這句話,簡單來說就沒搞明白大模型的運行流程是什么樣的;而且面對市面上各種開發框架和開源項目,都把智能體的核心操作封裝起來了,而對于我們很多開發者來說,這些智能體的運行過程就是一個黑盒,也不懂得其中的原理。
因此,我們今天就主要來討論一下智能體的運作流程。
智能體的運作流程
從結構上來看智能體的構成很簡單,主要就是LLM+Prompt+Tools;但事實上智能體的核心只有一個,那就是LLM大模型。
Prompt提示詞是什么?
提示詞本質上就是一個與大模型交流的方式或者說渠道;大模型就類似于一個職業經理人,Prompt就類似于你和他簽的代理合同,而Tools工具就相當于你現在的公司。
當一個老板沒有時間或精力運營一家企業時,他可能會選擇一個職業經理人幫他運作這個企業;而智能體就類似于這么一個企業,你只需要告訴它你需要什么,然后讓它自己去做就行了。
你不需要關心它怎么做,以及它能不能做,只要你提供了足夠的工具,那么它就可以自己想辦法用這些工具解決問題。
所以,從智能體的三件套來看,Prompt提示詞是與大模型打交道的途徑,其和具體的功能和業務沒有關系;而工具只是工具,需要使用工具的時候就用,不需要使用工具的時候就不用;因此,工具并不是一個必須存在的東西。
所以,智能體運行的核心就是理解需求,然后自主判斷是否需要使用工具,最后再通過工具去完成一些任務。
在智能體中,工具扮演著什么樣的角色,以及其運行的流程是什么樣的?
在智能體中,會有一個工具列表,然后會告訴大模型這里面每個工具是干什么的,然后需要哪些參數,讓大模型根據自己的需要去使用不同的工具;也就是說由大模型自己生成工具所需要的參數,然后讓工具去執行;當執行完成之后,再拿到工具的執行結果,去分析是否完成任務,還是出現了某個問題,亦或者應該進行到下一步等等。
總之,大模型可以根據調用工具的結果判斷工具是否調用成功,如果調用失敗大模型可以再次生成請求參數重新調用工具。
而在langchain或langgraph這些開發框架在智能體中扮演著什么角色?
事實上langchain和langgraph中雖然封裝了很多和智能體相關的東西,但langchain的作用是讓智能體調用更加順暢,也就是鏈式調用;而langgraph的作用其實是數據共享,其本身并不會干涉智能體的調用過程,或者說并沒有參與到智能體的調用過程中。
總之,智能體的執行過程很簡單,但也很復雜;簡單就在于智能體的核心只要LLM和Tools,以及操作大模型的提示詞;復雜在于可以通過復雜的設計讓智能體完成復雜的任務,這種長鏈路調用,就會導致數據共享困難,出錯概率高,難排查等。
本文轉載自??AI探索時代?? 作者:DFires
