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