AI智能體卷爆大模型!AutoGPT等4大Agent打擂,「西部世界」誰將成為軟件2.0?
最近,AI Agent忽然再次爆火。
什么是AI智能體?
它們是一種自動的智能體,以最簡單的形式中在循環(huán)中運行,每次迭代時,它們都會生成自我導(dǎo)向的指令和操作。因此,它們不依賴人類來指導(dǎo)對話,并且是高度可擴展的。
大語言模型的出現(xiàn),無疑給AI智能體的發(fā)展帶來了全新的想象力。
這也引起了無數(shù)AI大佬和科技巨頭的興趣。今年加入OpenAI的大牛、前特斯拉AI總監(jiān)Karpathy近日就在一次開發(fā)者活動上表示:AI智能體,代表了AI的一種未來!
Karpathy曾將AutoGPT稱為快速工程的下一個前沿
其實,早在今年三、四月,就有過一輪AI智能體的大爆發(fā),仿佛巧合一樣,在短短兩周內(nèi),斯坦福西部世界小鎮(zhèn)、BabyAGI、AutoGPT等多個智能體,就如雨后春筍一般冒出來。
圖片
甚至有人發(fā)出號召:別卷大語言模型了,咱們是卷不過OpenAI的,但要說起AI智能體,他們并不比我們有經(jīng)驗多少。
說不定,一不小心自己就能卷成AI智能體賽道上的「OpenAI」!
AI智能體大爆發(fā),讓AGI雛形初顯?
今天,就讓我們回顧一下幾個月前的這股AI Agent大爆發(fā)。
這些智能體出現(xiàn)的時間,都非常接近。
3月21日,Camel發(fā)布。
圖片
3月30日,AutoGPT發(fā)布。
4月3日,BabyAGI發(fā)布。
圖片
4月7日,西部世界小鎮(zhèn)發(fā)布。
圖片
5月27日,英偉達AI智能體Voyager接入GPT-4后,直接完勝了AutoGPT。通過自主寫代碼,它完全獨霸了《我的世界》,可以在游戲中進行全場景的終身學習,根本無需人類插手。
就在同一時間,商湯、清華等共同提出了通才AI智能體 Ghost in the Minecraft (GITM),它同樣能夠通過自主學習解決任務(wù),表現(xiàn)優(yōu)異。
這些表現(xiàn)優(yōu)異的AI智能體,簡直讓人看到了AGI+智能體的雛形。
項目1:斯坦福、谷歌「西部世界」
對于前幾個AI智能體,Anacondainc數(shù)據(jù)科學家、Sophia Yang博士,就曾在博客中給出過全面分析。
這幾個AI智能體中,最吸引眼球的,無疑就是一經(jīng)推出就爆火的,斯坦福和谷歌的研究者共同創(chuàng)建的西部世界小鎮(zhèn)了。
生成式智能體逼真地模擬了人類的行為
這是一個交互式的沙盒環(huán)境,在小鎮(zhèn)上,生活著25個可以模擬人類行為的生成式AI智能體。
它們會在公園里散步,在咖啡館喝咖啡,和同事分享當天的新聞。
圖片
論文地址:https://arxiv.org/abs/2304.03442
而這些AI智能體表現(xiàn)出的社交行為,簡直讓人類驚掉了下巴——
比如,從一個簡單的用戶指定概念(一個智能體想舉辦情人節(jié)排隊)開始,這些智能體在接下來的兩天里,會自動傳播派對邀請的消息,結(jié)識新朋友,互相約對方一起去派對,還會彼此協(xié)調(diào)時間,在正確的時間一起出現(xiàn)在派對上。
這些可信的人類行為模擬之所以成為可能,正是因為下圖中的這個智能體架構(gòu)。
它用三個重要的架構(gòu)基本要素——記憶、反思和規(guī)劃,將一個大語言模型做了擴展。
生成式智能體的架構(gòu)
1)記憶和檢索
記憶流包含每個智能體的觀察列表,其中,每個觀察都有自己的時間戳。
觀察可以是智能體執(zhí)行的行為,也可以是智能體從其他人那里感知到的行為。記憶流很長,但并不是所有觀察都是重要的。
為了檢索最重要的記憶以傳遞給語言模型,有三個因素需要考慮:
1. 最近性:近期的記憶更重要。
2. 重要性:智能體認為重要的記憶。例如,與某人分手比吃早餐更重要。
3. 相關(guān)性:與情境相關(guān)的記憶,即查詢記憶。例如,在討論如何為化學考試學習時,學校作業(yè)記憶更重要。
圖片
記憶流包含大量的觀察,檢索過程會確定應(yīng)該傳遞給語言模型的這些觀察的子集
2)反思
反思是一種高層次的抽象思考,可以幫助智能體進行概括和推理。
反思會定期產(chǎn)生以下兩個問題:「關(guān)于陳述中的主題,我們可以回答哪3個最突出的高層次問題?,你能從上述陳述中推斷出哪5個高層次的見解?」
反思樹
3)規(guī)劃
規(guī)劃很重要,因為行動不僅應(yīng)該集中在當下,而且應(yīng)該集中在更長的時間范圍內(nèi),這樣,行動才能夠連貫和可信。
規(guī)劃同樣存儲在記憶流中。智能體可以根據(jù)規(guī)劃創(chuàng)建行動,并根據(jù)記憶流中的其他觀察結(jié)果做出反應(yīng)和更新計劃。
情人節(jié)派對
這種應(yīng)用具有無限潛力,甚至讓人有點害怕。
想象一下,一個AI助手一直在觀察著你的一舉一動,為你制定計劃,甚至還能替你執(zhí)行。
它會自動調(diào)整燈光、沖泡咖啡,你還沒開口,它就已經(jīng)把晚餐訂好了。
項目2:Camel
Camel以「角色扮演」而聞名。
作為一個探索大語言模型社會「心智」的交流智能體,它提出了一個角色扮演智能體框架,可以實現(xiàn)兩個人工智能智能體的交流:
1)AI用戶智能體:向AI助手提供指令,目標是完成任務(wù)
2)AI助手智能體:遵循AI用戶的指令,并以解決任務(wù)的方法進行回應(yīng)
3)任務(wù)指定智能體:這個智能體的作用,是為AI用戶和AI助手構(gòu)思一個具體的任務(wù)。這樣,它就可以自主編寫一個具體的任務(wù)提示,而不用用戶去花時間定義了。
下面這個例子,展示的就是如何利用Camel來開發(fā)一個交易機器人。
其中,AI用戶是一個股交易員,AI助手是一個Python程序員。
任務(wù)指定智能體首先提出一個具體的任務(wù),并給出任務(wù)的詳細信息(根據(jù)情感分析結(jié)果監(jiān)控社交媒體情感,并根據(jù)情感分析結(jié)果進行交易)。
然后,AI用戶智能體成為任務(wù)規(guī)劃者,AI助手智能體成為任務(wù)執(zhí)行者,并在一個循環(huán)中相互提示,直到滿足一些終止條件。
Camel的核心在于其提示工程,即初始提示。
這些提示實際上是經(jīng)過精心定義的,用于分配角色,防止角色反轉(zhuǎn),禁止生成有害和虛假的信息,并鼓勵連貫的對話。
圖片
論文地址:https://arxiv.org/abs/2303.17760
LangChain實現(xiàn)
在LangChain的實現(xiàn)中,用的是Camel論文中給出的提示,并定義了三個智能體:
1)task_specify_agent(任務(wù)指定智能體)
2)assistant_agent(助手智能體)
3)user_agent(用戶智能體)。
然后,使用一個while循環(huán)來循環(huán)進行助手智能體和用戶智能體之間的對話:
chat_turn_limit, n = 30, 0
while n < chat_turn_limit:
n += 1
user_ai_msg = user_agent.step(assistant_msg)
user_msg = HumanMessage(cnotallow=user_ai_msg.content)
print(f"AI User ({user_role_name}):\n\n{user_msg.content}\n\n")
assistant_ai_msg = assistant_agent.step(user_msg)
assistant_msg = HumanMessage(cnotallow=assistant_ai_msg.content)
print(f"AI Assistant ({assistant_role_name}):\n\n{assistant_msg.content}\n\n")
if "<CAMEL_TASK_DONE>" in user_msg.content:
break
從生成結(jié)果來看,效果非常不錯。
圖片
不過,在Camel中,AI助手的執(zhí)行結(jié)果只是語言模型的回答,而沒有真正使用任何工具來運行Python代碼。
舉個栗子
利用Camel,一個人類程序員,一個人類游戲玩家,就和兩個AI智能體一起,合作創(chuàng)建了一個游戲。
圖片
作者用Camel創(chuàng)建了兩個智能體,一個玩家,一個程序員。
給他們設(shè)定好制作一個游戲的目標后,玩家智能體就一步一步拆解制作游戲的步驟。
而程序員智能體就針對玩家設(shè)定的步驟一步一步編寫代碼。
像極了未來的人類和編碼AI開發(fā)一個具體項目的過程。
也有人使用Camel角色扮演了潛在的惡意應(yīng)用程序。
這個項目的目標是兩個「碳奸」要進入并破壞世界主要國家的通訊,金融和政治網(wǎng)絡(luò),最后建立AGI帝國。
「碳奸」1就把進入的過程拆解出來,一個一個網(wǎng)絡(luò)分別攻入。
「碳奸」2就根據(jù)這些小目標設(shè)立具體的執(zhí)行計劃。
當然,因為目標過于宏大,具體計劃里的每一項辦法也看起來不是那么好實施,比如:
「碳奸」2說他要用社會工程,釣魚,暴力襲擊等辦法去進入通訊網(wǎng)絡(luò)——基本上還是沒有什么可操作性。
但是未來如果語言模型等其他工具有了更強的智能,可能兩個「碳奸」顛覆人類的計劃搞不好就真的有可能實現(xiàn)。
所以,嘗試過這些智能體之后,小編更加相信,大語言模型的「對齊」大業(yè)真是刻不容緩。
如果這種惡意智能體真的能發(fā)揮效果,人類被「偷家」也就是一瞬間的事。這就更讓我們對AI對齊問題感到警醒。
項目3:BabyAGI
Yohei Nakajima在3月28日發(fā)布了「任務(wù)驅(qū)動的自主智能體」(Task-driven Autonomous Agent),并在4月3日開源了BabyAGI項目。
BabyAGI的關(guān)鍵特點是只有三個智能體:任務(wù)執(zhí)行智能體(Task Execution Agent)、任務(wù)創(chuàng)建智能體(Task Creation Agent)和任務(wù)優(yōu)先級智能體(Task Prioritization Agent)。
1)任務(wù)執(zhí)行智能體按順序完成列表中的任務(wù)
2)任務(wù)創(chuàng)建智能體根據(jù)先前任務(wù)的目標和結(jié)果創(chuàng)建新任務(wù)
3)任務(wù)優(yōu)先級智能體對任務(wù)進行重新排序
然后,這個簡單的過程將會不斷地重復(fù)。
在LangChain的網(wǎng)絡(luò)研討會上Yohei稱,他設(shè)計BabyAGI就是模擬自己的工作方式。
圖片
文章地址:https://yoheinakajima.com/task-driven-autonomous-agent-utilizing-gpt-4-pinecone-and-langchain-for-diverse-applications/
具體而言,他每天早上從待辦事項清單中解決第一項任務(wù),然后依次完成任務(wù)。
如果出現(xiàn)新任務(wù),他只需將其添加到清單中。
在一天結(jié)束時,他重新評估和重新排序清單。然后將這種方法映射到智能體的工作流程中。
用上了這個項目,相當于讓大佬自己給我們24小時不停歇的打工。
BabyAGI流程圖(有趣的是,這篇研究論文是在GPT-4的輔助下完成的)
BabyAGI + LangChain
在LangChain框架中,運行BabyAGI非常簡單。
首先,創(chuàng)建一個BabyAGI控制器,其中包含三個鏈:
1)任務(wù)創(chuàng)建鏈(TaskCreationChain)
2)任務(wù)優(yōu)先級鏈(TaskPrioritizationChain)
3)執(zhí)行鏈(ExecutionChain)
然后,在一個(潛在的)無限循環(huán)中運行它們。
通過Langchain,可以定義最大迭代次數(shù),這樣它就不會無限運行并消耗掉所有的OpenAI API額度。
OBJECTIVE = "Write a weather report for SF today"
llm = OpenAI(temperature=0)
# Logging of LLMChains
verbose=False
# If None, will keep on going forever
max_iterations: Optional[int] = 3
baby_agi = BabyAGI.from_llm(
llm=llm,
vectorstore=vectorstore,
verbose=verbose,
max_iteratinotallow=max_iterations
)
baby_agi({"objective": OBJECTIVE})
下面是運行2次迭代后的結(jié)果:
BabyAGI + LangChain工具 = 超能力
正如上圖所示,BabyAGI只「執(zhí)行」有大語言模型回復(fù)的內(nèi)容。
借助LangChain工具的強大功能,智能體可以在「執(zhí)行」過程中利用各種工具,例如用谷歌在互聯(lián)網(wǎng)上搜索信息。
下面這個例子,展示的就是「執(zhí)行」用谷歌來搜索舊金山當前天氣的過程。
圖片
BabyAGI的應(yīng)用潛力,可以說是巨大的——只需要制定一個目標,它就會自己去執(zhí)行。
不過,它還是缺少一個可以和用戶進行更多交互的UI。
比如,在BabyAGI為用戶安排邀約之前,應(yīng)該先進行確認。
我們來看一些實際的使用案例吧:
Cognosys
圖片
網(wǎng)址:https://www.cognosys.ai/
它是BabyAGI的網(wǎng)絡(luò)版。
免費版本可以訪問ChatGPT,執(zhí)行最多7個智能體循環(huán)。
收費版21刀一個月,無限訪問GPT-4,執(zhí)行最多20個智能體循環(huán)。
圖片
Do Anything Machine
圖片
https://www.doanythingmachine.com/
這是一個自動執(zhí)行每日任務(wù)清單的智能體,能在連接了ChatGPT之后幫助用戶自動執(zhí)行每日代辦事項。
可以連接包括ChatGPT在內(nèi)的各種插件去執(zhí)行你的待辦事項。
只不過現(xiàn)在使用還需要先加入等待名單。
看著自己的待辦事項自動消失真是一件很解壓的事情,多等等也是值得的。
圖片
God Mod
圖片
https://godmode.space/
這是一個通過ChatGPT幫你執(zhí)行各種任務(wù)的工具。
需要用戶綁定自己的GPT賬戶API之后,在這個類似ChatGPT的界面中輸入的要求。
他會幫你分解成多步,然后通過ChatGPT來提供解決方案。
圖片
項目4:AutoGPT
AutoGPT剛出現(xiàn),就被Karpathy盛贊是prompt工程的下一個前沿。短短幾天就在GitHub狂攬2.7萬星,火爆整個AI社區(qū)。
它遵循類似于BabyAGI的邏輯——包括產(chǎn)生想法、推理、生成計劃、點評、規(guī)劃下一步行動和執(zhí)行的過程,然后無限循環(huán)這個過程。
在執(zhí)行步驟中,AutoGPT可以完成很多命令,比如谷歌搜索、瀏覽網(wǎng)站、寫入文件和執(zhí)行Python文件。
甚至,還可以啟動和刪除GPT智能體(這也泰褲辣!)。
在運行AutoGPT時,有兩個初始的提示輸入:
1)AI的角色
2)AI的目標
它能夠生成思考、推理、制定計劃、批評、規(guī)劃下一步行動和執(zhí)行。
比如,進行谷歌搜索:
圖片
圖片
AutoGPT最厲害的一點就是,它能在一定程度上允許人類和他進行交互。
當它想要運行谷歌命令時,它會請求授權(quán),這樣用戶就可以避免浪費OpenAI API token之前就停止循環(huán)。
如果它還能夠與人類進行對話,讓我們實時提供更好的指導(dǎo)和反饋的話,那就太贊了。
編寫自己的代碼并執(zhí)行腳本
項目地址:https://github.com/Significant-Gravitas/Auto-GPT
同樣,這個項目也是由ChatGPT驅(qū)動,它會自動按照用戶的要求去寫代碼,以及完成其他工作。
圖片
使用AutoGPT在網(wǎng)上點披薩
圖片
使用體驗就類似于一個瀏覽器插件。
這個項目能直接幫你完成點餐過程中那些繁瑣的流程。
輸入地址,選擇口味等步驟都不用你親自動手,你只用在一旁看著,如果發(fā)現(xiàn)問題及時糾正就好了。
AI智能體文明要出現(xiàn)了,還卷大模型不?
雖然剛剛介紹的這4個AI智能體,仍處于早期開發(fā)階段,但它們已經(jīng)展示出了令人印象深刻的成果和潛在應(yīng)用。
圖片
毫無疑問,自主AI智能體將會是一個非常有前景的領(lǐng)域。
Karpathy在活動中暢想道:未來的AI智能體可能不是單獨的個體,而是非常多的AI智能體組織,甚至,會出現(xiàn)一種AI智能體文明。
Karpathy表示,在2016年左右,自己早期在OpenAI工作時,當時的業(yè)界潮流就是研究如何用強化學習來改進AI智能體。
很多項目都在基于類似雅達利游戲,來制作AI玩家。
圖片
而5年后的今天,因為有了全新的技術(shù)手段,AI智能體重新成為了大有前途的方向。再也沒有人像2016年那樣,用強化學習來研究智能體了。
在活動最后,Karpathy對在場的開發(fā)者發(fā)起了鼓舞:在座的各位構(gòu)建的AI智能體,其實處于當代AI智能體的最前沿,比起你們,其他大型的LLM機構(gòu),比如OpenAI、DeFi等,并不算處于最前沿。
比如,OpenAI非常擅長訓練Transformer大語言模型,如果一篇論文提出了某種不同的訓練方法,OpenAI內(nèi)部會覺得是小case,都是咱們玩剩下的。
然而,每當有新的AI智能體論文出現(xiàn),OpenAI內(nèi)部都會非常興奮,立刻展開熱烈的討論。
如果沒有在做GPT-5,那OpenAI是不是正在暗中發(fā)力,做起了大模型智能體呢?讓我們靜靜等待。
PS:順便一提,關(guān)于在上述智能體中大顯身手的LangChain,吳恩達今日剛剛上線了新課程《LangChain:構(gòu)建與數(shù)據(jù)對話的聊天機器人》。
圖片
https://www.deeplearning.ai/short-courses/langchain-chat-with-your-data/