構建AI Agent必學的四種設計模式,一文了解
鑒于我所在的公司正積極布局語音虛擬助手領域[1],我覺得有必要掌握相關的基礎知識和了解當前發(fā)展狀況。
在本文中,我們將一同探討 AI agents 設計中普遍采用的一些設計模式。
1.Reflection Pattern
該設計模式要求 Agents 能夠分析和提升自身性能。Agents 通過自我評估來精細化其輸出和決策流程。
Source: Author
這是一個比較簡單的設計模式,只需少量的代碼即可實現(xiàn)。
圖片
在以下場景中,reflection 設計模式的表現(xiàn)要優(yōu)于一般的大語言模型(LLM):
- 代碼優(yōu)化
- 對話回復
請查看下圖,您將觀察到語言模型是如何在對話回復和代碼優(yōu)化示例中逐步完善其輸出的。
Source: SELF-REFINE: Iterative Refinement with Sel
2.Tool Use Pattern
Source: Author
該模式的工作流程如下:
- 功能描述:為 LLM 提供一套詳盡的工具說明,包括各工具的功能及必要的參數(shù)。
- 工具選擇:根據(jù)當前面臨的任務,LLM 將決定調(diào)用哪個工具。
- 函數(shù)調(diào)用:LLM 生成特定的字符串來激活所選工具,通常需遵循一定的格式規(guī)范(如 JSON)。
- 執(zhí)行過程:在后續(xù)處理階段,系統(tǒng)會識別這些函數(shù)調(diào)用,執(zhí)行相應的操作,并將結果反饋給 LLM。
- 整合輸出:LLM 將工具的執(zhí)行結果融入其最終反饋中。
如果你一直關注技術動態(tài),并使用過 GPT,那你可能已經(jīng)意識到,它在處理某些任務時已經(jīng)能夠自動完成這些步驟了。
當 LLMs 能夠訪問成百上千的工具時,它們的能力將得到極大的擴展。
比如,Gorilla[2] 使得 LLMs 能夠通過調(diào)用 API 來使用工具。面對自然語言查詢,Gorilla 能夠找到在語義和語法上都恰當?shù)?API 進行調(diào)用。
借助 Gorilla,我們可以執(zhí)行超過 1,600 種(且數(shù)量不斷增長)的機器學習 API 調(diào)用。
他們提供的命令行界面(CLI)讓我們能夠以自然語言完成各項任務。例如,我們可以
$ gorilla generate 100 random characters into a file called test.txt
然后它就會顯示 CLI 命令:
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 100 | head -n 1 > test.txt
3.Planning Pattern
該模式的工作流程如下:
- 任務拆解:LLM 扮演控制器的角色,將一項任務拆分為多個細小、易于處理的子任務。
- 針對每個子任務,選取合適的特定模型來執(zhí)行。
- 這些特定模型完成子任務后,將結果反饋給控制器 LLM,由其整合并生成最終模型響應。
Source: Author
HuggingGPT 就是一個運用了 planning pattern 的實例。它將大語言模型(LLMs)與 Hugging Face[3] 平臺上豐富的模型生態(tài)系統(tǒng)相連接。
4.Multi-Agent Collaboration
Source: Author
該模式的工作流程如下:
- 特定角色智能體:每個智能體都有其特定職責,比如擔任軟件工程師、產(chǎn)品經(jīng)理或設計師等角色。
- 任務細分:將復雜任務拆分為更小的子任務,這些子任務可以由不同的智能體分別處理。
- 信息交流與行動協(xié)調(diào):智能體之間通過互動交流信息,并協(xié)調(diào)各自行動,共同推進項目目標的實現(xiàn)。
- 分布式解決問題:系統(tǒng)通過集合多個智能體的智慧和能力,來解決單個智能體難以應對的復雜問題。
目前,由于技術尚未成熟,現(xiàn)實世界中多智能體系統(tǒng)的應用并不廣泛。一個我所了解的例子是 ChatDev[4],這是一家由虛擬角色組成的軟件公司,包括 CEO、CTO 以及工程師等職位。
Andrew Ng 將“Planning”和“Multi-Agent Collaboration”模式劃分為難以預測的類型:
與“Planning”設計模式一樣,我發(fā)現(xiàn)“Multi-Agent Collaboration”的輸出質(zhì)量很難預測,尤其是當智能體可以自由互動并且擁有多樣的工具時。相比之下,更為成熟的“Reflection”和“Tool Use”模式則顯得更為穩(wěn)定可靠。—— Andrew Ng
Andrew Ng 的觀點提示我們,目前來看,前兩種模式更可能被現(xiàn)有的生產(chǎn)系統(tǒng)所采納。
Thanks for reading!
Hope you have enjoyed and learned new things from this blog!
About the authors
Lorenz Hofmann-Wellenhof
???? Software Engineer at Cresta ????. Born and raised in Austria ????, lived in NYC, Berlin & now Dubai ???? ?? Writing about tech & life experiences