今天小編分享的科學經驗:阿裏智能體“組裝工廠”開源!0經驗搞定上萬Agent并發,歡迎閲讀。
讓多智能體開發就像搭積木,阿裏巴巴通義實驗室開源多智能體編程框架與開發平台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 開源社區的建設,探索更多更有趣的多智能體應用。
AgentScope 開源倉庫地址:
https://github.com/modelscope/agentscope
歡迎試用:
https://agentscope.aliyun.com
— 完 —
投稿請發郵件到:
标題注明【投稿】,告訴我們:
你是誰,從哪來,投稿内容
附上論文 / 項目主頁鏈接,以及聯系方式哦
我們會(盡量)及時回復你
點這裏關注我,記得标星哦~
一鍵三連「分享」、「點贊」和「在看」
科技前沿進展日日相見 ~
>