關于Agent智能體的開發心得——從人的角度去理解智能體 原創
“ 智能體中,大模型就是人,工具就是人使用的工具,提示詞就是你想讓大模型做什么,以及怎么做。”
智能體作為AI領域潛力無限的一個應用方向,很多技術從業者都撲在了智能體上,同時也有更多的人想入行智能體開發;但面對智能體領域各種亂七八糟的新概念,新名詞很多人都不知道該從哪下手,以及怎么下手。
特別是智能體是結合大模型LLM+Prompt+Tools組成的一個復合概念;最重要的是很多人剛開始很難弄明白大模型都是干啥的,以及應該怎么干。
從人的角度理解大模型和智能體
事實上智能體的理解很簡單,就是一個人(LLM)+工具(Tools),然后再告訴它應該怎么做(prompt)。
舉個簡單的例子,某天你老板讓你把你現在做的業務給簡單介紹一下,并畫個流程圖啥的;這時你可以通過口述把你做的事情給描述一遍,這個你就是大模型;而老板的要求——介紹你現在做的業務,就是提示詞Prompt。
那么什么是智能體呢?
老板不但讓你介紹你做的工作,還讓你畫個流程圖什么的;這個流程圖應該怎么畫?
是拿張紙和筆用手畫,還是打開電腦用wps或者其它繪圖工具畫;這里的紙和筆或者電腦就是工具(Tools),讓你做什么事之前總需要給你工具才可以。
所以,智能體是什么?
智能體就是一個具備獨立思考能力的大模型(大腦),然后配備了多種工具(只不過需要告訴大模型這些工具都是干啥的,以及怎么用),最后再通過提示詞告訴大模型要做什么,然后讓大模型自己去思考,然后使用某個工具完成某件事情。
但是,大模型這個腦袋并不是萬能的,它也會犯錯而且可能會經常犯錯;哪怕是人腦很多時候溝通都會產生很大的偏差,所以基于大模型構建的智能體出現問題的可能性就更大了。
而且,程序員在開發接口或者工具的過程中,不同的接口或功能都會有其固定的格式;但大模型不同,根據業務需要可能大模型要集成多種不同的工具,而這些工具的參數和返回值格式都不盡相同,而這也為大模型的后續處理帶來很大的困難;特別是在多智能體交互的過程中。
所以,面對這種問題只能盡可能地去約束大模型或者工具的輸出結構,然后由大模型自動或者通過人工規則約束的方式來規范數據格式。
但這種方式也只能盡可能的降低智能體出錯的概率,而并不能完全避免出現問題;所以,在智能體的開發過程中需要有完善的容錯機制,才能讓智能體更穩定,更健壯。
還有一點就是,在這種長鏈路的執行過程中,數據在智能體或者在不同智能體之間的流轉就成了一個問題;而這種只能借助第三方或者獨立的數據流轉模塊;而在Langgraph中,就是通過狀態圖來實現的。
本文轉載自??AI探索時代?? 作者:DFires
