讓多智能體開發就像搭積木,阿里巴巴通義實驗室開源多智能體程式框架與開發平台AgentScope。
該平台專為多智能體應用開發者打造,旨在提供高易用的編程體驗、穩定可靠的運行時保障,並且為開發者提供了分佈式和多模態的技術支持。
內建了OpenAI、DashScope、Gemini、Ollama等多種不同平台的模型API,深度相容當下的大模型開源生態。
AgentScope提供了多種開箱即用的功能,透過簡單拖曳就能建立多智慧體應用程式。
即使沒有分散式開發經驗的開發者,在AgentScope平台上也能輕鬆實現上萬層級的多智能體並發。
為了讓更多使用者能夠快速、輕鬆地開發屬於自己的多智能體應用。 AgentScope提供了以下功能:
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秒內完成64,000多次智能體的呼叫。這項特點使得智能體的大規模並行和模擬成為可能。
△本地模式轉換成分散式模式
AgentScope支援開發者使用多模態資料和多模態模型來建構強大的多智能體應用。為了讓開發者可以更直觀、便捷地與自己編排的多智能體應用交互,AgentScope提供了一款開發者友好、簡便易用的可交互式界面AgentScope Studio,讓文本、聲音、圖像等不同模態的數據得以生動呈現,確保了開發者能以最直觀的方式感受並調整自己創造的智能體應用。
△AgentScope Studio
接下來,AgentScope也將持續為開發者帶來更多的開發便利,也期待更多開發者加入AgentScope開源社群的建設,探索更多更有趣的多智能體應用。
AgentScope開源倉庫位址:
https://github.com/modelscope/agentscope
歡迎試用:
https://agentscope.aliyun.com
以上是阿里智能體「組裝工廠」開源! 0經驗搞定上萬Agent並發的詳細內容。更多資訊請關注PHP中文網其他相關文章!