隨著大規(guī)模模型技術(shù)的興起,我們正處于一個(gè)嶄新的智能時(shí)代的黎明。我們有一個(gè)大膽的預(yù)測(cè),未來的5到10年將可能帶來一場(chǎng)大變局:99%的開發(fā)、設(shè)計(jì)和文字工作將被AI接管。這不僅僅是一個(gè)想象,而是對(duì)未來可能趨勢(shì)的深思熟慮。
在互聯(lián)網(wǎng)時(shí)代,我們目睹了大量網(wǎng)站的崛起,成為互聯(lián)網(wǎng)時(shí)代的原生應(yīng)用的主要載體,這個(gè)時(shí)代有了 Web 相關(guān)的新技術(shù),這些技術(shù)承載著 Google、Facebook、Twitter 等互聯(lián)網(wǎng)明星企業(yè)的崛起。進(jìn)入移動(dòng)互聯(lián)網(wǎng)時(shí)代,App 成為了主要載體,它們占據(jù)了整個(gè)移動(dòng)互聯(lián)網(wǎng)時(shí)代人們注意力的中心。然而,當(dāng)我們進(jìn)入智能時(shí)代,開始思考:什么將會(huì)成為這個(gè)時(shí)代的核心載體?我們預(yù)測(cè)可能不再是 App,也不再是網(wǎng)站,而是 Agent,也許幾年后的現(xiàn)實(shí)才能給出答案,但歷史告訴我們一個(gè)新鮮事物的演進(jìn)總會(huì)找到一個(gè)穩(wěn)定的術(shù)語來概括這個(gè)載體,而今天我們看到 Agent 最具有這個(gè)潛力。
對(duì)于這個(gè)猜想,隨著我們后面講的越來越深入,大家可能體會(huì)也會(huì)越來越深,因?yàn)樗赡茏プ〉囊恍┲悄軙r(shí)代一個(gè)非常本質(zhì)性的東西,基于大模型把 Agent 的能力推高到了一個(gè)全新的水平,這個(gè)在學(xué)術(shù)界研究了幾十年的全新物種才開始走入人類舞臺(tái)的中央。在范式上我們也在思考是什么樣的底層技術(shù)和架構(gòu)會(huì)驅(qū)動(dòng) Agent 技術(shù)的快速發(fā)展,從現(xiàn)在的趨勢(shì)來看,我們覺得在人類的智能原理處于核心地位的面向目標(biāo)架構(gòu)很可能會(huì)成為驅(qū)動(dòng)這個(gè) Agent 技術(shù)發(fā)展的主要范式。
而且現(xiàn)在全球?qū)gent的關(guān)注也是非常狂熱的,幾個(gè)月前,OpenAI 在內(nèi)部就開始高度關(guān)注智能體(Agent)領(lǐng)域,Deep Mind的聯(lián)合創(chuàng)始人最近也提到下一代 AI 技術(shù)走向并非是生成性 AI,而應(yīng)該是交互性 AI。這種交互性 AI 在很大程度上類似我們今天提到的智能體,用戶要求完成各種任務(wù),智能體則可以對(duì)軟件進(jìn)行操作或者與人進(jìn)行協(xié)作,完成相關(guān)的工作。
希望這些想法可以幫助大家在戰(zhàn)略層面或者是產(chǎn)品和技術(shù)層面得到一個(gè)很好的思考框架,能夠在各自的領(lǐng)域去推演未來。
導(dǎo)讀
走馬觀花、拋磚引玉
整個(gè) PPT 一百多頁,內(nèi)容繁雜。我給大家做一個(gè)簡(jiǎn)單的導(dǎo)讀,主要還是梳理脈絡(luò),提出思考的框架和基點(diǎn),起到拋磚引玉的作用,其中涉及的很多細(xì)節(jié)部分我們并沒有做得非常細(xì)致。期望大家在看完這個(gè)分享之后,對(duì)智能體技術(shù)有一個(gè)新的認(rèn)知,并能應(yīng)用在你們自己的研究方向或者職業(yè)規(guī)劃上。
我們將整個(gè)內(nèi)容分為四個(gè)部分:首先,會(huì)對(duì)從大模型到現(xiàn)在的智能體的技術(shù)發(fā)展做一個(gè)串講;接著,介紹通用智能原理和面向目標(biāo)架構(gòu)這個(gè)兩個(gè)根本性問題;最后,基于這兩個(gè)原理,分析現(xiàn)在的智能體架構(gòu)仍存在的缺陷,以及未來可能的發(fā)展方向。
1. LLM Agents綜述
如果你一直關(guān)注 AI 領(lǐng)域,你應(yīng)該能看到一個(gè)清晰的技術(shù)脈絡(luò),一開始大家玩 Prompt 工程,接著是Prompt Chain或Flow,再到Agent,多Agent,很清晰的一個(gè)脈絡(luò)架構(gòu),我們也會(huì)沿著這個(gè)脈絡(luò)給大家分享相關(guān)的經(jīng)典工作。
我們回到 Agent 這個(gè)概念上,實(shí)際上,人類是這個(gè)星球上最強(qiáng)大的 Agent。Agent是一個(gè)能感知并自主地采取行動(dòng)的實(shí)體,這里的自主性極其關(guān)鍵,Agent要能夠?qū)崿F(xiàn)設(shè)定的目標(biāo),其中包括具備學(xué)習(xí)和獲取知識(shí)的能力以提高自身性能。
Agent 的復(fù)雜程度各不相同,一個(gè)簡(jiǎn)單的恒溫器可以是一個(gè) Agent,一個(gè)大型的國家或者一個(gè)生物群體也可能是個(gè) Agent。感知環(huán)境、自主決策、具備行動(dòng)能力,設(shè)定明確的目標(biāo)和任務(wù),適應(yīng)環(huán)境及學(xué)習(xí)能力,都是 Agent 的關(guān)鍵特點(diǎn)。
Agent 這一概念的起源并不明確,可以是學(xué)術(shù)界逐漸發(fā)展沉淀而來,但是我們可以考慮馬文·明斯基80年代《智能社會(huì)》這本書中在人工智能領(lǐng)域發(fā)揚(yáng)光大了這個(gè)概念。Agent 理論在大模型時(shí)代之前已經(jīng)被學(xué)術(shù)界研究了很多年,甚至是汗牛充棟,許多理論研究都試圖創(chuàng)造出具有人類智能水平的 Agent。然而,在大模型出現(xiàn)之前,Agent 的技術(shù)始終面對(duì)天花板限制,無法取得實(shí)用的進(jìn)步,它的本質(zhì)問題還是AGI問題,反過來說,只有AGI的技術(shù)進(jìn)步才能讓 Agent 技術(shù)進(jìn)步。
在學(xué)術(shù)領(lǐng)域,最經(jīng)典的案例可能是與機(jī)器人相關(guān)的研究,都涉及到了Agent 技術(shù)。在大模型時(shí)代之前,比較知名的垂直領(lǐng)域 Agent 的例子比如 Alphago,它有感知環(huán)境、做決策、采取行動(dòng)的閉環(huán),當(dāng)時(shí)的主要研究方向還有使用強(qiáng)化學(xué)習(xí)打游戲的DeepMind的Agent57,后來更加通用的Gato,還有OpenAI玩“躲貓貓”的多智能體。
我們認(rèn)為Agent技術(shù)是未來實(shí)現(xiàn)社會(huì)全面自動(dòng)化的關(guān)鍵技術(shù)。在大模型出現(xiàn)之前,自動(dòng)化更多的是一些偏結(jié)構(gòu)化固定模式環(huán)境中通過實(shí)現(xiàn)固定算法流程來完成自動(dòng)化任務(wù),而大模型智能體的通用性帶來了靈活性,使其可能應(yīng)對(duì)人類在腦力勞動(dòng)中面臨的各種復(fù)雜長(zhǎng)尾任務(wù),進(jìn)一步實(shí)現(xiàn)體力和腦力任務(wù)的全面自動(dòng)化。
大模型和Agent技術(shù)開啟了全面自動(dòng)化的新時(shí)代。大模型是第一個(gè)可以自主學(xué)習(xí)并擁有廣泛知識(shí)的模型,所以在大模型時(shí)代,Agent技術(shù)開始迅速發(fā)展。今天,我們可能只是在起點(diǎn),我們看到的Agent還偏向于玩具,但是預(yù)計(jì)在未來幾年,這個(gè)領(lǐng)域?qū)a(chǎn)生極大的改變,它的發(fā)展速度可能會(huì)超越我們的想象,因?yàn)槲覀儸F(xiàn)在看到改進(jìn)每天都在發(fā)生,天花板遠(yuǎn)未來到,甚至天花板可能不會(huì)再來了。
1.1 Prompt工程
在大模型剛出來的時(shí)候,大家都喜歡做的事就是Prompt工程,把大模型當(dāng)成一種編程語言來看待。人們通過描述角色技能、任務(wù)關(guān)鍵詞、任務(wù)目標(biāo)及任務(wù)背景,告知大模型需要輸出的格式,并調(diào)用大模型進(jìn)行輸出。這種方法就是經(jīng)典的把大模型當(dāng)做工具來調(diào)用,我們可以稱為工具模式。
為此,大家也發(fā)展了各種各樣的Prompt工程的玩法,如角色扮演、零樣本提示和少樣本提示。比如一個(gè)澳大利亞少年編寫了一個(gè)15000個(gè)字符的提示詞,成功地讓他變身為人類的導(dǎo)師,教授各種知識(shí)。這種方式就像能直接構(gòu)建軟件一樣,是我們將Prompt工程發(fā)揮到極致的一個(gè)經(jīng)典案例。
https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor
1.2 Prompt外掛
僅憑Prompt工程根本無法滿足人們?nèi)找嬖鲩L(zhǎng)的大模型需要,鑒于大模型本身的諸多缺陷,如不能及時(shí)更新知識(shí),上下文有限等等,人們開始給大模型加入插件,如引入向量數(shù)據(jù)庫,把數(shù)據(jù)索引進(jìn)向量數(shù)據(jù)庫,再召回?cái)?shù)據(jù),再提交給大模型做Prompt工程,這樣就可以使用最新的知識(shí)和比大模型里的知識(shí)更準(zhǔn)確的知識(shí)。
這些還不夠,人們又開啟了外掛模式,嘗試讓 GPT 調(diào)用函數(shù)和使用工具,一系列關(guān)于工具使用的實(shí)踐開始出現(xiàn),ChatGPT也推出了插件體系。當(dāng)人們發(fā)現(xiàn)大模型的推理能力很差時(shí),開始試圖讓模型自身清楚地描述問題,把問題轉(zhuǎn)化為 PDDL (Planning Domain Definition Language)格式的描述語言,通過調(diào)用通用規(guī)劃器來解決規(guī)劃問題,再把解決方案轉(zhuǎn)化為可執(zhí)行的動(dòng)作,以更好地邏輯推理和規(guī)劃等任務(wù)。
更加經(jīng)典的外掛形式當(dāng)然是讓大模型調(diào)用外部工具了,OpenAI也搞出了ChatGPT Plugins的開放體系,這些今天回頭看都是非常順理成章的形式,ChatGPT的爆發(fā)激發(fā)了全世界大量的Idea,這些創(chuàng)新很快就被OpenAI吸納進(jìn)產(chǎn)品迭代中。
此外,大模型雖然具備一定的推理能力和思考能力,在很多推理任務(wù)上依然力不從心,能不能讓模型自己不做規(guī)劃推理,讓他把問題描述清楚,轉(zhuǎn)化成一個(gè) PDDL 的一個(gè)關(guān)于規(guī)劃描述的語言,然后使用通用的規(guī)劃器去做規(guī)劃,再轉(zhuǎn)化成動(dòng)作執(zhí)行,這就把大模型作為一個(gè)中轉(zhuǎn)器,把規(guī)劃器當(dāng)做了一個(gè)外掛。
我們可能會(huì)思考,大模型或許真的就是我們以前想象的那樣,會(huì)達(dá)到人類智慧水平的普適性機(jī)器么?顯然從各項(xiàng)評(píng)測(cè)來看還有很多任務(wù)做不到,更何況這些任務(wù)評(píng)測(cè)本身的覆蓋度也不夠完備。
有一個(gè)經(jīng)典概念被譽(yù)為"通用任務(wù)解決器",在達(dá)特茅斯會(huì)議之后得名“GPS”,即General Problem Solver。這是由赫伯特·西蒙(Herbert Simon)和艾倫·紐維爾(Allen Newell)在早期提出的概念,他們嘗試尋找可用于解決數(shù)學(xué)問題的通用解決方案。這套理念其實(shí)很簡(jiǎn)潔,可以看作是早期的面向目標(biāo)架構(gòu)。它的主要內(nèi)容是將目標(biāo)狀態(tài)列出,然后在解空間中搜索可以將初始狀態(tài)轉(zhuǎn)化為目標(biāo)狀態(tài)的操作組合,這樣的組合便是問題的答案。
1.3 分解與組合
然而,目前我們發(fā)現(xiàn),在通用人工智能(AGI)的漫長(zhǎng)旅途中,大模型雖顯強(qiáng)大,仍存在著顯著的技術(shù)天花板。許多人開始探索如何挖掘大模型在大任務(wù)執(zhí)行能力上的可能性,其中一個(gè)基本策略就是能夠分解和組合。例如,經(jīng)典的 MapReduce 模式可以將一個(gè)大型文本進(jìn)行摘要,因?yàn)樗纳舷挛挠邢?,一種解決辦法是擴(kuò)大 context 的范圍。另一個(gè)解決方案是,在有限的 context 中,我們先將文本拆分成小片段,對(duì)每個(gè)片段進(jìn)行摘要,然后再將其組合,從而得出結(jié)果。
大家也發(fā)現(xiàn)大模型直接給出答案似乎并不靠譜,那么是否可以讓它像人類一樣,一步一步思考呢?畢竟,人類在解決問題時(shí),也是逐漸構(gòu)建解決方案,而并非立即給出答案。因此,開始出現(xiàn)了一系列的嘗試解法,比如思維鏈、多思維鏈、思維樹和思維圖等。
我們一一講解,首先是思維鏈(Chain of Thought,CoT),它要求模型展示其思考過程,而非僅給出答案。這可以通過兩種方式實(shí)現(xiàn),一種是具體說明,即要求模型詳細(xì)地、一步步地思考;另一種是示例說明,即通過給定問題和答案的同時(shí),提供思考過程。這樣,當(dāng)詢問模型時(shí),模型會(huì)模仿此過程,逐漸思考并給出答案。再往后,我們發(fā)現(xiàn)一個(gè)CoT有時(shí)可能出現(xiàn)錯(cuò)誤,然后開始嘗試讓它發(fā)散,嘗試多種思路來解決問題,然后投票選擇最佳答案,這就是CoT-SC了。
在這過程中,我們發(fā)現(xiàn),這種發(fā)散的方法也有局限性,例如24點(diǎn)問題,它不能很好地解決,那么我們就會(huì)嘗試把這個(gè)問題進(jìn)行垂直分解,分成三步來做,每一步分解成多個(gè)子問題,類似于動(dòng)態(tài)規(guī)劃的做法,就好像把一個(gè)大任務(wù)拆解成了三個(gè)小的子任務(wù),然后再一步一步地去實(shí)現(xiàn)它。
這就是思維樹(ToT, Tree of Thought)的一個(gè)主要思路,它會(huì)根據(jù)當(dāng)前的問題分解出多個(gè)可能,然后每一個(gè)樹節(jié)點(diǎn)就是父節(jié)點(diǎn)的一個(gè)子問題,逐層擴(kuò)散,遍布整個(gè)解空間,一些節(jié)點(diǎn)就直接會(huì)發(fā)現(xiàn)不合適而終止掉,達(dá)到了有效剪枝的作用。然而 ToT 的方式也存在問題,對(duì)于一些需要分解后再整合的問題,比如排序問題,排序你可能需要分解和排序,然后再merge,就不行了。
為了解決這個(gè)問題,一種名為思維圖(Graph of Tree,GoT)的方法被提出。這種思維圖既可以分解,也可以合并。
9月26日,清華姚期智團(tuán)隊(duì)又提出了更新的方法——累計(jì)推理,在24點(diǎn)問題上成功率已經(jīng)達(dá)到98%的SOTA。他們方式很接近主流 Agent 的實(shí)現(xiàn)方式,具備一定的通用性。它首先會(huì)提出一個(gè)初步的想法,然后再對(duì)這個(gè)想法進(jìn)行驗(yàn)證,看這個(gè)提案是否合適。如果提案合適,就將它添加到圖的下一個(gè)節(jié)點(diǎn),每一步都基于已經(jīng)建立的圖節(jié)點(diǎn)進(jìn)行下一個(gè)思考節(jié)點(diǎn)的創(chuàng)建,這樣發(fā)散、合并或刪除直到達(dá)到最終目標(biāo)狀態(tài),完備性和靈活性大大增強(qiáng)。
1.4 反饋
上述的討論主要是任務(wù)分解和組合,他們盡管強(qiáng)大,卻不能與外界進(jìn)行互動(dòng),這就不得不講到反饋機(jī)制了。反饋是整個(gè)控制論的基石,也是動(dòng)物體從誕生之初就具備的基本能力。
最經(jīng)典的方法實(shí)際就是 ReACT,這個(gè)方法非常經(jīng)典,基本把智能體最核心的能力圈出來了,當(dāng)然它也有它的缺陷,我們將在后面討論為什么還會(huì)有 Agent 更多的復(fù)雜技術(shù)以克服它的不足。ReACT讓大模型先進(jìn)行思考,思考完再進(jìn)行行動(dòng),然后根據(jù)行動(dòng)的結(jié)果再進(jìn)行觀察,再進(jìn)行思考,這樣一步一步循環(huán)下去。這種行為模式基本上就是人類這樣的智能體主要模式。
比如,詢問一個(gè)關(guān)于科羅拉多造山帶的相關(guān)問題,它就會(huì)去通過搜索工具進(jìn)行搜索,如果搜索結(jié)果沒有提到東部地區(qū),它會(huì)繼續(xù)搜索東部地區(qū)的數(shù)據(jù),然后繼續(xù)一步一步地思考,根據(jù)結(jié)果反復(fù)思考,直到完成這一項(xiàng)任務(wù)。
ChatGPT的代碼解釋器主要采用的就是這種模式。首先,代碼解釋器能夠與用戶進(jìn)行簡(jiǎn)單的互動(dòng),如用戶的問側(cè)和解釋器的回應(yīng)。當(dāng)用戶的問題需要外部調(diào)用時(shí),例如詢問天氣情況,解釋器會(huì)生成相應(yīng)的代碼,利用代碼調(diào)用外部工具獲取結(jié)果?;谶@些結(jié)果,代碼解釋器會(huì)將信息反饋給用戶,如“今天天氣很好”。下圖是,我們調(diào)研的ChatGPT Code Interpreter 的主要實(shí)現(xiàn)方式。
然而,我們始終覺得這樣仍然不夠,我們希望大模型在完成每一個(gè)任務(wù)后,能夠積累經(jīng)驗(yàn),故而產(chǎn)生了借鑒強(qiáng)化學(xué)習(xí)思路的"反射"機(jī)制。反射機(jī)制能夠讓機(jī)器記住每一次任務(wù)的完成情況,無論效果好壞,以供未來參考,提升模型的性能。
Agent的框架都會(huì)讓模型輸出JSON進(jìn)行函數(shù)調(diào)用,OpenAI也就推出了Funtion Calling,將外部調(diào)用內(nèi)化到模型中,變成了一種原生能力。
考慮到前面說的ReACT和Reflection這些不徹底性,更大的變革轟然襲來,這就是Agent,今天4月AutoGPT橫空出世,短短數(shù)周Star數(shù)就超過PyTorch達(dá)到90k,賺足了眼球。
1.5 Agent
今天,全世界都在關(guān)注這個(gè)領(lǐng)域,Agent 模式的研究和應(yīng)用都在迅猛發(fā)展,作為一個(gè)"共識(shí)"可預(yù)見的未來該技術(shù)的進(jìn)步將勢(shì)不可擋。AutoGPT模型剛在10月15日宣布獲得1200萬美金的資金支持,也小道消息稱OpenAI將在11月份發(fā)布面向 Agent 的原生模型和規(guī)范。百度在發(fā)布"文心一言4.0"時(shí)也表示,他們考慮在升級(jí)系統(tǒng)時(shí)重點(diǎn)考慮了系統(tǒng)2的能力,這也是Agent 模式的關(guān)鍵設(shè)計(jì)。
下圖是AutoGPT 發(fā)布的進(jìn)行中的架構(gòu)圖,旨在實(shí)現(xiàn)對(duì)任務(wù)的有效管理。生成的任務(wù)將會(huì)被加入優(yōu)先級(jí)隊(duì)列中,隨后系統(tǒng)會(huì)不斷從優(yōu)先隊(duì)列中選擇優(yōu)先級(jí)最高的任務(wù)進(jìn)行執(zhí)行,整個(gè)過程中,任何反饋都會(huì)通過記憶進(jìn)行迭代優(yōu)化代碼。
這個(gè)主要框架雖然相對(duì)簡(jiǎn)單,但其設(shè)計(jì)理念具有重要意義。首先,創(chuàng)建一個(gè)初始的計(jì)劃,然后進(jìn)入主循環(huán)。系統(tǒng)會(huì)讓模型判斷在當(dāng)前計(jì)劃下該進(jìn)行何種行動(dòng),接著會(huì)執(zhí)行行動(dòng)。執(zhí)行完畢后,結(jié)果會(huì)寫入下一次循環(huán)中。如此,每次決策都會(huì)基于之前的結(jié)果、記憶和計(jì)劃,從而制定出新的行動(dòng)方案。
在該框架中,模型的決策過程涉及到動(dòng)作選擇,這也是主要的功能之一。此外,整個(gè)過程中我們主要關(guān)注的一些工具包括“Start Another Agent”以及“Task Complete”。這兩個(gè)工具體現(xiàn)了Agent可以被調(diào)用,從而將大任務(wù)拆解為若干小任務(wù)進(jìn)行處理,繼而形成層次化的樹狀結(jié)構(gòu),這種結(jié)構(gòu)與人類分工和協(xié)作的工作方式極為相似。
值得一提的是,微軟的賈維斯 (Jarvis)一個(gè)深度學(xué)習(xí)任務(wù)調(diào)度系統(tǒng),也采用了類似思想。他們主要關(guān)注如何調(diào)用模型來執(zhí)行各種深度學(xué)習(xí)任務(wù),涉及到了先做計(jì)劃,再選擇模型,然后執(zhí)行任務(wù),獲取反饋,然后進(jìn)入下一輪循環(huán)等環(huán)節(jié)。
有的研究者會(huì)嘗試使用大模型寫小說,借鑒LSTM這個(gè)經(jīng)典深度網(wǎng)絡(luò)的思想發(fā)明RecurrentGPT,還引入了長(zhǎng)時(shí)記憶和短時(shí)記憶機(jī)制,使模型擁有了更佳的記憶和學(xué)習(xí)功能。
其他方向,我們看到把大模型視作一個(gè)虛擬世界中的智能體,如MineCraft游戲中所設(shè)定的角色。這個(gè)角色可以沿著指定的路線,完成一些在環(huán)境中探索的任務(wù),如建房子、挖礦、打怪等。這個(gè)角色首先需要被告知怎樣去執(zhí)行任務(wù),例如自動(dòng)訓(xùn)練課程計(jì)劃的使用。然后逐步的完成任務(wù),形成自己的執(zhí)行代碼庫、技能庫等,這樣就算是在以后遇到相似的任務(wù),它都能快速調(diào)用已有的技能和經(jīng)驗(yàn)來完成任務(wù)。某種意義上,這就是一種強(qiáng)化學(xué)習(xí)的方式。
這個(gè)方向的變化真的是一日千里,就在昨天,清華聯(lián)合面壁發(fā)布了XAgent,提出了雙循環(huán)機(jī)制在效果上碾壓了AutoGPT。這種機(jī)制中,外循環(huán)負(fù)責(zé)宏觀規(guī)劃,而內(nèi)循環(huán)則負(fù)責(zé)細(xì)節(jié)的執(zhí)行。
雙循環(huán)模式
在完成各類任務(wù)的時(shí)候,它的能力也大大勝過 GPT 4。這里需要解釋一下,研究者為什么把 GPT 4 和 Agent 進(jìn)行對(duì)比,看起來GPT 4只是 Agent 的一個(gè)組件,自行車的輪子怎么能和自行車對(duì)比呢?這是因?yàn)閺娜蝿?wù)完成的視角看,GPT-4也是一種Agent,Agent的概念是大模型的超集,這也是為什么我們說智能時(shí)代的核心載體是 Agent 而不是大模型的原因,這個(gè)事物的發(fā)展形態(tài)終將會(huì)走到一個(gè)最穩(wěn)定的形態(tài),這個(gè)形態(tài)目前看只有 Agent 最配這個(gè)顏值擔(dān)當(dāng)。當(dāng)能不大眾所接受的對(duì)等 Agent 含義的詞匯可能還在發(fā)明中,至少目前看伙伴、助手這些命名的水平都不夠高,讓我們拭目以待。
1.6 Multi-Agent
進(jìn)一步,人們很自然地想到了多智能體(Multi-agent)模式, "斯坦福小鎮(zhèn)"開了一個(gè)好頭。在這個(gè)虛擬的小鎮(zhèn)里,每個(gè)角色都是一個(gè)單獨(dú)的智能體,每天依據(jù)制定的計(jì)劃按照設(shè)定的角色去活動(dòng)和做事情,當(dāng)他們相遇并交談時(shí),他們的交談內(nèi)容會(huì)被存儲(chǔ)在記憶數(shù)據(jù)庫中,并在第二天的活動(dòng)計(jì)劃中被回憶和引用,這一過程中就能涌現(xiàn)出許多頗有趣味性的社會(huì)學(xué)現(xiàn)象,我們成為群體智能的涌現(xiàn)。
再看今年7月份,一個(gè)被命名為MetaGPT的項(xiàng)目引起了廣泛關(guān)注,這個(gè)項(xiàng)目中定義了產(chǎn)品經(jīng)理、架構(gòu)師、項(xiàng)目管理員、工程師和質(zhì)量保證等角色,各角色之間通過相互協(xié)作,基本可以勝任完成500行左右代碼的小工程了。
很簡(jiǎn)單的一個(gè)實(shí)現(xiàn)就能夠完成500行,后續(xù)改進(jìn)后,是否有可能完成5000行或者是5萬行代碼的項(xiàng)目呢?譬如前兩天微軟剛發(fā)布的 Code Plan 項(xiàng)目已經(jīng)開始嘗試實(shí)施大型工程的改造計(jì)劃。
Meta GPT 最有價(jià)值的思想是借鑒人類社會(huì)中的協(xié)作方式,尤其是SOP,之于Agent 設(shè)計(jì)則平平無奇,也包括觀察、思考、狀態(tài)管理、任務(wù)行動(dòng)以及結(jié)果反饋等等必備組件。
同樣的思路,清華開發(fā)了一個(gè)名為ChatDev的系統(tǒng),進(jìn)一步引入了CEO等角色,這里就不再展開描述。
值得一提的是,Agent 的應(yīng)用方向其實(shí)非常廣泛。比如 RPA 公司實(shí)在智能把 Agent 用于他們的產(chǎn)品調(diào)用常見桌面軟件,如淘寶網(wǎng)、釘釘,來自動(dòng)完成桌面任務(wù)。
而任何一個(gè) Agent 的實(shí)現(xiàn),似乎共性都挺多,都需要有長(zhǎng)短時(shí)記憶能力、工具使用能力、通信能力,甚至包括 SOP 的能力,自然而言就有人要做這樣的框架了,如 agents。
1.7 簡(jiǎn)單的難題
盡管 GPT-4 等模型非常強(qiáng)大、Agent的發(fā)展似乎牛氣沖天,它們?nèi)匀粺o法滿足很多任務(wù)的需要,甚至一些在我們看來很簡(jiǎn)單的任務(wù)都完成不了,比如我們構(gòu)造的這個(gè)任務(wù):
?
?
給小學(xué)生展示一下兩數(shù)相加的每一步計(jì)算過程,如1135 + 78 答:計(jì)算詳細(xì)過程如下 5+8=13, 進(jìn)位1 3+7+1=11, 進(jìn)位1 一個(gè)數(shù)已經(jīng)加完,剩余數(shù)11 + 1 = 12 結(jié)果為:1211 下面請(qǐng)列出以下兩數(shù)的詳細(xì)計(jì)算過程: 81728738271872871871672 + 28781729836746721
?
?
我們必須明白,盡管AI在一定程度上模仿了人腦的工作方式,但實(shí)際上,機(jī)器人和人腦在處理信息時(shí)采用的策略有很大的不同。因此,即使在未來,我們也需要繼續(xù)改進(jìn) AI 框架,以解決這種差距。比如一個(gè)百萬位數(shù)的加法任務(wù),GPT-4囿于token數(shù)的限制是不可能完成這個(gè)任務(wù)的,但人類缺可以,這恰是人類和AI需要彌補(bǔ)的Gap。我們進(jìn)行了一些簡(jiǎn)單的試驗(yàn),還沒有發(fā)現(xiàn)大模型和Agent能搞定這個(gè)任務(wù)。其中,ChatGPT4的Code Interpreter是表現(xiàn)最好的,因?yàn)樗{(diào)用了外部計(jì)算器,但中間的過程描述還是發(fā)生了錯(cuò)誤。如果你能做出來這個(gè)小作業(yè),歡迎聯(lián)系我。
至此,我們已經(jīng)講述了大模型到 Agent 的發(fā)展歷程。接下來的時(shí)間,我們將從人類智能的視角,結(jié)合面向目標(biāo)架構(gòu)的理念,分析 Agent 技術(shù)的本質(zhì)、存在的缺陷以及未來可能的發(fā)展方向。
2. 通用智能基本原理
首先我們來看看這個(gè)眾人熟知的認(rèn)知飛輪,感知、認(rèn)知、決策、行動(dòng),今天的人工智能代理更像是基于這個(gè)認(rèn)知飛龍構(gòu)建的。但是從本質(zhì)上,人類智能遠(yuǎn)比這復(fù)雜。
在漫長(zhǎng)的進(jìn)化歷史中,生物神經(jīng)網(wǎng)絡(luò)從簡(jiǎn)單的條件反射逐漸進(jìn)化到今天的主動(dòng)預(yù)測(cè),我們已經(jīng)可以在大腦中構(gòu)建世界模型,進(jìn)行強(qiáng)大的推理和分析??此品彪s的過程,實(shí)際上都發(fā)生在核心的架構(gòu)上,并且逐步完善。無論是工作記憶,還是人類處理語言的能力的誕生,這些都是智能的必不可少的元素,尤其是符號(hào)能力,對(duì)人類智能的發(fā)展有著不可替代的作用。
因此,讓我們先提出一個(gè)更為宏觀的問題,智能究竟是什么?我強(qiáng)烈推薦這本名為《預(yù)測(cè)算法》的書,它在20年發(fā)表,那一年,GPT 3也剛剛問世,我在閱讀之后,就有這樣一個(gè)感覺:生成模型是戰(zhàn)略正確的。在之前關(guān)于AGI的分享中,也提到過這個(gè)觀點(diǎn),智能是通過預(yù)測(cè)來解決應(yīng)對(duì)世界的不確定性的,分享視頻參見這里https://www.bilibili.com/video/BV16h4y1w79A/
讓我們深入理解一下模擬的概念,當(dāng)一個(gè)低等動(dòng)物接觸到外界的刺激,它會(huì)收縮來逃避潛在的風(fēng)險(xiǎn)。這其實(shí)是一種模擬,只不過這個(gè)模擬反射神經(jīng)元對(duì)有些過于反應(yīng)敏銳,它假設(shè)所有的刺激都是潛在的危險(xiǎn)。然而,對(duì)于人類來說,我們的模擬則更為精細(xì)。我們對(duì)世界進(jìn)行建模,把世界以實(shí)體、關(guān)系、屬性描繪出來。然而,這也是我們認(rèn)知的極限,我們只能理解一個(gè)對(duì)象化的世界,非對(duì)象化的世界我們無法理解。比如,當(dāng)我們探索量子的時(shí)候,我們還常常用對(duì)事物進(jìn)行對(duì)象化的方式去理解,但是發(fā)現(xiàn)我們的理解力有時(shí)候是有限的,因?yàn)榱孔邮澜绲恼嫦喑隽巳祟愓J(rèn)知能力的范圍,我們智能使用低維空間的投影去推斷它,就像我們無法在三維世界去想象十一維世界的樣子。
在過去的四十年里,科學(xué)家對(duì)認(rèn)知架構(gòu)有很多深入的研究,并嘗試據(jù)此研發(fā)出通用人工智能,但天地不仁以萬物為芻狗,當(dāng)前來看只有GPT系列模型距離實(shí)現(xiàn)通用人工智能最近,當(dāng)然這些認(rèn)知理論依然具有巨大的參考和指導(dǎo)意義。
深入地聊認(rèn)知架構(gòu)和智能原理之前,我們必須要聊的是繞不開的《思考快與慢》,這是一本暢銷書,其后面的學(xué)術(shù)道理也十分受用。大腦中的系統(tǒng)1和系統(tǒng)2是我們所有人都熟知的,盡管在實(shí)際實(shí)現(xiàn)中,系統(tǒng)2可能由系統(tǒng)1涌現(xiàn),但至少在表現(xiàn)上,我們的大腦看起來有兩個(gè)系統(tǒng),系統(tǒng)1和系統(tǒng)2,分別負(fù)責(zé)不同的功能。知識(shí)和情感的快速反應(yīng)被稱為系統(tǒng)1,而邏輯性強(qiáng)、思考速度慢的反應(yīng)被稱為系統(tǒng)2。
接下來我們看看這些認(rèn)知架構(gòu)中?,有一個(gè)叫做GWT(Global Workspace Theory,全局工作空間理論),如下圖所示:
全局工作空間理論(GWT)是認(rèn)知科學(xué)家伯納德·巴爾斯(Bernard Baars)和斯坦·富蘭克林(Stan Franklin)在20世紀(jì)80年代后期提出的一種意識(shí)思維框架。它被開發(fā)出來,以定性地解釋一系列有意識(shí)和無意識(shí)過程之間的匹配。GWT在建模意識(shí)和高級(jí)認(rèn)知方面具有影響力,認(rèn)為它們是從廣泛、并行的神經(jīng)過程中信息的競(jìng)爭(zhēng)和集成流動(dòng)中產(chǎn)生的。
系統(tǒng)1涵蓋了神經(jīng)網(wǎng)絡(luò)的外圍連接,涉及長(zhǎng)期記憶、價(jià)值系統(tǒng)、感知運(yùn)動(dòng)控制相關(guān)的神經(jīng)網(wǎng)絡(luò),系統(tǒng)2則是一個(gè)高度集中的“舞臺(tái)”,人類的有意識(shí)思考,如做數(shù)學(xué)題時(shí),腦中想象數(shù)字相加的過程,都在這個(gè)舞臺(tái)上進(jìn)行。這個(gè)舞臺(tái)叫全局工作空間,記憶在這個(gè)舞臺(tái)上被拉進(jìn)來加工,然后被扔出去。LIDA (Learning Intelligent Distribution Agent) 受到多種計(jì)算范例的啟發(fā),并且實(shí)現(xiàn)了GWT。 認(rèn)知模塊包括知覺關(guān)聯(lián)記憶,情景記憶,意識(shí),程序性記憶和行動(dòng)選擇。由 LIDA 架構(gòu)控制的認(rèn)知機(jī)器人和軟件代理將能夠進(jìn)行多種學(xué)習(xí)機(jī)制。
其實(shí)在大模型Agent技術(shù)出現(xiàn)之前,人們就已經(jīng)意識(shí)到,試圖集成各種深度學(xué)習(xí)模型以實(shí)現(xiàn)人工普遍智能(AGI)并不夠,還需要更高層次的認(rèn)知模型。Lecun在思考AGI時(shí)對(duì)大模型的出現(xiàn)也提出過意見,它認(rèn)為世界模型才是關(guān)鍵,但前兩天新的研究卻認(rèn)為大模型中有世界模型。但毫無疑問的一點(diǎn)是,世界模型對(duì)于我們對(duì)世界的認(rèn)知是非常關(guān)鍵的,無論大模型中是否包含世界的認(rèn)知,Agent都必須對(duì)世界有準(zhǔn)確的理解才能做出正確的決策。當(dāng)模型不能正確運(yùn)行時(shí),決策就會(huì)出錯(cuò);只有當(dāng)世界模型構(gòu)建的正確,才能選擇正確的模型,進(jìn)而做出正確的決策。
總結(jié)一下,系統(tǒng)2包含意識(shí)、思考、符號(hào)主義、邏輯推理圖靈、機(jī)制結(jié)構(gòu)化和模型。而系統(tǒng)1包含快速思考、神經(jīng)網(wǎng)絡(luò)連接主義、長(zhǎng)期記憶、深度學(xué)習(xí)、亞符號(hào)、潛意識(shí)和非結(jié)構(gòu)化數(shù)據(jù)。在構(gòu)建 Agent 時(shí),可以參考這兩種系統(tǒng)的思維框架。在理解智能架構(gòu)的概念時(shí),我們需要從記憶空間、符號(hào)系統(tǒng)、世界模型構(gòu)建與加工三個(gè)方向去考慮。記憶空間是基礎(chǔ),符號(hào)系統(tǒng)是思考和推理的核心,而世界模型的構(gòu)建和加工則是其中最重要的環(huán)節(jié)。在現(xiàn)在的大模型中,如 GPT,雖然很多人認(rèn)為它沒有符號(hào)系統(tǒng),但我們認(rèn)為,其內(nèi)部的注意力機(jī)制可能已經(jīng)在激活流轉(zhuǎn)過程中模擬了世界模型的加工過程,只是這個(gè)過程并不顯式,而且無法控制,只能通過Prompt工程引導(dǎo)它進(jìn)行,但它會(huì)經(jīng)常跑偏。
我們通過學(xué)習(xí)掌握了對(duì)世界的知識(shí),并針對(duì)感知數(shù)據(jù)嘗試在符號(hào)系統(tǒng)中構(gòu)建世界模型,進(jìn)行預(yù)測(cè)和行動(dòng)。如彈鋼琴這樣的行動(dòng),我們需要通過反復(fù)訓(xùn)練,逐漸將運(yùn)動(dòng)序列內(nèi)化,變成肌肉記憶和反射。這些在系統(tǒng)2中反復(fù)出現(xiàn)的行為,會(huì)逐漸沉淀到系統(tǒng)1中。這個(gè)過程可以理解為一個(gè)“快捷通道”的形成過程,稱為Shortcut。
人的視覺識(shí)別過程是一個(gè)層次性的關(guān)系,從最初級(jí)的視覺皮層一直到更高級(jí)的皮層,從簡(jiǎn)單的視覺邊緣特征到線條的方向性,再到線條之間的組合,如角等更高維特征的形成,直到形成物體的感知。這些物體的概念再對(duì)應(yīng)符號(hào)系統(tǒng)和自然語言的綁定,當(dāng)圖像信息經(jīng)過解碼過程進(jìn)入符號(hào)系統(tǒng)后,我們的關(guān)聯(lián)記憶會(huì)幫助我們召回?cái)?shù)字等語義概念。
以人類做加法為例,假設(shè)我們要解決“219 + 13”的問題,這個(gè)過程可能會(huì)遇到一個(gè)看似相同的圖形,比如圖中有"13"和"B"的歧義。這就打破了現(xiàn)在很多人的想法,通常我們喜歡做前向過程,先使用一個(gè)視覺模型處理輸入,然后再將其輸出傳遞給大模型進(jìn)行處理。實(shí)際上,人在理解這個(gè)場(chǎng)景時(shí)是一個(gè)雙向過程,首先有一些直覺的特征傳入到系統(tǒng)2,系統(tǒng)2會(huì)推斷這是一個(gè)做加法任務(wù),并將看似“B”的圖形解釋為13,這個(gè)過程稱為Projection。例如,我們經(jīng)常從一些像素點(diǎn)中識(shí)別出人臉,這就是由上至下的功效發(fā)揮作用,這是對(duì)未來人工智能代理(Agent)的一種啟發(fā)。
另一個(gè)關(guān)鍵的能力是關(guān)聯(lián)記憶。當(dāng)我們開始觀察某個(gè)物體時(shí),比如進(jìn)行加法操作時(shí),我們的大腦并不會(huì)以固定模式運(yùn)作。相反,我們的神經(jīng)網(wǎng)絡(luò)會(huì)并行運(yùn)行,有的神經(jīng)網(wǎng)絡(luò)開始將加法的概念、數(shù)字的概念以及加法規(guī)則等各種信息激活,所有這些信息都會(huì)基于一個(gè)關(guān)聯(lián)網(wǎng)絡(luò)喚醒出來,這樣我們就可以開始下一步的工作。接下來就是所謂的結(jié)構(gòu)推理,我們會(huì)開始將這些符號(hào)結(jié)構(gòu)化,例如,如果它是一個(gè)三位數(shù),我們就會(huì)開始理解它的每一位構(gòu)成整體和部分之間的關(guān)系。
當(dāng)我們已經(jīng)理解到219 + 13是加法時(shí),我們也會(huì)執(zhí)行Structure Inference得到結(jié)構(gòu)的認(rèn)知A+B=C的兩位數(shù)加法結(jié)構(gòu),并將219和A對(duì)應(yīng)上,13和B對(duì)應(yīng)上,這個(gè)過程就是Variable Binding了,我們將具體的實(shí)例與它的角色對(duì)應(yīng)上了。
接著我們要遵循加法規(guī)則進(jìn)行運(yùn)算以實(shí)現(xiàn)我們的目標(biāo)——完成加法任務(wù)。根據(jù)我們打算完成的目標(biāo)以及現(xiàn)在的狀態(tài),我們需要規(guī)劃出達(dá)成目標(biāo)所需要的具體步驟,即執(zhí)行加法規(guī)則。進(jìn)入到這樣一個(gè)循環(huán)過程之中,我們會(huì)額外提到兩個(gè)概念,即"Shortcut"和"Exception"。
那么什么是Shortcut呢?當(dāng)我們初次開始書寫數(shù)字時(shí),速度往往很慢,但隨著練習(xí),我們將逐漸寫得越來越快。這個(gè)過程實(shí)際上包含了一個(gè)叫做“Recoding”的過程,我們會(huì)將熟悉的操作或流程用神經(jīng)元重新表示,這樣就把一個(gè)復(fù)雜的操作簡(jiǎn)化為了一個(gè)子任務(wù),通過類似于傳參的方式控制一個(gè)子神經(jīng)網(wǎng)絡(luò)完成任務(wù)。比如開車,一開始,每個(gè)動(dòng)作都需要集中注意力,嚴(yán)重依賴系統(tǒng)2,但是開了一段時(shí)間之后,就可以自如地進(jìn)行了,這就是因?yàn)橄到y(tǒng)2的控制能力已經(jīng)被沉淀到了系統(tǒng)1里面,稱為Shortcut。
另一個(gè)重要的方面是異常處理能力,人類最強(qiáng)大的能力就是能夠隨時(shí)應(yīng)對(duì)異常。譬如,你在走路時(shí)突然被絆了一跤,你首先需要應(yīng)對(duì)的就是摔倒這個(gè)狀況,然后再回到原來的路線上繼續(xù)走。
因此,在執(zhí)行加法過程中,并不是由于一個(gè)細(xì)節(jié)被中斷或遇到各種異常,才開始執(zhí)行加法。我們會(huì)發(fā)現(xiàn),在遇到各種問題時(shí),我們總是會(huì)奔著目標(biāo)勇往直前。人是一個(gè)運(yùn)作著面向目標(biāo)架構(gòu)的復(fù)雜過程。面向目標(biāo)架構(gòu)是人類智能的一個(gè)核心機(jī)制,當(dāng)然并不是唯一的。有時(shí),我們也會(huì)沒有具體的目標(biāo)或者說目標(biāo)不是顯式的,比如citywalking,同時(shí)有一些底層的目標(biāo)機(jī)制,諸如生存,這說明人的面向目標(biāo)架構(gòu)要復(fù)雜許多。這就是我們不得不說的智能核心的面向目標(biāo)架構(gòu)
3. 面向目標(biāo)架構(gòu)
我們的情緒系統(tǒng)其實(shí)也在解決目標(biāo)問題,例如,你會(huì)因?yàn)槟繕?biāo)無法達(dá)成而生氣,因?yàn)槟繕?biāo)可能無法達(dá)成焦慮,因?yàn)閯e阻礙你的目標(biāo)而憤怒。顯而易見,許多情緒都與目標(biāo)機(jī)制有所關(guān)聯(lián)。因此,這套面向目標(biāo)的機(jī)制在人的智能運(yùn)作中占有極其核心的地位。
讓我們通過一個(gè)簡(jiǎn)單的模型來描述該機(jī)制。首先,我們需要對(duì)這個(gè)世界有理解,因此我們會(huì)在腦中構(gòu)建一個(gè)關(guān)于世界的模型。這個(gè)模型在結(jié)構(gòu)化之后,就會(huì)變成了當(dāng)前世界狀態(tài)。而我們的目標(biāo)是對(duì)應(yīng)的一個(gè)目標(biāo)世界狀態(tài)。因此,人類就是在不停地消除當(dāng)前狀態(tài)和目標(biāo)狀態(tài)之間的差異,這個(gè)消除的過程就是目標(biāo)驅(qū)動(dòng)的過程。
在目標(biāo)驅(qū)動(dòng)的過程中,你開始嘗試去解決這個(gè)問題,消除這個(gè)差異,你也可能有現(xiàn)成的解決方案,直接動(dòng)用已有的解決方案執(zhí)行已知的運(yùn)動(dòng)序列,也可能需要進(jìn)行一定的思考,做出推理分析幫助你解決問題。
一旦你找到了一些執(zhí)行序列,這些序列可能會(huì)變成一個(gè)子序列,子序列里有子目標(biāo)。每個(gè)子目標(biāo)的執(zhí)行有可能是直接完成的,也可能需要進(jìn)一步思考才能完成。正如我們可以看到,GPS這段代碼就是在為了達(dá)成某一個(gè)目標(biāo)而工作,它會(huì)遍歷所有的目標(biāo),嘗試讓每一個(gè)目標(biāo)都能夠達(dá)成,一旦達(dá)成就結(jié)束。有興趣的同學(xué)可以讀一下這個(gè)代碼,就是做暴力遍歷找出達(dá)到目標(biāo)狀態(tài)的操作序列。??????????????
不過,像GPS這種理想的解決方案在現(xiàn)實(shí)世界中可能并不奏效,因?yàn)檎鎸?shí)世界的解空間過于龐大,想想AlphaGo的故事就理解了,這也是為什么雖然此想法在理論上看起來很好,但在實(shí)際操作時(shí)卻無法實(shí)施。
但這種思考很有啟發(fā),在Newell和Simon1972年出版的《Human Problem Solving》一書中,他們研究了人類如何解決問題,并意識(shí)到我們經(jīng)常進(jìn)行手段-目的分析(means-ends)
舉一個(gè)例子:
"我想把兒子送到幼兒園。我現(xiàn)在的狀態(tài)和我想要的狀態(tài)之間有什么區(qū)別?其中一個(gè)是距離。
是什么因素會(huì)改變距離?我的汽車??墒俏业钠噳牧恕R屗ぷ餍枰裁??一個(gè)新電池。
哪里能買到新電池?汽車修理店。我想讓修理店為我安裝一個(gè)新電池,但店里不知道我需要一個(gè)新電池。問題出在哪里?是溝通的問題。什么能讓溝通變得容易?一部電話……以此類推。"
在計(jì)算機(jī)領(lǐng)域,有很多方法都與目標(biāo)機(jī)制相關(guān)。例如,過程描述語言(PDL)就是一種經(jīng)典的方法,主要用于解決機(jī)器人問題。我們可以描述世界上的對(duì)象,它們當(dāng)前的狀態(tài)是怎樣的,目標(biāo)狀態(tài)是怎樣的,有哪些可以采取的操作,然后我們可以基于這些操作,使用規(guī)劃器尋找一個(gè)合適的運(yùn)動(dòng)序列來解決問題。
但在今天計(jì)算機(jī)領(lǐng)域的工程實(shí)踐中,人們更多采用的是面向過程架構(gòu),無論是接口、函數(shù)、UI界面,還是組件,又或者是一個(gè)應(yīng)用程序,都是以接口的形式存在的。而這個(gè)接口實(shí)質(zhì)上是一種被調(diào)用的子流程,借此過程的完成,我們希望執(zhí)行結(jié)果符合我們的預(yù)期,但程序并不為結(jié)果負(fù)責(zé)。它解決的是過程和流程問題,系統(tǒng)內(nèi)沒有目標(biāo)的概念。
當(dāng)然,也存在一些以目標(biāo)導(dǎo)向?yàn)楹诵睦砟畹牡能浖こ?,例如聲明式編程,它只需要你描述你想要什么,而無需關(guān)心執(zhí)行的過程,像HTML和SQL便是其經(jīng)典例子。在這樣的架構(gòu)下,程序能夠自行尋找達(dá)成目標(biāo)的方法。
然而問題在于,這種面向目標(biāo)的架構(gòu)只能應(yīng)用于垂直領(lǐng)域,而無法普遍應(yīng)用到所有領(lǐng)域,只有在特定的領(lǐng)域內(nèi)才能發(fā)揮作用,這就限制了它的應(yīng)用范圍。
總的來說,盡管面向目標(biāo)架構(gòu)在計(jì)算機(jī)領(lǐng)域有一席之地,但由于其只能在特定領(lǐng)域發(fā)揮作用,而無法解決所有領(lǐng)域的問題,因此它的應(yīng)用還是有所限制,更多出現(xiàn)在特定的DSL(領(lǐng)域特定語言)中,這種架構(gòu)的確也發(fā)揮了巨大的作用。在軟件工程的范式遷移中,我們發(fā)現(xiàn)面向過程架構(gòu)與面向目標(biāo)架構(gòu)之間的重要區(qū)別點(diǎn):隨著人類的生產(chǎn)方式的變化,軟件工程可能正逐步演化為智能體工程(Agent Engineering);以前我們主導(dǎo)的生產(chǎn)方式是人類處于中心位,AI做輔助。而未來可能會(huì)變成以 AI 為中心,人類變?yōu)檩o助。由此,整個(gè)產(chǎn)品形態(tài)和平臺(tái)的構(gòu)成可能會(huì)發(fā)生這樣的轉(zhuǎn)變。
在這一轉(zhuǎn)變中,原本由人類主導(dǎo)的功能開發(fā),逐漸演變?yōu)橐灾悄荏w為主要驅(qū)動(dòng)力。傳統(tǒng)的用戶界面,由于其垂直的任務(wù)層級(jí)架構(gòu),每一層都需要人類逐一生成,未來這個(gè)過程可能會(huì)被智能體自主生成并改良。此外,原本只能解決有限范圍的任務(wù),未來的架構(gòu)則可以解決無限域的任務(wù)。就如同頭條這樣的平臺(tái),它是一個(gè)信息的分發(fā)平臺(tái)。那么,是否會(huì)出現(xiàn)新的平臺(tái)模式?比如一種知識(shí)和世界模型的分發(fā)平臺(tái)。以前我們只能處理大量長(zhǎng)尾數(shù)據(jù),在未來可能能解決大量長(zhǎng)尾任務(wù)。以前是廉價(jià)的規(guī)?;影嘿F的個(gè)性化,以后是廉價(jià)的規(guī)?;膫€(gè)性化。
4. 前瞻性分析
根據(jù)上面的分析,我們能看到 Agent 技術(shù)在未來的發(fā)展還有很大的提升空間。我認(rèn)為,這些提升主要可以從幾個(gè)方向開始,包括引入中央執(zhí)行機(jī)構(gòu)、學(xué)習(xí)能力、輸入感知、輸出執(zhí)行、世界模型和記憶等幾個(gè)方面。這些構(gòu)成因素是完備非正交的,都對(duì)提升 AI 技術(shù)至關(guān)重要。
4.1 Central Executive
首先,中央執(zhí)行機(jī)構(gòu),這是一個(gè)核心的概念,但常常被人們忽視。現(xiàn)在的 Agent 只是一個(gè)規(guī)劃器,它負(fù)責(zé)做規(guī)劃。但實(shí)際上,這個(gè)流程中還存在很多未明確的問題,比如,是否存在一個(gè)內(nèi)部加工過程,以及這個(gè)過程是否透明可控等。一種可能的解決辦法是,將內(nèi)部加工過程外部化,用系統(tǒng)2包裹起來,使每一步細(xì)粒度的思考都可以展現(xiàn)出來。
其次是世界模型,現(xiàn)在的大模型只能輸入語言,顯然這樣是不夠的,進(jìn)一步理解世界需要多模態(tài)輸入。這是我們?cè)谖磥硇枰幚淼年P(guān)鍵問題。同樣地,對(duì)于時(shí)間和自身的身體運(yùn)動(dòng)控制的認(rèn)知也需要能夠輸入到大模型里面去。我們觀察到,無論是自動(dòng)駕駛汽車、大模型Agent,還是其他的諸多智能體模型,都已經(jīng)在應(yīng)用這種面向目標(biāo)的架構(gòu)。目前的挑戰(zhàn)在于如何在細(xì)節(jié)上加以改進(jìn),如找出此架構(gòu)未能完成某些任務(wù)的原因,以及這些缺陷是源于大模型底層的子任務(wù)能力不足,還是需要對(duì)框架本身做出改進(jìn),比如增加更多的思考層次,或加入更多的內(nèi)部推演等。
另一個(gè)重要的問題是宏觀注意力。由于大模型的上下文限制,是否可以讓模型自身主動(dòng)去探索外部世界,將其精力和注意力主動(dòng)地投入到解答某些具有目標(biāo)性的問題上去,實(shí)現(xiàn)主動(dòng)的注意力機(jī)制?這不僅涉及到搜索和嘗試的問題,如針對(duì)一些無法思考出解決方案的情況,模型應(yīng)如何去進(jìn)行嘗試,而且這些嘗試何時(shí)能夠帶來進(jìn)步,以及如何去尋找更為優(yōu)秀的解決空間,進(jìn)行推理和規(guī)劃。
4.2 Memory
值得注意的是,數(shù)學(xué)和邏輯學(xué)習(xí)也會(huì)涉及到上述問題,比如人類在很多情況下不擅長(zhǎng)規(guī)劃,那么我們是否可以利用網(wǎng)絡(luò)和記憶機(jī)制來實(shí)現(xiàn)規(guī)劃的功能?這其中就涉及到記憶的內(nèi)化,也就是把大模型從外部世界獲取的經(jīng)驗(yàn)轉(zhuǎn)化為內(nèi)部參數(shù),或者說把這些經(jīng)驗(yàn)轉(zhuǎn)化為內(nèi)存。
目前,我們依賴的記憶機(jī)制主要是把所有的信息存儲(chǔ)在歷史記錄里,然后在需要的時(shí)候進(jìn)行召回。然而,這些信息并未經(jīng)過整理,在一些試圖整理記憶的嘗試中,我們發(fā)現(xiàn)人類是具有這種能力的。人類在獲得大量相關(guān)的知識(shí)后,不會(huì)簡(jiǎn)單地把它們堆積在腦中,因?yàn)槿说纳窠?jīng)元存儲(chǔ)空間是有限的。相反,人腦會(huì)通過海馬體進(jìn)行整理,而在我們做夢(mèng)時(shí),大腦會(huì)重新構(gòu)造這些相關(guān)的知識(shí),使得記憶網(wǎng)絡(luò)變得有序。
然而,現(xiàn)在我們?cè)趺慈?shí)現(xiàn)這種能力?目前還未見到具有遺忘功能的模型,也就是刪掉一些垃圾信息或錯(cuò)誤的信息。在大模型訓(xùn)練過程中,產(chǎn)生了許多無用甚至是錯(cuò)誤的信息,而我們?cè)诠ぷ髦兄皇遣捎昧嗽S多方式來規(guī)避這些錯(cuò)誤的信息,但為什么不試圖去刪掉它們呢?如果能夠?qū)⑦@些信息替換為有價(jià)值的信息,那將是一件有價(jià)值的事。我注意到在人工智能領(lǐng)域中,對(duì)于長(zhǎng)短時(shí)記憶與工作記憶,以及它們之間的關(guān)系討論并不深入,更常見的是,人們將長(zhǎng)短時(shí)記憶簡(jiǎn)化為向量數(shù)據(jù)庫。我想解決這個(gè)問題,嘗試對(duì)這兩者進(jìn)行深層次的理解,并建立更完備,更正交的關(guān)系也很重要。
4.3 Sensory
當(dāng)人工智能Agent融入人類生活后,它與我們的體驗(yàn)和經(jīng)歷能否成為Agent自身的存儲(chǔ)內(nèi)容?如果可以,那么在未來,我們與Agent之間的互動(dòng)將會(huì)變得更加實(shí)用,更加貼近現(xiàn)實(shí)生活,更加有溫度。
在輸入的問題上,我明確地看到了多模態(tài)輸入的必要性,同時(shí),對(duì)于時(shí)間感知我認(rèn)為也非常重要,時(shí)間性對(duì)于運(yùn)動(dòng)控制任務(wù)極其重要。引入多模態(tài)輸入后,我們還要解決一個(gè)自上而下的機(jī)制問題,就是Projection啟發(fā)的這個(gè)點(diǎn),OCR嫁接術(shù)一定會(huì)在某類任務(wù)存在缺陷。
4.4 Motor
在交流方式上,我認(rèn)為不應(yīng)僅僅依賴于語言,雖然現(xiàn)在的交流基本都是基于語言的,但是,語言是一個(gè)低帶寬且低效的通信工具。我在想,我們能否引入一種新的溝通方式 - 類似心靈感應(yīng)的方式,讓Agent在隱空間通信。
關(guān)于運(yùn)動(dòng)控制,當(dāng)前的方式包括一些機(jī)器人應(yīng)用,都比較結(jié)構(gòu)化。但我認(rèn)為,在未來,大模型的神經(jīng)網(wǎng)絡(luò)應(yīng)該可以直接連接到運(yùn)動(dòng)控制的神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)層次化控制,使得運(yùn)動(dòng)更為流暢,甚至比人類更為靈活。
在另一方面,運(yùn)動(dòng)控制也應(yīng)該是數(shù)據(jù)化的,而不是僅僅處于我們所說的”計(jì)劃者“的層面。如果有一個(gè)命令下達(dá),神經(jīng)網(wǎng)絡(luò)應(yīng)該可以直接執(zhí)行。
除此之外,還有一些亞符號(hào)的控制,在大模型直接對(duì)接神經(jīng)網(wǎng)絡(luò)時(shí),我們應(yīng)當(dāng)避免通過語言來描述,因?yàn)槲覀兛梢酝ㄟ^這種方式得到的信息量會(huì)比通過語言描述來得多。
同時(shí),也需要進(jìn)行一些外部工具的優(yōu)化,讓現(xiàn)有的工具更適應(yīng)我們的需求,比如一些愿意為了方便Agent調(diào)用進(jìn)行改造的工具服務(wù)商將會(huì)在新的價(jià)值網(wǎng)絡(luò)中占據(jù)一席之地,如一個(gè)旅游服務(wù)供應(yīng)商,加入下一代Agent平臺(tái)之后,Agent在完成用戶旅游類任務(wù)時(shí)可能會(huì)有限調(diào)用它,并使用類似Web3的技術(shù)進(jìn)行價(jià)值分配。
4.5 Learning
任何一個(gè)產(chǎn)品,或者說Agent,都需要學(xué)習(xí)。學(xué)習(xí)的過程是十分重要的,尤其是模型需要學(xué)會(huì)對(duì)自身的可靠性進(jìn)行判斷,知道自己知道什么,更重要的是,知道自己并不知道什么,不擅長(zhǎng)什么,這將會(huì)對(duì)模型的發(fā)展產(chǎn)生重大影響。關(guān)于大型模型的優(yōu)化,我認(rèn)為最關(guān)鍵的問題就在于模型需要明確自己的能力范圍。有些問題,大模型不能張口就來直接給出答案,過于逞能,它應(yīng)該經(jīng)過仔細(xì)的思考,保證任務(wù)目標(biāo)的準(zhǔn)確達(dá)成。
同時(shí),我們也需要考慮模型的權(quán)威性問題。大模型可能從互聯(lián)網(wǎng)和垃圾信息中學(xué)到很多知識(shí),但這并不意味著它在解決問題時(shí)能提供最權(quán)威、最佳的做法。我們需要把這個(gè)模型訓(xùn)練到,即使是在面對(duì)垃圾信息輸入時(shí),它也能輸出更好的、更有價(jià)值的解決方案。
另一方面,我們還需要考慮到模型的多樣性。很多時(shí)候,為了保證任務(wù)的有效執(zhí)行,我們往往會(huì)控制模型的溫度參數(shù),以保持其輸出的穩(wěn)定性。但是,在保證模型正確性的同時(shí),我們也不應(yīng)該忽略它的思維活躍度。我們應(yīng)允許智能體在解決任務(wù)時(shí)有更大的解空間,以便找到最優(yōu)的解決方案。
4.6 World Models
關(guān)于世界模型 ,我們需要注意的是,盡管模型的訓(xùn)練數(shù)據(jù)中可能含有很多垃圾信息和錯(cuò)誤信息,我們還需要讓模型具有辨別和整理這些信息的能力,以構(gòu)建一個(gè)無矛盾、統(tǒng)一的實(shí)體網(wǎng)絡(luò),這一點(diǎn)鮮被提及,我認(rèn)為現(xiàn)在黯然神傷的之前做知識(shí)圖譜的同學(xué)可以重點(diǎn)考慮一下這個(gè)方向。??????
在此基礎(chǔ)上,我們還需要讓模型具備推理能力。一個(gè)優(yōu)秀的智能體不應(yīng)該僅僅依賴于內(nèi)部推理,而應(yīng)該有能力借助外部推理,當(dāng)然這個(gè)外部推理可以當(dāng)做工具來使用。
最后,我們還必須強(qiáng)化模型的內(nèi)部思考機(jī)制。當(dāng)調(diào)用一些有成本的接口時(shí),模型不能只是“想到就做到”,而應(yīng)該有自我覺知的能力,或者叫Mental Simulation,預(yù)判自己的行動(dòng)可能會(huì)帶來的結(jié)果,并在內(nèi)部進(jìn)行糾錯(cuò),以保證行動(dòng)的可靠性,這不同于Reflection是執(zhí)行后根據(jù)執(zhí)行結(jié)果再反思。進(jìn)一步,我們可能更大的關(guān)注點(diǎn)應(yīng)該是它在家庭生活及現(xiàn)實(shí)社會(huì)中的應(yīng)用上,將其實(shí)現(xiàn)為實(shí)體化的機(jī)器人,那么動(dòng)力學(xué)機(jī)制和時(shí)間性認(rèn)知還是很重要的,而當(dāng)前的大模型僅是一個(gè)簡(jiǎn)單的循環(huán)調(diào)用,無法實(shí)現(xiàn)這方面的任務(wù)。
好,以上就是我對(duì)一些方向的淺顯思考。??????
最后,我們以偉人的一段話來結(jié)尾:Agent 技術(shù),它是站在海岸遙望海中已經(jīng)看得見桅桿尖頭了的一只航船,它是立于高山之巔遠(yuǎn)看東方已見光芒四射噴薄欲出的一輪朝日,它是躁動(dòng)于母腹中的快要成熟了的一個(gè)嬰兒。
編輯:黃飛
?
評(píng)論
查看更多