精選聯盟

阿裡智能體“組裝工廠”開源!0經驗搞定上萬Agent并發

作者:量子位

阿裡巴巴通義實驗室 投稿

量子位 | 公衆号 QbitAI

讓多智能體開發就像搭積木,阿裡巴巴通義實驗室開源多智能體程式設計架構與開發平台AgentScope。

該平台專門為多智能體應用開發者打造,旨在提供高易用的程式設計體驗、穩定可靠的運作時保障,并且為開發者提供了分布式和多模态的技術支援。

内置了OpenAI、DashScope、Gemini、Ollama等多種不同平台的模型API,深度相容當下的大模型開源生态。

AgentScope提供了多種開箱即用的功能,通過簡單拖拽就能搭建多智能體應用。

即使沒有分布式開發經驗的開發者,在AgentScope平台上也能輕松實作上萬級别的多智能體并發。

阿裡智能體“組裝工廠”開源!0經驗搞定上萬Agent并發

為了讓更多使用者能夠快速、輕松地開發屬于自己的多智能體應用。AgentScope提供了以下功能:

  • 拖拽式的程式設計範式——AgentScope Workstation:為使用者提供了可視化的拖拽式開發界面
  • 互動式程式設計助手——AgentScope Copilot:解答開發者關于AgentScope的疑問
  • 透明可控的開發過程——應用實時監控:實時監控應用運作成本、多智能體狀态,實作透明且可控的開發
  • 豐富的開發資源:助力快捷且友善的二次開發,搭建應用無需“從零開始”

AgentScope Workstation

AgentScope Workstation提供了便捷的“拖拽式”多智能體應用編排範式。

在這裡,程式設計經驗不再是限制你想象力的因素。每個開發者都可以在豐富的工具欄中,零代碼地挑選和拖拽出他們喜歡的大模型、智能體和 Pipeline,就像搭積木一樣自由組合,創造出獨特創新的多智能體應用。

為了確定這些通過拖拽搭建的多智能體應用真正可用,AgentScope Workstation引入了靜态規則檢查,以確定應用的正确性。

對于那些尋求進一步自定義和深度開發的進階開發者,AgentScope Workstation也提供了強大的支援。

開發者既可以将應用導出為配置資訊,借助AgentScope Workstation引擎進行運作,也可以使用AgentScope Workstation Compiler将配置資訊一鍵轉換成Python代碼。這樣,開發者便可以進一步編輯和優化代碼,實作更為精細和個性化的應用調整。

阿裡智能體“組裝工廠”開源!0經驗搞定上萬Agent并發

AgentScope Copilot

AgentScope Copilot是基于AgentScope架構自身建構的開發助手,旨在幫助開發者解決在多智能體應用開發過程中所遇到的問題,其技術實作結合了多智能體群聊(Multi-agent Conversation)、資料檢索生成(Retrieval-Augmented Generation,RAG)、智能體呼叫(Mention)等諸多特性。

在與AgentScope Copilot的互動中,開發者既可以與引導助手(Guide Assistant)進行互動,直接擷取幫助;也可以呼叫專用的智能體助手,例如問答助手(Tutoring Assistant)或者代碼程式設計助手(Coding Assistant),進而獲得更加專業、更加具體的回答。更具體而言,代碼程式設計助手可以幫助開發者快速理清架構内各個子產品的定義及使用方法,提供更優的程式設計建議。

阿裡智能體“組裝工廠”開源!0經驗搞定上萬Agent并發

值得一提的是,AgentScope Copilot本身基于AgentScope架構中的RAG子產品進行搭建,支援LlamaIndex等流行的資料檢索架構、以及多種向量資料庫類型,同時支援接入各種大語言模型。開發者可以進行快速的二次開發,輕松的搭建起自己項目的Copilot助手。

阿裡智能體“組裝工廠”開源!0經驗搞定上萬Agent并發

透明可控的開發過程

一個友好的應用開發過程,對開發者來說應該是可控的、透明的。

但是在多智能體場景下,模型API種類繁多,調用接口各異,如何有效管理和監控模型API的使用成本,避免資源浪費與意外開支,對資源監控能力提出了更高的挑戰。

例如,在使用搜尋引擎時将一個複雜網頁作為大模型的輸入将引起高額的開銷,而開發者的感覺往往滞後。為了解決這個問題,AgentScope設計了Monitor子產品,實作了:

API開銷自動統計:準确記錄不同模型API的token用量,并自動計算目前開銷,確定開發者對模型API成本的每一份支出都了如指掌。

預算設定及超額報警:支援開發者設定各模型API的預算上限。當總開銷超過預算時,系統自動觸發報警,及時通知開發者進行檢查和調整,避免超支的發生。

支援自定義監控名額:除了預設的模型API相關名額外,Monitor還允許開發者自定義其他監控名額,例如搜尋工具的開銷,資料存儲服務的開銷,網絡流量等等,進而讓開發者能夠對應用的狀态進行全面且自動化的監控。

阿裡智能體“組裝工廠”開源!0經驗搞定上萬Agent并發

△ 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多次智能體的調用。這一特點使得智能體的大規模并行和仿真成為可能。

阿裡智能體“組裝工廠”開源!0經驗搞定上萬Agent并發

△本地模式向分布式模式轉換

多模态支援

AgentScope支援開發者使用多模态資料和多模态模型來建構強大的多智能體應用。為了讓開發者可以更加直覺、便捷地與自己編排的多智能體應用互動,AgentScope提供了一款開發者友好、簡便易用的可互動式界面AgentScope Studio,讓文本、聲音、圖像等不同模态的資料得以生動呈現,確定了開發者能以最直覺的方式感受并調整自己創造的智能體應用。

阿裡智能體“組裝工廠”開源!0經驗搞定上萬Agent并發

△AgentScope Studio

接下來,AgentScope還将持續為開發者帶來更多的開發便利,也期待更多開發者加入AgentScope開源社群的建設,探索更多更有趣的多智能體應用。

AgentScope開源倉庫位址:

https://github.com/modelscope/agentscope

歡迎試用:

https://agentscope.aliyun.com

— 完 —

量子位 QbitAI · 頭條号簽

關注我們,第一時間獲知前沿科技動态約