阿里智能體“組裝工廠”開源!0經驗搞定上萬Agent并發
阿里巴巴通義實驗室 投稿新火種 | 公眾號 QbitAI
讓多智能體開發就像搭積木,阿里巴巴通義實驗室開源多智能體編程框架與開發平臺AgentScope。
該平臺專門為多智能體應用開發者打造,旨在提供高易用的編程體驗、穩定可靠的運行時保障,并且為開發者提供了分布式和多模態的技術支持。
內置了OpenAI、DashScope、Gemini、Ollama等多種不同平臺的模型API,深度兼容當下的大模型開源生態。
AgentScope提供了多種開箱即用的功能,通過簡單拖拽就能搭建多智能體應用。
即使沒有分布式開發經驗的開發者,在AgentScope平臺上也能輕松實現上萬級別的多智能體并發。
為了讓更多用戶能夠快速、輕松地開發屬于自己的多智能體應用。AgentScope提供了以下功能:
拖拽式的編程范式——AgentScope Workstation:為用戶提供了可視化的拖拽式開發界面交互式編程助手——AgentScope Copilot:解答開發者關于AgentScope的疑問透明可控的開發過程——應用實時監控:實時監控應用運行成本、多智能體狀態,實現透明且可控的開發豐富的開發資源:助力快捷且方便的二次開發,搭建應用無需“從零開始”AgentScope Workstation
AgentScope Workstation提供了便捷的“拖拽式”多智能體應用編排范式。
在這里,編程經驗不再是限制你想象力的因素。每個開發者都可以在豐富的工具欄中,零代碼地挑選和拖拽出他們喜歡的大模型、智能體和 Pipeline,就像搭積木一樣自由組合,創造出獨特創新的多智能體應用。
為了確保這些通過拖拽搭建的多智能體應用真正可用,AgentScope Workstation引入了靜態規則檢查,以確保應用的正確性。
對于那些尋求進一步自定義和深度開發的高級開發者,AgentScope Workstation也提供了強大的支持。
開發者既可以將應用導出為配置信息,借助AgentScope Workstation引擎進行運行,也可以使用AgentScope Workstation Compiler將配置信息一鍵轉換成Python代碼。這樣,開發者便可以進一步編輯和優化代碼,實現更為精細和個性化的應用調整。
AgentScope Copilot
AgentScope Copilot是基于AgentScope框架自身構建的開發助手,旨在幫助開發者解決在多智能體應用開發過程中所遇到的問題,其技術實現結合了多智能體群聊(Multi-agent Conversation)、數據檢索生成(Retrieval-Augmented Generation,RAG)、智能體呼叫(Mention)等諸多特性。
在與AgentScope Copilot的交互中,開發者既可以與引導助手(Guide Assistant)進行交互,直接獲取幫助;也可以呼叫專用的智能體助手,例如問答助手(Tutoring Assistant)或者代碼編程助手(Coding Assistant),從而獲得更加專業、更加具體的回答。更具體而言,代碼編程助手可以幫助開發者快速理清框架內各個模塊的定義及使用方法,提供更優的編程建議。
值得一提的是,AgentScope Copilot本身基于AgentScope框架中的RAG模塊進行搭建,支持LlamaIndex等流行的數據檢索框架、以及多種向量數據庫類型,同時支持接入各種大語言模型。開發者可以進行快速的二次開發,輕松的搭建起自己項目的Copilot助手。
透明可控的開發過程
一個友好的應用開發過程,對開發者來說應該是可控的、透明的。
但是在多智能體場景下,模型API種類繁多,調用接口各異,如何有效管理和監控模型API的使用成本,避免資源浪費與意外開支,對資源監控能力提出了更高的挑戰。
例如,在使用搜索引擎時將一個復雜網頁作為大模型的輸入將引起高額的開銷,而開發者的感知往往滯后。為了解決這個問題,AgentScope設計了Monitor模塊,實現了:
API開銷自動統計:準確記錄不同模型API的token用量,并自動計算當前開銷,確保開發者對模型API成本的每一份支出都了如指掌。
預算設置及超額報警:支持開發者設定各模型API的預算上限。當總開銷超過預算時,系統自動觸發報警,及時通知開發者進行檢查和調整,避免超支的發生。
支持自定義監控指標:除了預設的模型API相關指標外,Monitor還允許開發者自定義其他監控指標,例如搜索工具的開銷,數據存儲服務的開銷,網絡流量等等,從而讓開發者能夠對應用的狀態進行全面且自動化的監控。
△ Monitor模塊
即拿即用的開發資源
AgentScope內置了豐富的工具函數、智能體和應用樣例,開發者可以通過輕量化的修改,輕松的開發屬于自己的多智能體應用。
工具函數:AgentScope支持包含網絡搜索、數據庫查詢、文件操作、文本處理等多種類型的工具函數,每種類目下又包含不同實現形式。例如網絡搜索層面,AgentScope已經支持Bing、arXiv和DBLP等多種搜索引擎。
智能體:AgentScope內置了功能各異的智能體,包含基礎對話、格式化對話、Reasoning、RAG、分布式等多種不同類型的智能體。開發者只需要使用不同的參數初始化智能體實例,就可以將智能體特化成自己需要的智能體實例。
應用樣例:AgentScope預置了包含對話(Conversation)、游戲(Game)、和分布式(Distribution)等多種不同類型的應用。一方面這些樣例可以幫助開發者降低開發代價,另一方面也為應用的開發提供了模版和參照。
為了讓開發者能夠更好、更快地了解AgentScope中的內置資源,AgentScope提供了豐富且詳細的文檔,包含教程(Tutorial)、接口文檔(API Document)和設計論文,幫助開發者更好的了解和使用AgentScope。
穩定可靠
基于大模型的多智能體應用會面臨模型幻覺、模型指令跟隨能力不足等諸多新的挑戰。為了保證多智能體應用能夠穩定可靠地運行,AgentScope首先將應用中出現的錯誤進行分類,然后相應地提供了一套完整的容錯機制和自定義的容錯處理。
面向隨機性的容錯:隨機性錯誤常常由網絡狀況不穩定,或者模型生成內容的不確定性引起,是基于大模型構建應用時最常見的一類錯誤。這類錯誤往往十分瑣碎且難以窮舉,因此AgentScope通過的內置重試機制,將此類隨機性的錯誤進行過濾和屏蔽,方便開發者將精力投入到應用的編排中。
基于規則的容錯:應用中遇到的部分錯誤可以通過規則進行修復。例如,要求大模型產生指定格式的回復時,大模型有時會產生額外的內容,因此可以通過預置的規則進行截斷,確保應用的正常運行。
基于模型的容錯:借助大模型自身能力進行糾錯是多智能體應用的特點之一,AgentScope會嘗試將輸入和錯誤信息提供給大模型,利用大模型的理解能力和知識來糾正錯誤。
面向智能體/開發者的容錯:當預置規則和大模型都無法解決錯誤時,往往需要開發者或者是智能體的介入才能解決問題,因此AgentScope在遇到此類錯誤的情況下,會將錯誤的格式化歸因、錯誤信息、輸入輸出信息完整的提交給開發者或智能體,從而幫助解決遇到的問題。
提示優化
多智能體應用性能的提升很大程度依賴大模型的提示(Prompt)質量,一個好的提示可以大幅提高應用運行成功的概率。AgentScope編程框架提供了提示調優模塊,助力開發者持續優化應用。
提示自動生成:對于開發者來說,產生一個好的提示往往是一件耗時耗力的事情。AgentScope預置了一個智能體,其內部通過上下文學習的方式(In-context learning,ICL),綜合開發者的應用場景,直接生成所需的提示,幫助開發者快速開始開發。
支持樣例輸入:在AgentScope中,開發者同時可以輸入若干樣例作為模板,AgentScope可以根據這些樣例,為特定的下游任務生成具體的提示詞。
提示動態調優:在應用運行過程中,大模型的提示詞還需根據運行情況做進一步的調整,例如添加新的規則以避免錯誤的產生。AgentScope將此過程自動化,在智能體與開發者、環境進行交互的過程中,其歷史數據將成為調整提示的依據;AgentScope根據當時的場景,修改智能體的系統提示(System prompt)從而在運行過程中提高智能體的表現。
分布式并行
作為一個多智能體編程框架,AgentScope在設計之初就將提升智能體之間的協作效率作為主要目標之一,并為此設計了分布式模式。在該模式中,多智能體可以運行在不同的進程和機器當中,從而充分利用計算資源,提高運行效率。AgentScope中的分布式主要具有以下特點:
自動并行優化:AgentScope中分布式的設計遵循Actor編程范式,可以自動識別應用流程編排中不同智能體之間潛在的并行可能性,并且進行自動并行優化,提升運行效率。同時各個智能體可以獨立運行在本地或者遠程機器上,能夠充分利用計算資源,支持大規模部署。
上手門檻極低:AgentScope向開發者完全屏蔽了分布式的技術實現細節,開發者可以零代價開發分布式多智能體應用,或者將已有的多智能體應用轉化成分布式模式運行。在轉化成分布式應用時,AgentScope中分布式應用編排與本地化的編排方式完全兼容,即使沒有分布式背景知識,開發者也能輕松編排分布式多智能體應用。
支持大規模部署:AgentScope目前支持在單臺機器(64核8卡A100)上一次性運行16000多個智能體實例,并且該規模能夠隨著機器數量的增加實現規模的線性增長。舉例來說,AgentScope在4臺機器的集群上可以在30秒內完成64000多次智能體的調用。這一特點使得智能體的大規模并行和仿真成為可能。
△本地模式向分布式模式轉換
多模態支持
AgentScope支持開發者使用多模態數據和多模態模型來構建強大的多智能體應用。為了讓開發者可以更加直觀、便捷地與自己編排的多智能體應用交互,AgentScope提供了一款開發者友好、簡便易用的可交互式界面AgentScope Studio,讓文本、聲音、圖像等不同模態的數據得以生動呈現,確保了開發者能以最直觀的方式感受并調整自己創造的智能體應用。
△AgentScope Studio
接下來,AgentScope還將持續為開發者帶來更多的開發便利,也期待更多開發者加入AgentScope開源社區的建設,探索更多更有趣的多智能體應用。
- 免責聲明
- 本文所包含的觀點僅代表作者個人看法,不代表新火種的觀點。在新火種上獲取的所有信息均不應被視為投資建議。新火種對本文可能提及或鏈接的任何項目不表示認可。 交易和投資涉及高風險,讀者在采取與本文內容相關的任何行動之前,請務必進行充分的盡職調查。最終的決策應該基于您自己的獨立判斷。新火種不對因依賴本文觀點而產生的任何金錢損失負任何責任。