小伙伴們!我來兌現(xiàn)承諾啦~
ps:接下來期待什么內(nèi)容,歡迎在評(píng)論區(qū)留言!
今天,我們就來聊聊大模型 Agent。
最近這幾個(gè)月,Agent 這一概念可謂火出天際,從 AutoGPT 一周 6 萬 star 刷新 Github 漲星速度記錄開始,AI Agent 項(xiàng)目如雨后春筍開始在各大技術(shù)平臺(tái)涌現(xiàn)。
AI Agent 不斷被冠以“大模型下半場(chǎng)”,“軟件 2.0( Software 2.0)”等等稱號(hào),連 OpenAI 的創(chuàng)始成員 Andrej Karpathy 也在十月份的黑客馬拉松演講中也表示:
相比模型訓(xùn)練方法,OpenAI 內(nèi)部目前更關(guān)注 Agent 領(lǐng)域的變化,每當(dāng)有新的 AI Agents 論文出來的時(shí)候,內(nèi)部都會(huì)很興奮并且認(rèn)真地討論。
那么,所謂 AI Agent 到底是什么?它的源其何處?魔力又是什么呢?
首先,Agent,Agent,這個(gè)在英文中過于常用的概念出現(xiàn)在 AI Agent 的語(yǔ)境里,到底代表著什么概念?讓我們先來對(duì) “Agent” 這個(gè)詞做一個(gè)詞源追溯。
Agent 的詞根 ag- 來自于拉丁語(yǔ)動(dòng)詞 agere 意指做和行動(dòng),與詞根 act- 一脈同源,加之形容詞后綴 -ent 表示“正在做事的人”,其直譯應(yīng)為“做事者”,換言之,Agent 的本意代指“做事的主體”,“可以做事之物”,強(qiáng)調(diào)“做”這一動(dòng)作。
相較于具有“主體性”的人,Agent 更多具有一種“擬主體性”,即帶有模仿人類主觀能動(dòng)性的去主動(dòng)的有目的地進(jìn)行“計(jì)劃”,“組織”,“實(shí)施”,“學(xué)習(xí)”等直至完成一項(xiàng)工作或一件事情。 回到 AI 研究的語(yǔ)境之中,相反于傳統(tǒng)機(jī)械或軟件被動(dòng)的“給予輸入——>做出輸出”的模式,Agent 由于更加強(qiáng)調(diào)自主的發(fā)現(xiàn)問題、確定目標(biāo)、構(gòu)想方案、選擇方案、執(zhí)行方案、檢查更新的特性,因此可以被認(rèn)為是一類擁有“自主智能的實(shí)體”,而被廣泛稱之為智能體。
在早期人工智能的研究中,對(duì)人工的智能進(jìn)行抽象形成的概念大致上是一類“利用傳感器對(duì)周圍環(huán)境做出感知,依據(jù)感知到的信息做出決策,并利用行動(dòng)裝置做出行動(dòng)”的人工實(shí)體,因此也被稱為 AI Agent,AI Agent 擁有眾多不同的類型,包含反射型、模型式,目標(biāo)型等等,其中最出名也是最火出圈的可能就是強(qiáng)化學(xué)習(xí)的范式,依據(jù) reward 指導(dǎo),根據(jù)狀態(tài)價(jià)值函數(shù)或動(dòng)作價(jià)值函數(shù)的更新而構(gòu)建的學(xué)習(xí)型智能體。
區(qū)別于更加擅長(zhǎng)于做“感知”的傳統(tǒng)深度學(xué)習(xí)的方法,Agent 的重心其實(shí)更加落子于“行動(dòng)”也就是“決策”之上,盡管強(qiáng)化學(xué)習(xí)領(lǐng)域以 PPO 為代表的策略梯度方法在游戲的許多領(lǐng)域取得了亮眼的成績(jī),但是基于各種特定神經(jīng)網(wǎng)絡(luò)架構(gòu)的策略網(wǎng)絡(luò)沒有足夠的“泛化”能力,無法實(shí)現(xiàn)通用的智能決策,同時(shí),強(qiáng)化學(xué)習(xí)范式似乎有時(shí)候也要求著太多對(duì)“智能體”而言完全不合理的“試錯(cuò)”,Agent 本身似乎完全是一張白紙而沒有任何“先天知識(shí)”。
“通用性”與“先天知識(shí)”的結(jié)合似乎在今年 3 月 OpenAI 發(fā)布 GPT-4 后迎來轉(zhuǎn)機(jī),大規(guī)模語(yǔ)言模型(LLMs)的強(qiáng)大能力使得其可以輕松處理多個(gè)來自完全截然不同的領(lǐng)域的任務(wù),同時(shí)其前身“預(yù)訓(xùn)練”的范式又似乎帶有一定的“先天知識(shí)”而不必后天盲目的試錯(cuò)。
因此使用 LLMs 作為 AI Agent 中的 Agent 成為一條極其有希望成功實(shí)現(xiàn)“自主智能體”的技術(shù)路徑,從而延申出這半年來形形色色的基于 LLMs 的 AI Agent。
事實(shí)上,當(dāng)大家開始思考“大模型除了 Chat 以外還有什么應(yīng)用”時(shí),便已經(jīng)有了基于大模型的 Agent 的想法。四月份我們報(bào)道過 CMU 發(fā)布的一篇使用大模型作為“自主科研智能體”的論文《又一恐怖技能!卡耐基梅隆大學(xué)發(fā)布超強(qiáng)智能體,炸翻科研圈》,在其中大模型充當(dāng)一個(gè)“核心協(xié)調(diào)器”的作用,向上對(duì)接人類的以 Prompt 為形式的輸入,向下則以網(wǎng)絡(luò)搜索,Python 腳本等為媒介溝通互聯(lián)網(wǎng)或自動(dòng)化實(shí)驗(yàn)儀器等工具,從而可以自主完成從實(shí)驗(yàn)設(shè)計(jì)、實(shí)驗(yàn)規(guī)劃到執(zhí)行復(fù)雜的科學(xué)實(shí)驗(yàn)等的一整套流程。
基于類似這樣自主科研智能體的形形色色的大模型垂直領(lǐng)域的 AI Agent 論文或工作,也是在四月份,清華大學(xué)瞄準(zhǔn)“大模型使用工具”,發(fā)布了一篇“工具學(xué)習(xí)綜述”:《清華發(fā)布工具學(xué)習(xí)框架,讓ChatGPT操控地圖、股票查詢,賈維斯已來?》,在這篇綜述中,清華大學(xué)提出了一個(gè)叫“Tool Learning”的概念,將之前的各種垂直領(lǐng)域的智能體放置于一個(gè)統(tǒng)一的框架之下,其中大模型仍然作為“控制器”,用于完成針對(duì)人類的“意圖識(shí)別”,針對(duì)可選工具的“組織規(guī)劃”,并且引入了“感知器”向大模型報(bào)告“執(zhí)行結(jié)果”,當(dāng)出現(xiàn)錯(cuò)誤時(shí)指導(dǎo)大模型完成“自主糾錯(cuò)”。
而如果把眼界再打開,不局限于“工具使用”,而是將 AI Agent 建模為一個(gè)人腦智能與人工智能協(xié)同的過程,面對(duì)一個(gè)“任務(wù)”,由人類站在高點(diǎn)描述一個(gè)“任務(wù)目標(biāo)”,并將完成這一任務(wù)的工作交予 Agent,而 AI 接受目標(biāo)并自主的進(jìn)行“感知環(huán)境”,“形成記憶”,“完成規(guī)劃”,“決策行動(dòng)”,“觀察糾錯(cuò)”等一系列以任務(wù)目標(biāo)為導(dǎo)向的行動(dòng),那么就形成了諸如 “AutoGPT”,“BabyGPT” 等基于 LLMs 的 AI Agent 模式。
與其說基于大模型的 AI Agent 是一種“新技術(shù)”,不如說基于大模型的 AI Agent 是一套面向 LLMs 的“新的管理方法”,類似“思維鏈”等技術(shù),大模型 Agent 通過一整套流程化,機(jī)制化的方式促使大模型模擬人類智能的決策過程,以代替人類完成一些具體的任務(wù)。
以 BabyAGI 的流程圖為例,如下圖所示,作為 User 的人類首先向 Agent 以“自然語(yǔ)言”的形式提供任務(wù)與目標(biāo)的描述,放置于任務(wù)隊(duì)列之中(1.),任務(wù)優(yōu)先級(jí) Agent 用于對(duì)任務(wù)隊(duì)列任務(wù)列表、執(zhí)行順序等進(jìn)行管理(5.)(6.),執(zhí)行 Agent 不斷從任務(wù)隊(duì)列在提取任務(wù)(2.),向上聯(lián)系具體的任務(wù)目標(biāo),向下聯(lián)系具體可操作的如“實(shí)驗(yàn)設(shè)備”,“功能API”,“常用工具”等工具庫(kù),用于完成對(duì)任務(wù)的操作。
在執(zhí)行過程中,執(zhí)行 Agent 維護(hù)一個(gè)記憶庫(kù) Memory,儲(chǔ)存當(dāng)下此輪的任務(wù)信息,查詢歷史完成的任務(wù)信息。在操作完成后,執(zhí)行 Agent 向任務(wù)創(chuàng)建 Agent 發(fā)送任務(wù)完成結(jié)果(3.),根據(jù)任務(wù)完成結(jié)果,任務(wù)創(chuàng)建 Agent 向任務(wù)隊(duì)列增添為完成前項(xiàng)任務(wù)所必須先完成的“前置任務(wù)”,直到此項(xiàng)任務(wù)結(jié)束。
如果對(duì)上述框架做一個(gè)抽象與總結(jié),參考人大發(fā)布的 AI Agent 綜述,一個(gè) AI Agent 可以被認(rèn)為由以下四部分組成:
各種不同的 AI Agent 的差異與區(qū)別也幾乎都從上述四部分展開,譬如在 Profiling 模塊,不同的 AI Agent 可以選擇不同的角色定義方式,如手動(dòng)定義“假設(shè)你是一個(gè)學(xué)生”,或者采用大模型對(duì) Agent 角色進(jìn)行生成。在 Memory 模塊,是否區(qū)分長(zhǎng)期記憶與短期記憶,記憶存儲(chǔ)方式(自然語(yǔ)言?數(shù)據(jù)庫(kù)?嵌入?)等也構(gòu)成了不同的 AI Agent 的特征。在 Planning 模塊,有無反饋?采用思維鏈 CoT?思維樹 ToT?思維圖 GoT?在 Action 模塊,單輪互動(dòng)還是多輪互動(dòng),如何定義 Agent 的動(dòng)作空間,是否使用外部工具,如果定義外部工具集等等也都是 AI Agent 前沿的研究方向。
基于 Prompt 的與大模型互動(dòng)的方式更像是靜態(tài)的“輸入-輸出”,而 AI Agent 為大模型提供了一個(gè)進(jìn)行“動(dòng)態(tài)決策”的框架,使得大模型開始有能力處理任務(wù)更加復(fù)雜化,情境更加多樣化的決策,為大模型從“語(yǔ)言”邁向“真實(shí)世界”提供了一個(gè)堅(jiān)實(shí)的基礎(chǔ)。
相應(yīng)的,類似 LangChain 的大模型開發(fā)框架應(yīng)運(yùn)而生隨之爆火,LangChain 作為一個(gè)面向大模型的“管理框架”,連接了大模型、Prompt 模板、鏈等多種組件,基于 LangChain,香港大學(xué)余濤組發(fā)布了開源的自主智能體 XLANG Agent(香港大學(xué)余濤組推出開源XLANG Agent!支持三種Agent模式),在介紹的博客里,余老師如是描述大模型 Agent:
想象一下這個(gè)過程,將以日常語(yǔ)言為載體的人類的指示或問題轉(zhuǎn)化為機(jī)器可以理解的動(dòng)作和代碼,隨后機(jī)器在特定的環(huán)境中執(zhí)行這些動(dòng)作,從而改變?cè)摥h(huán)境的狀態(tài)。這些變化被觀察、分析,并進(jìn)而啟動(dòng)與人類下一步交互的循環(huán)
在 XLANG Agent 的基礎(chǔ)上,余濤老師組進(jìn)一步優(yōu)化非專家用戶的使用體驗(yàn)和應(yīng)用設(shè)計(jì),并將 Agent 平臺(tái)化,便形成了十月份我們報(bào)道的 OpenAgents 《開源智能體來啦!港大團(tuán)隊(duì)發(fā)布OpenAgents,可以搞數(shù)據(jù)分析、聊天、支持200+插件》,OpenAgents 的出現(xiàn)也開始讓 Agent 的發(fā)展朝向全面、透明與可部署化。
類似的,清華與面壁智能發(fā)布的 XAgent,通過強(qiáng)化“子問題分解”與“人機(jī)協(xié)作”,在 AutoGPT 的基礎(chǔ)上向著真實(shí)應(yīng)用前進(jìn)了一大步,并在眾多實(shí)際任務(wù)測(cè)試中全面超越 AutoGPT,拓展了 Agent 能力的邊界。
事實(shí)上,如果類比于傳統(tǒng)軟件工程管理與面向 AI 的軟件工程管理(MLops),Agent 的出現(xiàn)進(jìn)一步模糊了軟件作為一個(gè)輸入輸出系統(tǒng)“軟件內(nèi)”與“軟件外”的邊界。由于 Agent 可以不斷與與外部環(huán)境發(fā)生互動(dòng),不斷的學(xué)習(xí)修正自己的任務(wù)規(guī)劃,因此當(dāng) AI Agent 出現(xiàn)以后,盡管犧牲了一些可靠性,但是這類應(yīng)用的“靈活性”又邁上了一個(gè)新的臺(tái)階。
這種躍升將直接導(dǎo)致管理層級(jí)(自上而下決策層——>控制層——>執(zhí)行層——>操作層)中越來越多的任務(wù)可以被 AI “自動(dòng)化”了,如果說傳統(tǒng)的自動(dòng)化機(jī)械停留在讓決策者在基層操作層執(zhí)行時(shí)“自動(dòng)化”,而以深度學(xué)習(xí)為代表的人工智能方法則可以再上一層完成任務(wù)執(zhí)行方案生成時(shí)的方案選擇“自動(dòng)化”,那么以大模型 Agent 為代表的新一代人工智能方法則真正實(shí)現(xiàn)了控制層一整套決策流程的“自動(dòng)化”。而這種層面的“自動(dòng)化”恰恰帶來了 Software 2.0 的曙光,軟件開發(fā)將變成完全的“自動(dòng)化工廠”,軟件層面的“大規(guī)模定制”有可能到來。
Seednapse AI 的創(chuàng)始人曾給了 AI 應(yīng)用的五層基石,如果說之前的類似 AutoGPT 的智能體屬于自主智能體(Autonomous Agent),其核心思想是“像人類智能一樣去解決問題”,那么以斯坦福小鎮(zhèn)為代表的生成智能體(Generative Agent)可能帶來 Multi-Agent 的曙光,區(qū)別于“像人類智能一樣去解決問題”,生成智能體的核心在于“像社會(huì)智能一樣去解決問題”。在斯坦福 25 人小鎮(zhèn)的論文中構(gòu)建了生成智能體的架構(gòu)如下圖所示:
通過使用一種“記憶—計(jì)劃—反思”驅(qū)動(dòng)的智能體形態(tài),以“社會(huì)事件”為動(dòng)力源使得 Agent 間相互互動(dòng),直至模擬整個(gè)社會(huì)的分工體系。在這種生成智能體的思想下,一群導(dǎo)演與計(jì)算機(jī)工程師踏出了生成智能體應(yīng)用的第一步《AI自導(dǎo)自演的電視劇,每個(gè)角色都是一個(gè)大模型,斯坦福25人小鎮(zhèn)精神續(xù)作》,嘗試制作了一部完全由大模型自導(dǎo)自演、定制化的電視劇集 Westland Chronicles
而從實(shí)驗(yàn)性質(zhì)的模擬向下,類似 MetaGPT 等的多智能體 AI 框架逐漸誕生,通過模擬不同角色之間的“合作”,最終實(shí)現(xiàn)“生成一個(gè)包含分析和設(shè)計(jì)的示例大約需要0.2美元(GPT-4 API的費(fèi)用),而一個(gè)完整的項(xiàng)目大約需要2.0美元。”
回到最開始,AI Agent 作為 “OpenAI 發(fā)力的下一個(gè)方向”,背后蘊(yùn)含了一個(gè)天文數(shù)字量級(jí)的市場(chǎng)。前兩天爆出 OpenAI 已經(jīng)在進(jìn)行灰度測(cè)試,未來很快將放出一個(gè)可以使用所有工具的 GPT-4(All Tools)版本,真正成為一個(gè)“理解一切,處理一切,生成一切”的超級(jí)統(tǒng)一智能體(重磅!GPT-4又進(jìn)化了!畫圖、插件、代碼等能力被整合,超級(jí)智能體來了)
當(dāng)這樣一種 AI Agent 出現(xiàn),它對(duì)生活的改變很有可能不止于 ChatGPT 簡(jiǎn)單的 Chat,而是滲透入各行各業(yè),在只要能用到大模型的地方就可以建立起相應(yīng)的 Agent,各種科幻電影中的人機(jī)協(xié)作有可能真的會(huì)走進(jìn)現(xiàn)實(shí)。
當(dāng)然,目前這樣一種 AI Agent 的技術(shù)落地尚處于“嬰兒時(shí)期”,如同 BabyGPT 的名字那樣,目前的 AI Agent 的技術(shù)還遠(yuǎn)遠(yuǎn)無法匹配我們宏大的想象。試錯(cuò)與學(xué)習(xí)能力不足、復(fù)雜推理能力不強(qiáng)、精確決策能力不夠、響應(yīng)時(shí)間過長(zhǎng)、計(jì)算資源要求過高等等由限制著大模型 AI Agent 成為真正的“賈維斯”,但是,未來已來,引用迪迦奧特曼的主題曲《奇跡再現(xiàn)》的歌詞:“新的風(fēng)暴已經(jīng)出現(xiàn),怎么能夠停滯不前……”
ps:別忘了,想看什么原創(chuàng)內(nèi)容,歡迎在評(píng)論區(qū)留言哦!等小瑤翻牌子~
聯(lián)系客服