新智元報道
編輯:桃子
【新智元導讀】AutoGPT之后,AutoGen逆襲成功。
AI智能體熱度,只增不減。
發布僅2周,微軟、PSU和華盛頓大學等團隊開發的智能體AutoGen瞬間登頂Github熱榜,狂攬10k星。
這是一個讓LLM智能體相互聊天,進而解決任務的框架,可定制、可對話,并允許人類無縫參與。
它還可以直接替代OpenAI.Completion或openai.ChatCompletion作為增強型推理 API。
現在,你只需要幾行代碼,就能完成非常復雜的任務。
對此,研究人員還發布了一份關于AutoGen的43頁技術報告。
論文地址:https://arxiv.org/pdf/2308.08155.pdf
接下來,一起來看看這個爆火項目背后的技術吧。
動嘴做任務
若想使用,首先得安裝AutoGen。需要Python/ target=_blank class=infotextkey>Python版本>=3.8版本,只需一步,非常簡單。
然后,就能上手用了。
比如,我想要一個股價可視化圖,首先自定義一個「編碼智能體」,能夠下載數據并繪制圖表。
然后,自定一個「user proxy agents」,去做跑代碼、獲取結果等任務。
最后一步,給定明確任務——繪制一份Meta和微軟當前YTD股價圖。
然后,兩個智能體便開始對話,忙著去做表了。
當然了,不僅2個智能體,你還可以添加更多AI幫你干活,比如再自定義一個「產品經理」,讓它去腦暴想法。
然后,使用它們一起查找最近一篇GPT-4的研究,以及關于其在軟件中的應用。
接下來,3個智能體就開始「密謀」了。
以上的演示,僅是一個前菜。
根據技術報告,給出了通過AutoGen6個應用的構建,可以解決數學問題,檢索增強型聊天、ALF聊天、多智能體編碼、動態群組聊天、國際象棋對弈。
在自主解決數學問題上,研究人員通過AutoGen與AutoGPT、ChatGPT+Plugin、ChatGPT+Code Interpreter等進行了定性和定量評估。
通過在對MATH數據集中的2個數學問題評估中,每個LLM系統都在每個問題上測試了3次,只有AutoGen的勝率最高。
AutoGen框架
AutoGen背后的基本理念是,創建智能體,即由LLM(如GPT-4)驅動的編程模塊。
這些智能體通過自然語言交互,以完成各種任務。
智能體可以通過提示工程,和外部工具對進行定制和增強,使其能夠檢索信息或執行代碼。
借助AutoGen,開發人員可以創建一個「智能體生態系統」,這些智能體可以專門從事不同的任務并相互協作。
這一生態系統的一個簡化視圖是,將每個智能體視為一個單獨的ChatGPT會話,并有獨特的系統指令。
例如,一個智能體可以作為編程助手,根據用戶請求生成Python代碼。另一個智能體可以是代碼審查員,負責獲取Python代碼片段并排除故障。
第一個智能體的響應可以作為輸入,傳遞給第二個智能體。
其中一些智能體甚至可以訪問外部工具,這相當于ChatGPT插件,如Code Interpreter或Wolfram Alpha。
AutoGen在這里的作用就是,為創建這些智能體并使它們能夠自動交互提供了必要工具。
上圖中,說明了如何使用AutoGen對多智能體對話進行編程。
最上面的子圖展示了AutoGen提供的內置智能體,有統一的對話界面,并且可以自定義。
中間的子圖展示了使用AutoGen開發具有自定義回復功能的「雙智能體系統」的示例。底部的子圖展示了程序執行期間,「雙智能體系統」產生的自動智能體聊天。
另外,多智能體應用可以是完全自主的,但也可以通過「user proxy agents」進行調節。
「user proxy agents」允許用戶介入AI智能體之間的對話,來監督和控制他們的過程。在某種程度上,人類用戶變成了監督多個人工智能團隊的團隊領導者。
user agents適用于智能體框架必須做出敏感決策,并需要用戶確認的應用程序,比如購買或發送電子郵件。
當智能體開始向錯誤的方向發展時,用戶還可以幫其指引方向。例如,用戶可以從最初的應用程序構想開始,在智能體的幫助下,在開始編寫代碼時逐步完善構想,添加或修改功能。
AutoGen的模塊化架構,還允許開發人員創建可重復使用的通用組件,這些組件可以組合在一起,快速構建自定義應用程序。
有了多個AutoGen智能體,就可以協作完成復雜的任務。
假如你需要編寫特定任務的代碼,直接交給「編碼助理智能體」。
對于用多個智能體編碼的整個流程框架如下。
它可以生成并返回代碼,然后user agents可以使用代碼執行模塊對代碼進行驗證。
然后,兩個人工智能智能體可以一起排除代碼故障,并生成最終的可執行版本,人類用戶可以在任何時候打斷或提供反饋。
這種協作方法可以顯著提高效率。微軟稱,AutoGen可以將編碼速度提高多達4倍。
此外,AutoGen還支持更復雜的場景和架構,比如LLM智能體的分層排列。
再比如,「群組聊天管理智能體」可以控制多個人類用戶和LLM智能體之間的對話,并根據一系列規則在它們之間傳遞信息。
最后,研究人員還拿當前流行的智能體進行了對比,AutoGen的優勢在于能夠構建基礎設施,允許靈活的對話模式,能夠執行LLM生成的代碼。
甚至,還可以讓人工參與系統的執行過程。
項目作者
Chi Wang是這項研究的通訊作者,現任微軟研究院首席研究員,目前的研究重點是LLMOps。
除了創建AutoGen開源庫,他也創建了一個用于自動機器學習和調整的快速庫FLAML,在微軟內外被廣泛使用,例如在Azure、Microsoft 365、Microsoft Fabric和Visual Studio中。
他曾在伊利諾伊大學香檳分校(UIUC)計算機科學系取得了博士學位,并在2015年獲得SIGKDD數據科學/數據挖掘博士論文獎。
他曾在清華獲得計算機科學學士學位。
網友上手體驗
有網友通過AutoGen創建了一個「博客寫作智能體」,并且還沒有超過GPT4的最大/最小token限制。
它們大部分時間都在閑逛,聊著計劃......AGI成真。
還有網友創建了一個「人工智能治療師智能體」與人工智能角色的對話,所有腳本均由AI編輯生成。
為了驗證概念,還有人用AutoGen創建了一個自我改進的智能體——AgentXP。
「它讓我看到,很快它們就會自己編寫。在它開始讓我的電腦震動之前,已經自主運行了10次卷積代碼。輸出結果遠遠超出了我的預期。」
使用AutoGen智能體自動生成并運行代碼,以創建細胞原子縮時攝影。
參考資料:
https://venturebeat.com/ai/microsofts-autogen-framework-allows-multiple-ai-agents-to-talk-to-each-other-and-complete-your-tasks/
https://github.com/microsoft/autogen