小伙伴們!我來(lái)兌現(xiàn)承諾啦~
今天,我們就來(lái)聊聊大模型 Agent。 最近這幾個(gè)月,Agent 這一概念可謂火出天際,從 AutoGPT 一周 6 萬(wàn) star 刷新 Github 漲星速度記錄開(kāi)始,AI Agent 項(xiàng)目如雨后春筍開(kāi)始在各大技術(shù)平臺(tái)涌現(xiàn)。 AI Agent 不斷被冠以“大模型下半場(chǎng)”,“軟件 2.0( Software 2.0)”等等稱號(hào),連 OpenAI 的創(chuàng)始成員 Andrej Karpathy 也在十月份的黑客馬拉松演講中也表示:
那么,所謂 AI Agent 到底是什么?它的源其何處?魔力又是什么呢? AI Agent 源自何處首先,Agent,Agent,這個(gè)在英文中過(guò)于常用的概念出現(xiàn)在 AI Agent 的語(yǔ)境里,到底代表著什么概念?讓我們先來(lái)對(duì) “Agent” 這個(gè)詞做一個(gè)詞源追溯。 Agent 的詞根 ag- 來(lái)自于拉丁語(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)問(wèn)題、確定目標(biāo)、構(gòu)想方案、選擇方案、執(zhí)行方案、檢查更新的特性,因此可以被認(rèn)為是一類擁有“自主智能的實(shí)體”,而被廣泛稱之為智能體。 在早期人工智能的研究中,對(duì)人工的智能進(jìn)行抽象形成的概念大致上是一類“利用傳感器對(duì)周?chē)h(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ò)沒(méi)有足夠的“泛化”能力,無(wú)法實(shí)現(xiàn)通用的智能決策,同時(shí),強(qiáng)化學(xué)習(xí)范式似乎有時(shí)候也要求著太多對(duì)“智能體”而言完全不合理的“試錯(cuò)”,Agent 本身似乎完全是一張白紙而沒(méi)有任何“先天知識(shí)”。 GPT-4為AI Agent帶來(lái)轉(zhuǎn)機(jī)“通用性”與“先天知識(shí)”的結(jié)合似乎在今年 3 月 OpenAI 發(fā)布 GPT-4 后迎來(lái)轉(zhuǎn)機(jī),大規(guī)模語(yǔ)言模型(LLMs)的強(qiáng)大能力使得其可以輕松處理多個(gè)來(lái)自完全截然不同的領(lǐng)域的任務(wù),同時(shí)其前身“預(yù)訓(xùn)練”的范式又似乎帶有一定的“先天知識(shí)”而不必后天盲目的試錯(cuò)。 因此使用 LLMs 作為 AI Agent 中的 Agent 成為一條極其有希望成功實(shí)現(xiàn)“自主智能體”的技術(shù)路徑,從而延申出這半年來(lái)形形色色的基于 LLMs 的 AI Agent。 事實(shí)上,當(dāng)大家開(kāi)始思考“大模型除了 Chat 以外還有什么應(yīng)用”時(shí),便已經(jīng)有了基于大模型的 Agent 的想法。四月份我們報(bào)道過(guò) 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操控地圖、股票查詢,賈維斯已來(lái)?》,在這篇綜述中,清華大學(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ò)”。 而如果把眼界再打開(kāi),不局限于“工具使用”,而是將 AI Agent 建模為一個(gè)人腦智能與人工智能協(xié)同的過(guò)程,面對(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 模式。 與其說(shuō)基于大模型的 AI Agent 是一種“新技術(shù)”,不如說(shuō)基于大模型的 AI Agent 是一套面向 LLMs 的“新的管理方法”,類似“思維鏈”等技術(shù),大模型 Agent 通過(guò)一整套流程化,機(jī)制化的方式促使大模型模擬人類智能的決策過(guò)程,以代替人類完成一些具體的任務(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í)行過(guò)程中,執(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ū)別也幾乎都從上述四部分展開(kāi),譬如在 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 模塊,有無(wú)反饋?采用思維鏈 CoT?思維樹(shù) 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)決策”的框架,使得大模型開(kāi)始有能力處理任務(wù)更加復(fù)雜化,情境更加多樣化的決策,為大模型從“語(yǔ)言”邁向“真實(shí)世界”提供了一個(gè)堅(jiān)實(shí)的基礎(chǔ)。 相應(yīng)的,類似 LangChain 的大模型開(kāi)發(fā)框架應(yīng)運(yùn)而生隨之爆火,LangChain 作為一個(gè)面向大模型的“管理框架”,連接了大模型、Prompt 模板、鏈等多種組件,基于 LangChain,香港大學(xué)余濤組發(fā)布了開(kāi)源的自主智能體 XLANG Agent(香港大學(xué)余濤組推出開(kāi)源XLANG Agent!支持三種Agent模式),在介紹的博客里,余老師如是描述大模型 Agent:
在 XLANG Agent 的基礎(chǔ)上,余濤老師組進(jìn)一步優(yōu)化非專家用戶的使用體驗(yàn)和應(yīng)用設(shè)計(jì),并將 Agent 平臺(tái)化,便形成了十月份我們報(bào)道的 OpenAgents 《開(kāi)源智能體來(lái)啦!港大團(tuán)隊(duì)發(fā)布OpenAgents,可以搞數(shù)據(jù)分析、聊天、支持200+插件》,OpenAgents 的出現(xiàn)也開(kāi)始讓 Agent 的發(fā)展朝向全面、透明與可部署化。 類似的,清華與面壁智能發(fā)布的 XAgent,通過(guò)強(qiáng)化“子問(wèn)題分解”與“人機(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í)行層——>操作層)中越來(lái)越多的任務(wù)可以被 AI “自動(dòng)化”了,如果說(shuō)傳統(tǒng)的自動(dòng)化機(jī)械停留在讓決策者在基層操作層執(zhí)行時(shí)“自動(dòng)化”,而以深度學(xué)習(xí)為代表的人工智能方法則可以再上一層完成任務(wù)執(zhí)行方案生成時(shí)的方案選擇“自動(dòng)化”,那么以大模型 Agent 為代表的新一代人工智能方法則真正實(shí)現(xiàn)了控制層一整套決策流程的“自動(dòng)化”。而這種層面的“自動(dòng)化”恰恰帶來(lái)了 Software 2.0 的曙光,軟件開(kāi)發(fā)將變成完全的“自動(dòng)化工廠”,軟件層面的“大規(guī)模定制”有可能到來(lái)。 Seednapse AI 的創(chuàng)始人曾給了 AI 應(yīng)用的五層基石,如果說(shuō)之前的類似 AutoGPT 的智能體屬于自主智能體(Autonomous Agent),其核心思想是“像人類智能一樣去解決問(wèn)題”,那么以斯坦福小鎮(zhèn)為代表的生成智能體(Generative Agent)可能帶來(lái) Multi-Agent 的曙光,區(qū)別于“像人類智能一樣去解決問(wèn)題”,生成智能體的核心在于“像社會(huì)智能一樣去解決問(wèn)題”。在斯坦福 25 人小鎮(zhèn)的論文中構(gòu)建了生成智能體的架構(gòu)如下圖所示: 通過(guò)使用一種“記憶—計(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 框架逐漸誕生,通過(guò)模擬不同角色之間的“合作”,最終實(shí)現(xiàn)“生成一個(gè)包含分析和設(shè)計(jì)的示例大約需要0.2美元(GPT-4 API的費(fèi)用),而一個(gè)完整的項(xiàng)目大約需要2.0美元。” 回到最開(kāi)始,AI Agent 作為 “OpenAI 發(fā)力的下一個(gè)方向”,背后蘊(yùn)含了一個(gè)天文數(shù)字量級(jí)的市場(chǎng)。前兩天爆出 OpenAI 已經(jīng)在進(jìn)行灰度測(cè)試,未來(lái)很快將放出一個(gè)可以使用所有工具的 GPT-4(All Tools)版本,真正成為一個(gè)“理解一切,處理一切,生成一切”的超級(jí)統(tǒng)一智能體(重磅!GPT-4又進(jìn)化了!畫(huà)圖、插件、代碼等能力被整合,超級(jí)智能體來(lái)了) 當(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)無(wú)法匹配我們宏大的想象。試錯(cuò)與學(xué)習(xí)能力不足、復(fù)雜推理能力不強(qiáng)、精確決策能力不夠、響應(yīng)時(shí)間過(guò)長(zhǎng)、計(jì)算資源要求過(guò)高等等由限制著大模型 AI Agent 成為真正的“賈維斯”,但是,未來(lái)已來(lái),引用迪迦奧特曼的主題曲《奇跡再現(xiàn)》的歌詞:“新的風(fēng)暴已經(jīng)出現(xiàn),怎么能夠停滯不前……”
|
|