文|阿爾法工場
Auto-GPT,一款基于GPT-4的人工智能內(nèi)容生成機器人在近期迅速爆紅。
截止至2023年4月16日,Auto-GPT項目在GitHub上共斬獲了72.8k Star,吸引了全世界關(guān)注著AIGC的人的關(guān)注。
AutoGPT GitHub Star增長情況
此前讓LLM(大語言模型)火出圈的產(chǎn)品ChatGPT,最大的局限性就在于需要人工提供大量的原始信息和引導(dǎo)詞(Prompt),才能讓ChatGPT生成理想的內(nèi)容。
而Auto-GPT就是為了解決這個痛點而誕生的。它可以通過LLM自主產(chǎn)生Prompt,并且通過Google搜索和Python腳本來實現(xiàn)自己的目的。
Auto-GPT在推特上有很多收獲了極高關(guān)注量的例子,案例的內(nèi)容包括有商業(yè)調(diào)查、無代碼生成APP或網(wǎng)頁、自動化辦公和文本生成等等。在加入了Stable Diffusion后甚至可以擁有圖片的生成能力。
這一切聽起來非常美好對吧?但是別忘了Auto-GPT仍然只是一個實驗性項目,仍然有較大的局限性。
01 Auto-GPT的工作流程
由人類給Auto-GPT分配一個角色(例如一名寫手),接著給他分配最多五個任務(wù)讓他執(zhí)行。
Auto-GPT就會自己將任務(wù)列表拆解成某些具體的任務(wù),并生成后續(xù)的任務(wù)執(zhí)行列表。每一步可以是執(zhí)行Google搜索、生成Python腳本、存儲生成文本、執(zhí)行腳本文件等等。
上述步驟主要依賴于以下幾個部件:1.基礎(chǔ)框架:GPT-4和GPT-3.5,二者分別被成為聰明模型和快速響應(yīng)模型。這兩者共同充當(dāng)整個Auto-GPT的大腦。不同的任務(wù)將會適時的分配給兩種不同的模型以加快生成速度和降低成本開銷。2.自主迭代:從最原始的Task List中出發(fā),將任務(wù)投入LLM中生成更進一步細化的Task List。再逐項完成任務(wù)并將結(jié)果保存。每次結(jié)果都會被選擇性的放回LLM中再迭代生成回應(yīng)。3.內(nèi)存管理:Auto-GPT默認(rèn)使用一種向量數(shù)據(jù)庫(保存在auto-gpt.json中)存儲對話上下文,使得LLM可以獲得長期記憶并且最大程度降低token(LLM中的數(shù)據(jù)量計數(shù)單位)的使用,防止超過輸入限制和降低使用成本。除了本地向量數(shù)據(jù)庫外,還可以使用Redis保存上下文進一步提升性能。4.多功能部件:Auto-GPT被賦予了多種新型的工具,包括本地shell的執(zhí)行權(quán)限、本地文件的讀取和寫入、Google搜索能力、Python腳本執(zhí)行能力等等。以上能力不僅僅賦予了Auto-GPT的聯(lián)網(wǎng)能力,還使其擁有了部分本地操作權(quán)限,極大拓寬了AI的能力以及使用范圍。
Auto-GPT初始化所需信息
02 Auto-GPT實測表現(xiàn)
測試一:自動化檢索。
在這里定義Auto-GPT為一個Research GPT,可以自動化檢索互聯(lián)網(wǎng)信息并作出市場分析。任務(wù)分配就是找到市面上的Top5電視盒子并列出他們的配置和價格。
電視盒子信息Auto-GPT找到了所需要的數(shù)據(jù),但是也僅給出了分析出的Top5的盒子的參數(shù)和價格,并沒有列出數(shù)據(jù)來源和評判標(biāo)準(zhǔn)。同時也沒有做市場分析,只是單列出了數(shù)據(jù)和配置,沒有針對所收集到的數(shù)據(jù)進行額外分析。
可以說雖然Auto-GPT降低了對Prompt的依賴性,但是對初始任務(wù)的描述詳細性仍然要求較高。
2.測試二任務(wù):自動寫作。
這個測試中,Auto-GPT被定義為作家,要求寫一個以賽博朋克為背景的科幻小說的大綱。
Auto-GPT完成的非常出色,其在文件夾中分別生成了幾個文件:“賽博朋克大綱”、“對話”、“賽博朋克調(diào)查”、“世界背景”、“人物性格”、“人物目標(biāo)及其背景”等等文件。每份文件中都詳實地記下了其文件名的內(nèi)容,而且每個內(nèi)容都是基于同一個世界觀下生成的。
本次任務(wù)僅僅只為創(chuàng)作一個故事大綱,但是他最后交付給我們了一個近似完整的故事。主角的設(shè)定也符合賽博朋克的背景故事。
Auto-GPT的長期記憶功能幫助了Auto-GPT可以始終保持在相同的背景設(shè)定里而不偏離。雖然沒有完成整篇文章,但是故事脈絡(luò)已經(jīng)非常清晰,甚至已經(jīng)可以說是在“創(chuàng)作”一些新文字了。
03 Auto-GPT當(dāng)前的問題
1.開銷極高
Auto-GPT是基于GPT-3.5和GPT-4而建立起來的。而GPT-4的單個token價格為GPT-3.5的15倍。
假設(shè)每次任務(wù)需要50個step(較好狀況下),每個step會花費6K tokens的GPT-4 使用量,Prompt(提示詞)和Completion(回答)的平均每一千tokens花費是0.05美元(因為實際使用中回答使用的token遠遠多于提示詞),匯率為1美元 : 6.8人民幣,那么花費就是50*6*0.05*6.8=102人民幣。
GPT-4 API訪問價格
GPT-3.5 API訪問價格注意,這僅僅只是理想狀況下,而且假設(shè)了使用時Auto-GPT沒有出現(xiàn)其他的問題(后續(xù)會提到),單次任務(wù)的成本就為100余元。這個成本顯然是不可以被大規(guī)模應(yīng)用的。
2.常見死循環(huán)現(xiàn)象在執(zhí)行任務(wù)的時候,Auto-GPT會將任務(wù)細化并分解。但是一旦遇到了一些GPT-4都無法處理的問題時,就會陷入自我循環(huán),每一個step執(zhí)行完后的動作都為“do_nothing”,而且下一個動作仍為這個。
但是每次都會將相同的Prompt交給GPT-4處理從而造成了極其大量的資源浪費現(xiàn)象。而且從目前來看并沒有什么很好的解決方案。
Auto-GPT陷入死循環(huán)中常見表現(xiàn)除了這種do_nothing類型的死循環(huán)外,還可以經(jīng)常發(fā)現(xiàn)Auto-GPT的另一種死循環(huán),即生成的python腳本執(zhí)行的時候無法正確完成任務(wù)。
接著GPT-4就會嘗試修復(fù)腳本,再重新執(zhí)行。通常的修復(fù)可能分為很多步讓人很難發(fā)現(xiàn)問題所在。但是通常來說這種修復(fù)都是不起作用的,就又會陷入另一種死循環(huán)。
3.執(zhí)行速度過慢從實測的第一個問題來看,還有一個非常大的問題就是響應(yīng)速度過慢。GPT-4的生成token的速度就比GPT-3.5慢許多,再加上腳本執(zhí)行其它指令(比如Google)所消耗的時間就更長了。
本次統(tǒng)計出Top5的電視盒子,Auto-GPT共耗時8分鐘,進行了20個steps完成了總結(jié)。但是聯(lián)網(wǎng)的AI工具除了Auto-GPT還有其它的AI工具可以完成,例如New Bing。
雖然Bing無法自我搜索網(wǎng)絡(luò)評論并鑒別是否為虛假評論,而且數(shù)據(jù)來源比較狹窄,但是New Bing的響應(yīng)只花了8秒,還提供了參考鏈接供讀者自行參考,比起Auto-GPT更加直觀。
04 總結(jié)
AGI,即通用人工智能,最重要的一個特點就是脫離人工監(jiān)督可自行完成任務(wù),并且可以完成一些“創(chuàng)意任務(wù)”。而Auto-GPT正是在當(dāng)前條件比較有限的前提下對AGI做出的一個有益嘗試。
通過主任務(wù)生成子任務(wù)(也有人叫子智能體)的方法而讓AI通過LLM脫離人類監(jiān)督自行完成任務(wù)可能是未來的發(fā)展方向之一。
當(dāng)前的問題是LLM的能力還是比較弱,對當(dāng)前的狀態(tài)把握的還不夠好,從而經(jīng)常讓自己陷入死循環(huán)需要人類的介入。而且雖然向量數(shù)據(jù)庫成功賦予了AI中長期記憶的可能性,但是對于后續(xù)的任務(wù)缺無法繼續(xù)沿用此前的記憶了。
執(zhí)行速率也可以通過調(diào)整架構(gòu)提升,例如將逐項執(zhí)行的子智能體轉(zhuǎn)換為可以異步同時執(zhí)行的模式,大幅提升效率,每一步不強依賴于上一步,就可以極大提升運行效率。又可以像Bing一樣快速獲取信息,還可以自行分析獲取內(nèi)容達到超過New Bing的效果。
在可預(yù)見的未來,這種自動生成子智能體的AI會進一步發(fā)展,為復(fù)雜問題的解決給出一種新式的答案。