今天早上,OpenAI實施團隊的 @shyamal在Github上開源了Swarm這個OpenAI官方的多智能體框架。不得不說,OpenAI官方下場,獲得的社區(qū)影響就是不一樣,在微信群、朋友圈里已經出現大量的解析文章。這個多智能體框架確實已經把多智能體的關鍵,說的很透徹了,Swarm 里面定義了兩個
今天早上,OpenAI實施團隊的 @shyamal在Github上開源了Swarm,這個OpenAI官方的多智能體框架。OpenAI官方的影響力顯著,社區(qū)中已經出現大量解析文章,討論熱烈。
Swarm框架深入剖析了多智能體的關鍵,其中定義了兩個核心部分:「Agents」和「Handoffs」,多智能體的核心在于「Handoffs」。經過簡單的示例演示后,我認為這個多智能體框架還有改進的空間。借用云原生技術的發(fā)展歷程,我認為我們需要的智能體框架應該是類似于k8s的框架,而不是像docker swarm。如果你熟悉云原生技術,你可能會理解我的觀點。
單Agent部分,簡單封裝提示詞和使用函數調用就可以完成業(yè)務,OpenAI提供了一個/api/chatcompletions接口來幫助我們完成這一部分。市場上大量的Agent產品都停留在單Agent上,但是在「Handoffs」這一塊,Swarm的確做得非常優(yōu)雅。
個人觀點認為,Swarm的設計還不如我們的多智能體框架好用。我們的多智能體框架就像k8s,而Swarm則類似于docker swarm。我需要的是能像k8s一樣編排智能體的框架。我們在9月26日發(fā)布了多智能體的工業(yè)設計產品,詳見:智用研究院AI Agent Foundry賦能的首個多Agent驅動的工業(yè)設計平臺圓滿發(fā)布。
多智能體的核心難題在于不同智能體之間的通信問題。信息的傳遞方式和內容都非常重要。多個智能體協作時,只需要在必要的時候被調用起來。我們的智能體協作圖如下:
當我們的多智能體應用接收到用戶的請求時,借用Semantic kernel的設計理念實現“目標導向”的AI應用。這意味著它能夠幫助確定目標,然后尋找實現這些目標的方法和步驟。在“目標導向”的方法中,首先需要確定目標,然后通過規(guī)劃器(Planner)將目標分解為一系列需要執(zhí)行的任務。這些任務可以逐個執(zhí)行,以實現最終目標。這個過程對于人類來說是很自然的,但對于機器來說則相對復雜。借助LLM AI的力量,我們可以更輕松地實現這一過程。
這個接收到用戶請求的智能體我們稱之為路由智能體,他負責路由到具體執(zhí)行任務的任務智能體。我們的智能體框架的Planner也類似于OpenAI的Swarm的「Handoffs」處理了交接的邏輯,但我們的Planner要比Handoffs處理得更完美。OpenAI的Swarm目前還處于實驗階段,期望它能發(fā)展成為類似于k8s的多智能體編排框架。
這個框架是用Python編寫的,大家覺得用Python編寫多智能體應用是一個好選擇嗎?我個人認為,對于應用開發(fā)來說,Python并不是最佳選擇。Python之所以使用廣泛,是因為當前人工智能的主導者是算法工程師,他們習慣使用Python。隨著對復雜場景的人工智能應用需求增加,控制權逐步要回歸到應用開發(fā)者手中。對于復雜度高、需要長期維護的應用系統,使用類似C#、Java等業(yè)務系統開發(fā)類的編程語言更為合適。
小編推薦閱讀