微軟研究院發(fā)布無代碼開發(fā)工具 AUTOGEN STUDIO,簡化多智能體系統(tǒng)的構建與調試
多智能體系統(tǒng)(Multi-Agent Systems, MAS)是由多個智能體(agents)協(xié)同工作以解決復雜任務的系統(tǒng)。這些智能體可以是生成式 AI 模型、工具或其他計算單元,它們通過協(xié)作來完成單個智能體難以獨立完成的任務。多智能體系統(tǒng)在許多領域展現了其強大的應用潛力,包括自動駕駛、智能制造、金融分析和醫(yī)療診斷等。在這些應用中,多智能體系統(tǒng)能夠處理長時間運行的復雜任務,提供更高的靈活性和適應性。
盡管多智能體系統(tǒng)具有巨大的潛力,但其開發(fā)和調試過程卻充滿挑戰(zhàn)。開發(fā)者需要配置大量參數,包括選擇合適的模型、定義代理的技能和工具、設置通信和協(xié)調機制等。此外調試多智能體系統(tǒng)也非常復雜,開發(fā)者需要理解和分析代理之間的交互,以提取有用的信號來改進系統(tǒng)。這些因素使得多智能體系統(tǒng)的設計過程繁瑣且容易出錯,成為開發(fā)者進入這一領域的重大障礙。
為了解決上述挑戰(zhàn),微軟研究院發(fā)布AUTOGEN STUDIO,這是一種無代碼開發(fā)工具,旨在快速原型設計、調試和評估多智能體工作流。AUTOGEN STUDIO 提供了一個基于 Web 的界面和 Python API,允許開發(fā)者使用聲明式(基于 JSON)的規(guī)范來表示啟用 LLM 的代理。其主要功能包括:
- 拖放界面:通過直觀的拖放 UI 來定義和調試代理工作流。
- 交互式評估和調試:支持工作流的交互式評估和調試,提供可視化的消息和操作分析工具。
- 可重用組件庫:包含可重用和共享的代理組件庫,簡化了多智能體系統(tǒng)的開發(fā)過程。
- 開源實現:作為開源項目,AUTOGEN STUDIO 已獲得廣泛的用戶基礎,展示了多智能體開發(fā)工具的設計模式和未來研究方向。
研究團隊來自位于美國雷德蒙德的微軟研究院(Microsoft Research),他們在生成式 AI 模型、多智能體系統(tǒng)和開發(fā)者工具方面具有豐富的經驗和專業(yè)知識。團隊成員包括 Victor Dibia、Jingya Chen、Gagan Bansal、Suff Syed、Adam Fourney、Erkang Zhu、Chi Wang 和 Saleema Amershi。他們的工作為了在簡化多智能體系統(tǒng)的開發(fā)過程降低開發(fā)門檻,并通過開源實現促進這一領域的創(chuàng)新。AUTOGEN STUDIO 的開源實現不僅為開發(fā)者提供了強大的工具,還為研究和實踐提供了一個適合的平臺。(開源地址:https://github.com/microsoft/autogen/tree/autogenstudio/samples/apps/autogen-studio)
相關工作
生成式 AI 模型,如大型語言模型(LLMs),在許多任務中表現出色,但也存在一些局限性。一個主要問題是“幻覺”,即生成不基于事實的內容。此外,這些模型在推理任務或處理新穎的、分布外的問題時表現有限。為了解決這些問題,研究者們開始探索將生成式 AI 模型與各種工具結合使用的方法。
通過賦予模型使用工具的能力,可以顯著增強其性能。例如,React 框架采用了“推理和行動”范式,使用 LLMs 生成推理軌跡和任務特定的行動。這種方法不僅提高了模型的準確性,還增強了其在復雜任務中的適應性。其他框架如 LIDA 和 LangChain 也通過預定義的管道將模型和工具結合起來。然而隨著任務復雜性的增加,這些預定義管道的表現開始顯現出局限性,促使研究者探索更靈活和自適應的代理架構。
為了簡化多智能體應用的開發(fā),各種技術團隊的多個框架被提出。這些框架提供了創(chuàng)建多智能體應用的抽象層,使開發(fā)者能夠更容易地構建和管理復雜的多智能體系統(tǒng)。
AutoGen:這是一個開源的可擴展框架,允許開發(fā)者構建大型多智能體應用。AutoGen 提供了豐富的工具和接口,支持開發(fā)者定義和管理多智能體系統(tǒng)中的各個組件。
CAMEL:該框架通過角色扮演促進代理間的自主合作,使用引導提示來指導聊天代理完成任務,同時與人類意圖保持一致。
OS-Copilot:這是一個通用代理框架,能夠與操作系統(tǒng)中的各種元素(如網頁、代碼終端、文件、多媒體和第三方應用)進行交互。OS-Copilot 探索了使用專用規(guī)劃模塊、配置器和執(zhí)行器的概念,以及工具(Python 函數或 API 調用)或技能(可以即時學習和重用的工具)的使用。
盡管這些框架在多智能體系統(tǒng)的開發(fā)中提供了重要的支持,但它們也存在一些局限性。大多數框架主要支持代碼優(yōu)先的表示方式,這對非專業(yè)開發(fā)者來說門檻較高。此外,它們缺乏用于調試和評估代理行為的工具和指標,也缺乏結構化的可重用模板來加速工作流的創(chuàng)建過程。AUTOGEN STUDIO 通過提供可視化界面來定義和可視化代理工作流,測試和評估這些工作流,并提供常見任務的模板,解決了這些限制。
AUTOGEN STUDIO 的設計與實現
設計原則:無代碼多智能體開發(fā)工具的四個設計原則

圖1:AUTOGEN STUDIO提供了一個拖放式UI,可以在其中定義模型、技能/工具、內存組件,將其附加到代理和附加到工作流的代理。
AUTOGEN STUDIO 的設計基于以下四個核心原則:
快速原型設計:提供一個開發(fā)者可以快速指定代理配置并將其組合成多智能體工作流的環(huán)境。通過直觀的拖放界面,開發(fā)者可以輕松定義和調整代理的各個組件。
開發(fā)者工具:提供一系列工具,幫助開發(fā)者理解和調試代理行為,改進多智能體系統(tǒng)。這些工具包括消息和操作的可視化分析,以及調試和評估工作流的功能。
可重用模板:提供一個可重用和共享的模板庫,幫助開發(fā)者快速創(chuàng)建和部署多智能體工作流。這些模板促進了標準化和最佳實踐的應用,推動了多智能體系統(tǒng)的廣泛采用。
協(xié)作和共享:支持用戶在多智能體工作流開發(fā)中的協(xié)作,并允許在社區(qū)內輕松共享創(chuàng)作。通過提供實時協(xié)作、版本控制和無縫共享的工具和功能,促進了一個動態(tài)和創(chuàng)新的開發(fā)環(huán)境。
系統(tǒng)架構:AUTOGEN STUDIO 的前端和后端組件
AUTOGEN STUDIO 的系統(tǒng)架構包括前端用戶界面和后端 API 兩個主要部分。
用戶界面
- 構建視圖:在構建視圖中,用戶可以定義和組合多智能體工作流。通過拖放界面,用戶可以定義模型、技能/工具(如 Python 函數)和記憶存儲(如向量數據庫中的文檔)。這些實體可以獨立定義并保存,然后組合成代理和工作流。構建視圖還提供了一些默認的代理模板,如 UserProxy 代理、AssistantAgent 和 GroupChat 代理,幫助用戶快速創(chuàng)建工作流。
- 游樂場視圖:游樂場視圖允許用戶創(chuàng)建會話,附加工作流并運行任務。用戶可以在會話中測試和調試工作流,觀察代理執(zhí)行的消息和操作,并通過后期分析視圖查看任務的各種指標,如消息數量、成本、工具使用頻率和狀態(tài)。
- 模板庫視圖:模板庫視圖提供了一個組件庫,包含技能、模型、代理和工作流,用戶可以導入、擴展和重用這些組件。每個組件規(guī)范都是聲明式的(JSON),用戶可以輕松導出、版本化和重新共享它們。
后端 API

圖2:AUTOGEN STUDIO提供了一個后端api(web、python、cli)和一個UI,該UI實現了游樂場(如圖所示)、構建和庫視圖。在操場視圖中,用戶可以根據工作流在會話中運行任務。用戶還可以觀察代理采取的操作,基于分析器模塊查看代理消息和指標。
- Web API:后端 Web API 使用 FastAPI 庫構建,支持 HTTP GET、POST 和 DELETE 方法。主要類包括 DBManager、WorkflowManager 和 Profiler。DBManager 負責對技能、模型、代理、記憶、工作流和會話等實體進行 CRUD 操作。WorkflowManager 處理聲明式代理工作流的攝取,將其轉換為 AUTOGEN 代理對象并執(zhí)行任務。Profiler 解析代理消息以計算指標。
- Python API:Python API 提供了與 Web API 類似的功能,允許開發(fā)者在 Python 環(huán)境中定義和管理多智能體工作流。開發(fā)者可以使用 Python 代碼導入和運行工作流,進行任務執(zhí)行和結果分析。
- 命令行接口:命令行接口提供了啟動捆綁 UI 和運行導出工作流的實用程序。用戶可以通過命令行啟動 AUTOGEN STUDIO 的 UI,并將工作流作為 API 端點執(zhí)行,或將其打包為 Docker 容器進行大規(guī)模部署。

清單1:AUTOGEN STUDIO可以從PyPI(pip)安裝,UI從命令行啟動。

清單2:可以在python應用程序中導入工作流。
通過這些設計原則和系統(tǒng)架構,AUTOGEN STUDIO 為開發(fā)者提供了一個強大且易用的工具,簡化了多智能體系統(tǒng)的開發(fā)、調試和部署過程。
使用和評估
自 AUTOGEN STUDIO 發(fā)布以來,該工具包在 GitHub 上獲得了廣泛的關注和使用。在短短五個月內,AUTOGEN STUDIO 已被安裝超過 20 萬次,并收到了超過 135 個 GitHub 問題。這些問題反映了用戶在使用過程中遇到的各種痛點,并為工具的改進提供了寶貴的反饋。
主要的用戶反饋和相應的改進,用戶在定義、保存和重用組件時遇到了困難。為了解決這一問題,開發(fā)團隊實現了一個數據庫層,簡化了組件的管理和重用。用戶在創(chuàng)作組件時感到困難。為此,AUTOGEN STUDIO 增加了從描述中自動生成工具的功能,并集成了一個用于編輯工具的集成開發(fā)環(huán)境(IDE)。用戶在進行端到端測試時,組件經常失敗。為了解決這一問題,開發(fā)團隊在構建視圖中添加了一個測試按鈕,允許用戶在工作流中測試組件(如模型)。這些改進顯著提升了用戶體驗,使得 AUTOGEN STUDIO 更加易用和高效。
AUTOGEN STUDIO 提供了一個強大的平臺,支持開發(fā)者快速原型設計、測試和調試多智能體工作流。以下是一個典型的使用案例,展示了該工具的實際應用。
快速原型設計:開發(fā)者可以使用 AUTOGEN STUDIO 的拖放界面快速定義和組合多智能體工作流。例如,開發(fā)者可以定義一個生成式 AI 模型,添加相應的技能和工具,并將其組合成一個代理。然后,開發(fā)者可以將多個代理組合成一個工作流,以解決復雜任務。
測試和調試:在游樂場視圖中,開發(fā)者可以創(chuàng)建會話,附加工作流并運行任務。通過觀察視圖,開發(fā)者可以實時查看代理執(zhí)行的消息和操作,并通過后期分析視圖查看任務的各種指標,如消息數量、成本、工具使用頻率和狀態(tài)。這些功能幫助開發(fā)者理解和調試多智能體系統(tǒng)的行為,改進系統(tǒng)性能。
部署和共享:一旦工作流經過測試和調試,開發(fā)者可以將其導出為 JSON 配置文件,并無縫集成到任何 Python 應用中,或作為 API 端點執(zhí)行,或打包為 Docker 容器進行大規(guī)模部署。此外,開發(fā)者還可以將工作流和組件發(fā)布到模板庫,與社區(qū)共享,促進協(xié)作和創(chuàng)新。

圖3:AUTOGEN STUDIO倉庫中的GitHub問題圖(n=8個集群)。用戶反饋范圍從支持工作流創(chuàng)作工具(例如,配置和測試模型的能力)到一般安裝。
通過這些功能,AUTOGEN STUDIO 顯著降低了多智能體系統(tǒng)的開發(fā)門檻,使開發(fā)者能夠更輕松地配置、調試和優(yōu)化這些系統(tǒng),從而加速了這一領域的創(chuàng)新和應用。
新興設計模式和研究方向
定義和組合工作流
在多智能體系統(tǒng)中,配置和管理大量參數是一個復雜的任務。AUTOGEN STUDIO 采用了“定義和組合”工作流的方法,通過直觀的拖放界面,用戶可以首先獨立定義各個組件(如模型、技能、工具和記憶存儲),然后將這些組件組合成代理,并最終形成完整的多智能體工作流。這種方法不僅簡化了工作流的創(chuàng)建過程,還提高了開發(fā)者的理解和配置效率。AUTOGEN STUDIO 提供了定義和測試模型的工具、用于生成和編輯工具的集成開發(fā)環(huán)境(IDE),以及基于畫布的工作流可視化布局,支持拖放交互以關聯(lián)工作流中的實體。
調試和理解工具
多智能體工作流可能由于多種原因而失敗,從模型配置不當到代理指令不明確,再到工具配置錯誤或終止條件設置不當。為了幫助用戶調試和理解多智能體系統(tǒng)的行為,AUTOGEN STUDIO 提供了強大的調試工具。這些工具包括觀察視圖和后期分析視圖。觀察視圖允許用戶實時查看任務進展中代理執(zhí)行的消息和操作,而后期分析視圖則可視化任務的各種指標,如消息數量、成本、工具使用頻率和狀態(tài)。這些工具幫助用戶識別和解決問題,改進系統(tǒng)性能。
導出和部署
盡管無代碼工具如 AUTOGEN STUDIO 能夠快速迭代和演示工作流,但開發(fā)者通常希望將這些成果集成到核心應用中。為此,AUTOGEN STUDIO 支持將多智能體工作流無縫導出為 JSON 配置文件,并集成到任何 Python 應用中。用戶還可以將工作流作為 API 端點執(zhí)行,或打包為 Docker 容器進行大規(guī)模部署。這種無縫導出和部署功能使得開發(fā)者能夠輕松地將多智能體工作流應用于實際生產環(huán)境中,提升了工具的實用性和靈活性。
協(xié)作和共享
協(xié)作和共享是加速創(chuàng)新和改進多智能體系統(tǒng)的關鍵。AUTOGEN STUDIO 通過提供實時協(xié)作、版本控制和無縫共享的工具和功能,促進了用戶在多智能體工作流開發(fā)中的協(xié)作。用戶可以在模板庫中發(fā)布和共享他們的工作流、技能和代理,其他用戶可以導入、擴展和重用這些組件。這種社區(qū)驅動的方法不僅促進了知識和經驗的共享,還推動了多智能體系統(tǒng)的廣泛應用和創(chuàng)新。
通過這些新興設計模式和研究方向,AUTOGEN STUDIO 為多智能體系統(tǒng)的開發(fā)提供了一個強大且易用的平臺,顯著降低了開發(fā)門檻,促進了這一領域的快速發(fā)展和應用。
研究方向
在多智能體系統(tǒng)的開發(fā)過程中,評估代理的性能、可靠性和可重用性是至關重要的。離線評估工具可以幫助開發(fā)者在不影響實際運行的情況下,全面測試和分析代理的表現。這些工具可以回答以下問題:
- 如何衡量代理在不同任務中的性能?
- 如何評估代理的可靠性和穩(wěn)定性?
- 如何理解代理的優(yōu)缺點,并探索替代方案和結果?
通過開發(fā)這些離線評估工具,研究人員可以更好地理解代理的行為,優(yōu)化其性能,并確保系統(tǒng)在實際應用中的可靠性。
多智能體系統(tǒng)的設計決策對其整體性能和效率有著深遠的影響。研究人員需要量化這些設計決策的影響,以確定最佳的系統(tǒng)配置。
這包括:
- 確定給定問題的最佳代理數量和組成。
- 分配職責和協(xié)調行動的最佳方式。
- 集中控制與分散控制、同質代理與異質代理之間的權衡。
通過量化這些設計決策的影響,研究人員可以優(yōu)化多智能體系統(tǒng)的設計,提高其解決復雜任務的能力。
多智能體系統(tǒng)需要具備動態(tài)適應能力,以應對不斷變化的任務需求和環(huán)境條件。研究方向包括:
- 基于任務需求和可用資源動態(tài)生成代理。
- 調整工作流配置以實現最佳性能。
- 適應不斷變化的環(huán)境和用戶偏好。
此外,研究人員還需要探索如何利用人類監(jiān)督和反饋來提高代理的可靠性、任務性能和安全性。這些優(yōu)化方法將有助于多智能體系統(tǒng)在實際應用中更加高效和靈活。
通過這些未來研究方向的探索,AUTOGEN STUDIO 將進一步提升多智能體系統(tǒng)的開發(fā)和應用水平,推動這一領域的創(chuàng)新和發(fā)展。
結論
AUTOGEN STUDIO 是一個無代碼開發(fā)工具,旨在簡化多智能體系統(tǒng)的構建、調試和評估過程。其主要特點和貢獻包括:
無代碼界面:提供直觀的拖放界面,使開發(fā)者能夠輕松定義和組合多智能體工作流,降低了開發(fā)門檻。
交互式調試和評估:支持實時觀察和后期分析,幫助開發(fā)者理解和優(yōu)化多智能體系統(tǒng)的行為和性能。
可重用組件庫:包含豐富的可重用和共享的代理組件,促進了標準化和最佳實踐的應用。
開源實現:作為開源項目,AUTOGEN STUDIO 已獲得廣泛的用戶基礎,展示了多智能體開發(fā)工具的設計模式和未來研究方向。
這些特點使得 AUTOGEN STUDIO 成為一個強大且易用的平臺,顯著降低了多智能體系統(tǒng)的開發(fā)復雜性,促進了這一領域的創(chuàng)新和應用。
未來的研究方向將進一步提升 AUTOGEN STUDIO 的功能和應用水平,推動多智能體系統(tǒng)的開發(fā)和優(yōu)化。
離線評估工具:開發(fā)用于衡量代理性能、可靠性和可重用性的工具,將幫助開發(fā)者更好地理解和優(yōu)化代理的行為。
多智能體系統(tǒng)設計決策的影響:量化多智能體系統(tǒng)設計決策的影響,有助于確定最佳的系統(tǒng)配置,提高系統(tǒng)的整體性能和效率。
優(yōu)化多智能體系統(tǒng):研究動態(tài)生成代理、調整工作流配置和適應環(huán)境變化的方法,將增強多智能體系統(tǒng)的靈活性和適應性。
通過這些研究方向的探索,AUTOGEN STUDIO 將進一步降低多智能體系統(tǒng)的開發(fā)門檻,提升其在實際應用中的性能和可靠性,推動這一領域的快速發(fā)展和廣泛應用。未來,隨著更多創(chuàng)新和改進的實現,AUTOGEN STUDIO 有望成為多智能體系統(tǒng)開發(fā)的標準工具,促進這一領域的持續(xù)進步和突破。(END)
參考資料:???https://arxiv.org/pdf/2408.15247??
本文轉載自 ??大噬元獸??,作者: FlerkenS

















