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