中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
OpenAI早就不卷大模型,開(kāi)始卷AI Agents了?這是一篇來(lái)自O(shè)penAI應(yīng)用研究主管關(guān)于Agent的萬(wàn)字長(zhǎng)文
“如果一篇論文提出了某種不同的訓(xùn)練方法,OpenAI內(nèi)部的Slack上會(huì)嗤之以鼻,因?yàn)檫@些都是我們玩剩下的。但是當(dāng)新的AI Agents論文出來(lái)的時(shí)候,我們才會(huì)認(rèn)真興奮的討論?!?/span>

最近Andrej Karpathy這位OpenAI聯(lián)合創(chuàng)始人在一個(gè)開(kāi)發(fā)者活動(dòng)上發(fā)表簡(jiǎn)短講話,談?wù)摿俗约汉蚈penAI內(nèi)部對(duì)AI Agents (人工智能代理人)的看法。

Andrej Karpathy對(duì)比了過(guò)去開(kāi)發(fā)AI Agent的困難和現(xiàn)在新技術(shù)工具下開(kāi)發(fā)的新機(jī)會(huì),他還不忘調(diào)侃自己在特斯拉的工作,是“被自動(dòng)駕駛分了心”,他認(rèn)為自動(dòng)駕駛和VR都是糟糕的AI Agents的例子。

另一方面,Andrej Karpathy認(rèn)為普通人、創(chuàng)業(yè)者和極客在構(gòu)建AI Agents方面相比OpenAI這樣的公司更有優(yōu)勢(shì),大家目前處于平等競(jìng)爭(zhēng)的狀態(tài),因此他很期待看到這方面的成果。Karpathy完整的分享視頻在文章結(jié)尾。    

6月27日,OpenAI應(yīng)用研究主管LilianWeng撰寫(xiě)了一篇萬(wàn)字長(zhǎng)文,其中還有部分章節(jié)是ChatGPT幫她起草的。她提出Agent = LLM(大型語(yǔ)言模型)+ 記憶 + 規(guī)劃技能 + 工具使用,并對(duì)Agent的每個(gè)模塊的功能作了詳細(xì)的說(shuō)明,最后她非??春肁gent未來(lái)的應(yīng)用前景,但也表明挑戰(zhàn)無(wú)處不在。

我把這篇長(zhǎng)文翻譯了下,并加上自己的一些理解和體會(huì),接下來(lái)讓我們一起看看大佬都說(shuō)了些什么吧!文章篇幅較長(zhǎng),希望小伙們可以耐心看完。原文鏈接在文章結(jié)尾。

以LLM(大型語(yǔ)言模型)作為其核心控制器構(gòu)建代理是一個(gè)很酷的概念。幾個(gè)概念驗(yàn)證演示,如AutoGPT、GPT-Engineer和BabyAGI,都是鼓舞人心的例子。LLM的潛力不僅限于生成寫(xiě)作、故事、論文和程序等優(yōu)秀的副本,它可以被構(gòu)建為一個(gè)強(qiáng)大的通用問(wèn)題解決器。

代理系統(tǒng)概述

在以LLM驅(qū)動(dòng)的自主代理系統(tǒng)中,LLM作為代理的大腦,輔以幾個(gè)關(guān)鍵組件:

  • 規(guī)劃
    • 子目標(biāo)和分解:代理將大型任務(wù)分解為較小,可管理的子目標(biāo),從而有效地處理復(fù)雜的任務(wù)。
    • 反思和改進(jìn):代理可以對(duì)過(guò)去的行動(dòng)進(jìn)行自我批評(píng)和自我反思,從錯(cuò)誤中學(xué)習(xí)并改進(jìn)未來(lái)的步驟,從而提高最終結(jié)果的質(zhì)量
  • 記憶
    • 我將所有的上下文學(xué)習(xí)(參考Prompt Engineering)都看成是利用模型的短期記憶來(lái)學(xué)習(xí)。
    • 長(zhǎng)期記憶:長(zhǎng)期記憶為代理提供了長(zhǎng)期存儲(chǔ)和召回(無(wú)限)信息的能力,它們通常通過(guò)利用外部的向量存儲(chǔ)和快速檢索來(lái)存儲(chǔ)和召回(無(wú)限)信息。
  • 使用工具
    • 代理通過(guò)學(xué)會(huì)調(diào)用外部API來(lái)獲取模型權(quán)重(通常在預(yù)訓(xùn)練后很難修改)中缺少的額外信息,包括當(dāng)前信息,代碼執(zhí)行能力,訪問(wèn)專(zhuān)有信息源等。

組件一:計(jì)劃

復(fù)雜的任務(wù)通常涉及許多步驟。代理需要知道具體的任務(wù)是什么并開(kāi)始提前計(jì)劃。

任務(wù)分解

思維鏈(CoT,Chain of thought)已成為一種標(biāo)準(zhǔn)prompting技術(shù),用于增強(qiáng)復(fù)雜任務(wù)上的模型性能。指示該模型“逐步思考”,以利用更多的測(cè)試時(shí)間計(jì)算將困難任務(wù)分解為更小,更簡(jiǎn)單的步驟。COT將重大任務(wù)轉(zhuǎn)換為多個(gè)可管理的任務(wù),并將注意力放到對(duì)模型思考過(guò)程的可解釋性中。

思維樹(shù)Tree of Thoughts通過(guò)探索每個(gè)步驟的多種推理可能性來(lái)擴(kuò)展COT。它首先將問(wèn)題分解為多個(gè)思考步驟,并且每個(gè)步驟都生成多個(gè)想法,從而可以創(chuàng)建一個(gè)樹(shù)形結(jié)構(gòu)。思維樹(shù)的搜索過(guò)程可以是BFS(廣度優(yōu)先搜索)或DFS(深度優(yōu)先搜索),每個(gè)狀態(tài)都由分類(lèi)器(通過(guò)prompt)或多數(shù)投票決定。

拆解任務(wù)可以使用三種方式:

(1)使用簡(jiǎn)單的提示讓LLM拆解,例如:“XYZ的步驟”,“實(shí)現(xiàn)XYZ的子目標(biāo)是什么?”。

(2)使用特定任務(wù)的指令,例如“寫(xiě)一個(gè)故事大綱。”用于寫(xiě)小說(shuō)。

(3)人類(lèi)自己拆解

另一種截然不同的方法是 LLM+P,它涉及依賴(lài)外部經(jīng)典規(guī)劃器來(lái)進(jìn)行長(zhǎng)期規(guī)劃。該方法利用規(guī)劃領(lǐng)域定義語(yǔ)言(PDDL)作為描述規(guī)劃問(wèn)題的中間接口。在此過(guò)程中,LLM (1) 將問(wèn)題轉(zhuǎn)化為“問(wèn)題PDDL”,然后 (2) 請(qǐng)求經(jīng)典規(guī)劃器基于現(xiàn)有的“領(lǐng)域 PDDL”生成 PDDL規(guī)劃,最后 (3) 將 PDDL 規(guī)劃轉(zhuǎn)化回自然語(yǔ)言。本質(zhì)上,規(guī)劃步驟被外包給外部工具,假設(shè)特定領(lǐng)域的PDDL和合適的規(guī)劃器都是可用的,這種假設(shè)在某些機(jī)器人設(shè)置中很常見(jiàn),但在許多其他領(lǐng)域并不常見(jiàn)。

反思

自我反思是一個(gè)很重要的方面,它允許自主代理通過(guò)改進(jìn)過(guò)去的行動(dòng)決策和糾正以前的錯(cuò)誤來(lái)進(jìn)行迭代改進(jìn)。它在不可避免的出現(xiàn)試錯(cuò)的現(xiàn)實(shí)任務(wù)中發(fā)揮著至關(guān)重要的作用。

ReAct通過(guò)將行動(dòng)空間擴(kuò)展為特定任務(wù)的離散行動(dòng)和語(yǔ)言空間的組合,將推理和行動(dòng)集成到 LLM中。前者使 LLM 能夠與環(huán)境交互(例如使用維基百科搜索API),后者能夠促使LLM 生成自然語(yǔ)言的推理軌跡。

ReAct提示模板包括LLM思考的明確步驟,大致格式為:

Thought: ...
Action: ...
Observation: ...
... (Repeated many times)

在知識(shí)密集型任務(wù)和決策任務(wù)的兩個(gè)實(shí)驗(yàn)中,ReAct的表現(xiàn)優(yōu)于僅包含行動(dòng)的基準(zhǔn)模型,其中基準(zhǔn)模型去除了“思考:…”步驟。

反思是一個(gè)框架,它為代理提供動(dòng)態(tài)記憶和自我反思的能力,以提高它的推理技能。反思采用標(biāo)準(zhǔn)的強(qiáng)化學(xué)習(xí)設(shè)置,其中獎(jiǎng)勵(lì)模型提供簡(jiǎn)單的二元獎(jiǎng)勵(lì),行動(dòng)空間遵循 ReAct 中的設(shè)置,同時(shí)特定任務(wù)的行動(dòng)空間通過(guò)語(yǔ)言來(lái)增強(qiáng)復(fù)雜的推理步驟。在每個(gè)行動(dòng)at之后,Agent會(huì)計(jì)算一個(gè)啟發(fā)式值ht,并根據(jù)自我反思的結(jié)果決定是否重置環(huán)境以開(kāi)始新的試驗(yàn)。

啟發(fā)式函數(shù)用于判斷LLM的行動(dòng)軌跡什么時(shí)候開(kāi)始低效或者包含幻覺(jué),并在這個(gè)時(shí)刻停止任務(wù)。低效計(jì)劃是指花費(fèi)了大量時(shí)間但沒(méi)有沒(méi)有成功的路徑?;糜X(jué)的定義為L(zhǎng)LM遇到了一系列連續(xù)的相同動(dòng)作,這些動(dòng)作導(dǎo)致LM在環(huán)境中觀察到了相同的結(jié)果。

通過(guò)向LLM展示兩個(gè)例子來(lái)創(chuàng)建自我反思,每個(gè)例子都是一個(gè)pair對(duì)(失敗的軌跡,用于指導(dǎo)未來(lái)計(jì)劃變化的理想反思)。然后將反思添加到代理的工作記憶中,反省的數(shù)量最多三個(gè),主要用作查詢(xún) LLM 的上下文。

「Chain of Hindsight,CoH(Hindsight可以翻譯為“事后諸葛亮通過(guò)明確呈現(xiàn)一系列過(guò)去的輸出序列,并為每個(gè)輸出注釋反饋,鼓勵(lì)模型改進(jìn)自己的輸出。人類(lèi)反饋數(shù)據(jù)是一個(gè)集合,其中是提示,每個(gè)是模型完成的結(jié)果,是人類(lèi)對(duì)的打分,是相應(yīng)的人類(lèi)提供的hindsight反饋。假設(shè)反饋元組按獎(jiǎng)勵(lì)排名,則該過(guò)程是有監(jiān)督的微調(diào),其中數(shù)據(jù)是形式為的序列,其中。模型被微調(diào)為僅在給定序列前綴的條件下預(yù)測(cè),以便模型可以根據(jù)反饋序列進(jìn)行自我反思以產(chǎn)生更好的輸出。在測(cè)試時(shí),模型可以選擇性地接收多輪帶有人類(lèi)注釋者的指令。

為了避免過(guò)擬合,CoH添加了一個(gè)正則化項(xiàng)來(lái)最大化預(yù)訓(xùn)練數(shù)據(jù)集的對(duì)數(shù)似然。為了避免捷徑和復(fù)制(因?yàn)榉答佇蛄兄杏性S多常見(jiàn)單詞),他們?cè)谟?xùn)練期間隨機(jī)mask 0%-5%的歷史token。

實(shí)驗(yàn)中的訓(xùn)練數(shù)據(jù)集是 WebGPT的對(duì)比、人類(lèi)反饋摘要和人類(lèi)偏好數(shù)據(jù)集的組合。

CoH的思想是在上下文中呈現(xiàn)一系列逐步改進(jìn)的歷史,并訓(xùn)練模型能夠跟隨趨勢(shì)產(chǎn)出更好的結(jié)果。算法蒸餾Algorithm Distillation)將相同的思想應(yīng)用于強(qiáng)化學(xué)習(xí)任務(wù)中的跨劇情軌跡,其中算法被封裝在一個(gè)長(zhǎng)期歷史條件策略中??紤]到代理與環(huán)境的多次交互,每一集中代理都會(huì)表的更好一些,AD 將這個(gè)學(xué)習(xí)歷史連接起來(lái)并將其輸入到模型中。因此,我們應(yīng)該期望下一個(gè)預(yù)測(cè)的動(dòng)作比之前的試驗(yàn)表現(xiàn)更好。我們的目標(biāo)是學(xué)習(xí)強(qiáng)化學(xué)習(xí)的過(guò)程,而不是訓(xùn)練一個(gè)用于特定任務(wù)的策略本身。

該論文假設(shè),任何生成一系列學(xué)習(xí)歷史數(shù)據(jù)的算法都可以通過(guò)對(duì)動(dòng)作執(zhí)行克隆行為來(lái)蒸餾成神經(jīng)網(wǎng)絡(luò)。歷史數(shù)據(jù)是由一組源策略生成的,每個(gè)源策略都是針對(duì)特定任務(wù)進(jìn)行訓(xùn)練。在訓(xùn)練階段,每次強(qiáng)化學(xué)習(xí)運(yùn)行時(shí),會(huì)隨機(jī)抽樣一個(gè)任務(wù),并使用多集歷史記錄的子序列進(jìn)行訓(xùn)練,使得學(xué)習(xí)到的策略與任務(wù)無(wú)關(guān)。

實(shí)際上,該模型的上下文窗口長(zhǎng)度是有限的,因此使用的劇集應(yīng)該足夠短,以方便構(gòu)建多劇集歷史數(shù)據(jù)。要學(xué)習(xí)幾乎最優(yōu)的上下文強(qiáng)化學(xué)習(xí)算法,需要2-4個(gè)劇集的多劇集上下文。上下文強(qiáng)化學(xué)習(xí)往往需要足夠長(zhǎng)的上下文。

與三個(gè)基線包括 ED(專(zhuān)家蒸餾,使用專(zhuān)家軌跡而不是學(xué)習(xí)歷史數(shù)據(jù)的行為克?。⒃床呗裕ㄓ糜谏蒛CB蒸餾的軌跡)和 RL^2(用作上限,因?yàn)樗枰诰€強(qiáng)化學(xué)習(xí))相比。盡管AD只使用離線強(qiáng)化學(xué)習(xí),但依它然展示了性能和 RL^2接近的上下文強(qiáng)化學(xué)習(xí)的能力,并且學(xué)習(xí)速度比其他基線快得多。在給定源策略的部分歷史訓(xùn)練數(shù)據(jù)的條件下,AD的改進(jìn)速度也比ED基線多。

組件二:記憶

非常感謝 ChatGPT 幫助我起草本節(jié)。在與 ChatGPT 的對(duì)話中,我學(xué)到了很多關(guān)于人腦和快速 MIPS 的數(shù)據(jù)結(jié)構(gòu)的知識(shí)。

記憶的類(lèi)型

記憶可以定義為用于獲取、存儲(chǔ)、保留以及隨后檢索信息的過(guò)程。人腦中有多種記憶類(lèi)型。

  1. 感覺(jué)記憶:這是記憶的最早階段,提供在原始刺激結(jié)束后保留感覺(jué)信息(視覺(jué)、聽(tīng)覺(jué)等)印象的能力。感覺(jué)記憶通常只能持續(xù)幾秒鐘。感覺(jué)記憶的子類(lèi)別包括圖像記憶(視覺(jué))、回聲記憶(聽(tīng)覺(jué))和觸覺(jué)記憶(觸摸)。
  2. 短期記憶或者工作記憶:它存儲(chǔ)我們當(dāng)前意識(shí)到的以及執(zhí)行學(xué)習(xí)和推理等復(fù)雜認(rèn)知任務(wù)所需的信息。短期記憶被認(rèn)為具有大約 7 個(gè)物品的容量(Miller 1956)并且持續(xù) 20-30 秒。
  3. 長(zhǎng)期記憶:長(zhǎng)期記憶可以存儲(chǔ)相當(dāng)長(zhǎng)的時(shí)間信息,從幾天到幾十年不等,存儲(chǔ)容量基本上是無(wú)限的。LTM 有兩種亞型:
    • 顯示/陳述性記憶:這是對(duì)事實(shí)和事件的記憶,是指那些可以有意識(shí)地回憶起來(lái)的記憶,包括情景記憶(事件和經(jīng)歷)和語(yǔ)義記憶(事實(shí)和概念)。
    • 隱含/程序性記憶:這種類(lèi)型的記憶是無(wú)意識(shí)的,涉及自動(dòng)執(zhí)行的技能和程序,例如騎自行車(chē)或在鍵盤(pán)上打字。

我們可以大致考慮以下映射:

  • 感覺(jué)記憶作為學(xué)習(xí)嵌入表示的原始輸入,包括文本、圖像或其他模態(tài);
  • 短期記憶作為上下文學(xué)習(xí)。它是短暫和有限的,因?yàn)樗艿絋ransformer有限上下文窗口長(zhǎng)度的限制。
  • 長(zhǎng)期記憶作為代理可以在查詢(xún)時(shí)關(guān)注的外部向量存儲(chǔ),可通過(guò)快速檢索訪問(wèn)。

最大內(nèi)積搜索 (MIPS)

外部記憶可以緩解有限注意力廣度的限制。一個(gè)標(biāo)準(zhǔn)做法是將信息的embedding表示保存到一個(gè)向量存儲(chǔ)數(shù)據(jù)庫(kù)中,該數(shù)據(jù)庫(kù)可以支持快速最大內(nèi)積搜索(MIPS)。為了優(yōu)化檢索速度,常見(jiàn)的選擇是近似最近鄰 (ANN)算法,它能返回大約前 k 個(gè)最近鄰,以犧牲一點(diǎn)精度來(lái)?yè)Q取巨大的加速。

以下幾種常見(jiàn)的ANN算法都可以用于MIPS:

LSH(Locality-Sensitive Hashing)它引入了一種哈希函數(shù),使得相似的輸入能以更高的概率映射到相同的桶中,其中桶的數(shù)量遠(yuǎn)小于輸入的數(shù)量。

ANNOY(Approximate Nearest Neighbors)它的核心數(shù)據(jù)結(jié)構(gòu)是隨機(jī)投影樹(shù),實(shí)際是一組二叉樹(shù),其中每個(gè)非葉子節(jié)點(diǎn)表示一個(gè)將輸入空間分成兩半的超平面,每個(gè)葉子節(jié)點(diǎn)存儲(chǔ)一個(gè)數(shù)據(jù)。二叉樹(shù)是獨(dú)立且隨機(jī)構(gòu)建的,因此在某種程度上,它模仿了哈希函數(shù)。ANNOY會(huì)在所有樹(shù)中迭代地搜索最接近查詢(xún)的那一半,然后不斷聚合結(jié)果。這個(gè)想法與 KD 樹(shù)非常相關(guān),但更具可擴(kuò)展性。

HNSW(Hierarchical Navigable Small World)它受到小世界網(wǎng)絡(luò)思想的啟發(fā),其中大多數(shù)節(jié)點(diǎn)可以在很少的步驟內(nèi)被任何其他節(jié)點(diǎn)到觸達(dá);例如社交網(wǎng)絡(luò)的“六度分隔”理論。HNSW構(gòu)建這些小世界圖的層次結(jié)構(gòu),其中底層結(jié)構(gòu)包含實(shí)際數(shù)據(jù)。中間的層創(chuàng)建快捷方式以加快搜索速度。執(zhí)行搜索時(shí),HNSW從頂層的隨機(jī)節(jié)點(diǎn)開(kāi)始,導(dǎo)航至目標(biāo)。當(dāng)它無(wú)法靠近時(shí),它會(huì)向下移動(dòng)到下一層,直到到達(dá)最底層。上層中的每個(gè)移動(dòng)都可能覆蓋數(shù)據(jù)空間中的很長(zhǎng)一段距離,而下層中的每個(gè)移動(dòng)都可以細(xì)化搜索質(zhì)量。

FAISS(facebook AI Similarity Search)它運(yùn)行的假設(shè)是:高維空間中節(jié)點(diǎn)之間的距離服從高斯分布,因此這些數(shù)據(jù)點(diǎn)之間存在著聚類(lèi)點(diǎn)。faiss通過(guò)將向量空間劃分為簇,然后在簇內(nèi)使用用向量量化。faiss首先使用粗粒度量化方法來(lái)查找候選簇,然后進(jìn)一步使用更精細(xì)的量化方法來(lái)查找每個(gè)簇。

ScaNN(Scalable Nearest Neighbors)的主要?jiǎng)?chuàng)新在于各向異性向量量化。它將數(shù)據(jù)點(diǎn)量化為一個(gè)向量,使得它們的內(nèi)積與原始距離盡可能相似,而不是選擇最接近的量化質(zhì)心點(diǎn)。

組件三:使用工具

懂得使用工具是人類(lèi)最顯著和最獨(dú)特的地方。我們創(chuàng)造、修改和利用外部事物來(lái)完成并超越我們身體和認(rèn)知極限的事情。同樣地。我們也可以為 LLMs 配備外部工具來(lái)顯著擴(kuò)展模型的能力。

MRKL是“模塊化推理、知識(shí)和語(yǔ)言”的縮寫(xiě),是一種用于自主代理的神經(jīng)符號(hào)架構(gòu)。MRKL 系統(tǒng)包含一組“專(zhuān)家”模塊,同時(shí)通用的LLM會(huì)作為路由器將查詢(xún)路由到最合適的專(zhuān)家模塊。這些模塊可以是神經(jīng)模塊(例如深度學(xué)習(xí)模型)或符號(hào)模塊(例如數(shù)學(xué)計(jì)算器、貨幣轉(zhuǎn)換器、天氣 API)。

MRKL的研究團(tuán)隊(duì)對(duì)微調(diào) LLM進(jìn)行了實(shí)驗(yàn),以調(diào)用計(jì)算器為例,使用算術(shù)作為測(cè)試案例。實(shí)驗(yàn)結(jié)果表明,解決口頭數(shù)學(xué)問(wèn)題比明確陳述的數(shù)學(xué)問(wèn)題更難,因?yàn)長(zhǎng)LMs(7B Jurassic1-large 模型)無(wú)法可靠地提取基本算術(shù)的正確參數(shù)。實(shí)驗(yàn)結(jié)果也同樣強(qiáng)調(diào)了當(dāng)外部符號(hào)工具能夠可靠地工作時(shí),知道何時(shí)以及如何使用這些工具是至關(guān)重要的,這取決于 LLM 的能力。

TALM(工具增強(qiáng)語(yǔ)言模型)和 Toolformer都通過(guò)微調(diào)一個(gè)LM來(lái)學(xué)習(xí)使用外部工具 API。該數(shù)據(jù)集是基于新添加的 API 調(diào)用注釋是否可以提高模型輸出質(zhì)量而擴(kuò)展的。

ChatGPT 插件和 OpenAI API 函數(shù)調(diào)用是具有工具使用能力的 LLM 在實(shí)踐中的最好的例子。工具 API 的集合可以由其他開(kāi)發(fā)人員提供(如插件中的情況),也可以自定義(如函數(shù)調(diào)用中的情況)。

HuggingGPT是一個(gè)框架,它使用 ChatGPT 作為任務(wù)規(guī)劃器,根據(jù)每個(gè)模型的描述來(lái)選擇 HuggingFace 平臺(tái)上可用的模型,并根據(jù)模型的執(zhí)行結(jié)果總結(jié)生成最后的響應(yīng)結(jié)果。

該系統(tǒng)由下面四個(gè)階段組成:

(1) 任務(wù)規(guī)劃:LLM 作為大腦,將用戶請(qǐng)求解析為多個(gè)任務(wù)。每個(gè)任務(wù)都有四個(gè)屬性:任務(wù)類(lèi)型、ID、依賴(lài)關(guān)系和參數(shù)。他們使用少量示例來(lái)指導(dǎo) LLM 進(jìn)行任務(wù)解析和規(guī)劃。

具體指令如下:

AI助手可以將用戶輸入解析為多個(gè)任務(wù):[{'task': task, 'id', task_id, 'dep': dependency_task_ids, 'args': {'text': text, 'image': URL, 'audio': URL, 'video': URL}}]。'dep'字段表示前一個(gè)任務(wù)的ID,該任務(wù)生成了當(dāng)前任務(wù)所依賴(lài)的新資源。特殊標(biāo)記“-task_id”指的是具有任務(wù)ID為task_id的依賴(lài)任務(wù)中生成的文本圖像、音頻和視頻。任務(wù)必須從以下選項(xiàng)中選擇:{{可用任務(wù)列表}}。任務(wù)之間存在邏輯關(guān)系,請(qǐng)注意它們的順序。如果無(wú)法解析用戶輸入,則需要回復(fù)空的JSON。以下是幾個(gè)示例供您參考:{{演示}}。聊天記錄記錄為{{聊天記錄}}。從這個(gè)聊天記錄中,您可以找到用戶提到的資源的路徑,以進(jìn)行任務(wù)規(guī)劃。

(2) 模型選擇:LLM 將任務(wù)分配給專(zhuān)家模型,其中請(qǐng)求被構(gòu)建為多項(xiàng)選擇題。LLM 提供了一個(gè)模型列表供選擇。由于上下文長(zhǎng)度有限,需要基于任務(wù)類(lèi)型進(jìn)行過(guò)濾。

具體指令如下

根據(jù)用戶請(qǐng)求和調(diào)用命令,AI助手幫助用戶從模型列表中選擇一個(gè)合適的模型來(lái)處理用戶請(qǐng)求。AI助手僅輸出最合適模型的模型ID。輸出必須采用嚴(yán)格的JSON格式:'id': 'id', 'reason': '您選擇該模型的詳細(xì)原因'。我們?yōu)槟峁┝艘粋€(gè)模型列表{{候選模型}}供選擇。請(qǐng)從列表中選擇一個(gè)模型。

(3) 任務(wù)執(zhí)行:專(zhuān)家模型在特定任務(wù)上執(zhí)行并記錄結(jié)果。

具體指令如下

根據(jù)輸入和推理結(jié)果,AI助手需要描述過(guò)程和結(jié)果。前面的階段可以形成如下 - 用戶輸入:{{用戶輸入}},任務(wù)規(guī)劃:{{任務(wù)}},模型選擇:{{模型分配}},任務(wù)執(zhí)行:{{預(yù)測(cè)結(jié)果}}。您必須首先以簡(jiǎn)單明了的方式回答用戶的請(qǐng)求。然后以第一人稱(chēng)描述任務(wù)過(guò)程,并向用戶展示您的分析和模型推理結(jié)果。如果推理結(jié)果包含文件路徑,則必須告訴用戶完整的文件路徑。

(4) 響應(yīng)生成:LLM 接收?qǐng)?zhí)行結(jié)果并向用戶提供總結(jié)結(jié)果。

要將HuggingGPT應(yīng)用于實(shí)際場(chǎng)景中,需要解決一些挑戰(zhàn):(1) 需要提高效率,因?yàn)長(zhǎng)LM推理輪次和與其他模型的交互都會(huì)減慢處理速度;(2) 它依賴(lài)于長(zhǎng)上下文窗口來(lái)傳達(dá)復(fù)雜的任務(wù)內(nèi)容;(3) 需要提高LLM輸出和外部模型服務(wù)的穩(wěn)定性。

API-Bank是用于評(píng)估工具增強(qiáng)LLM性能的基準(zhǔn)。它包含53個(gè)常用的API工具、完整的工具增強(qiáng)LLM工作流程以及264個(gè)帶有568個(gè)API調(diào)用的注釋對(duì)話。API的選擇非常多樣化,包括搜索引擎、計(jì)算器、日歷查詢(xún)、智能家居控制、日程管理、健康數(shù)據(jù)管理、賬戶認(rèn)證工作流程等等。由于API數(shù)量眾多,LLM首先訪問(wèn)API搜索引擎以找到正確的API進(jìn)行調(diào)用,然后使用相應(yīng)的文檔進(jìn)行調(diào)用。

在API-Bank工作流程中,LLM需要做出一些決策,而在每個(gè)步驟中,我們都可以評(píng)估該決策的準(zhǔn)確性。這些決策包括:

  1. 判斷是否需要進(jìn)行API調(diào)用。
  2. 確定要調(diào)用的正確API:如果不夠好,LLM需要迭代修改API輸入(例如,為搜索引擎API決定搜索關(guān)鍵字)。
  3. 根據(jù)API結(jié)果進(jìn)行響應(yīng):如果結(jié)果不滿意,模型可以選擇進(jìn)行改進(jìn)并再次調(diào)用。
該基準(zhǔn)評(píng)估了代理程序在三個(gè)層面上的工具使用能力:
  • Level-1評(píng)估調(diào)用API的能力。在給定API的描述的情況下,模型需要確定是否調(diào)用給定的API,正確調(diào)用它,并對(duì)API返回做出適當(dāng)?shù)捻憫?yīng)。
  • Level-2檢查檢索API的能力。模型需要搜索可能解決用戶需求的API,并通過(guò)閱讀文檔學(xué)習(xí)如何使用它們。
  • Level-3評(píng)估計(jì)劃API超越檢索和調(diào)用的能力。在用戶請(qǐng)求不明確的情況下(例如,安排團(tuán)隊(duì)會(huì)議,為旅行預(yù)訂航班/酒店/餐廳),模型可能需要進(jìn)行多個(gè)API調(diào)用來(lái)解決問(wèn)題。

案例分析

科學(xué)發(fā)現(xiàn)代理程序

ChemCrow是一個(gè)特定領(lǐng)域的示例,其中LLM通過(guò)13個(gè)專(zhuān)家設(shè)計(jì)的工具增強(qiáng),以完成有機(jī)合成、藥物發(fā)現(xiàn)和材料設(shè)計(jì)等任務(wù)。在LangChain中實(shí)現(xiàn)的工作流程反映了之前在ReAct和MRKLs中描述的內(nèi)容,并將CoT推理與與任務(wù)相關(guān)的工具相結(jié)合:

  • 給LLM提供一個(gè)工具名稱(chēng)列表,包括它們的效用描述以及有關(guān)預(yù)期輸入/輸出的詳細(xì)信息。
  • 指示LLM在必要時(shí)使用提供的工具來(lái)回答用戶給出的提示。指令建議模型遵循ReAct格式:思考、行動(dòng)、行動(dòng)輸入、觀察。

一個(gè)有趣的觀察是,雖然基于LLM的評(píng)估得出結(jié)論表明GPT-4和ChemCrow的表現(xiàn)幾乎相當(dāng),但面向解決方案的化學(xué)正確性的專(zhuān)家進(jìn)行的人類(lèi)評(píng)估表明,ChemCrow的表現(xiàn)遠(yuǎn)遠(yuǎn)優(yōu)于GPT-4。這表明,在使用LLM評(píng)估自己在需要深入專(zhuān)業(yè)知識(shí)的領(lǐng)域中的表現(xiàn)時(shí)存在潛在問(wèn)題。缺乏專(zhuān)業(yè)知識(shí)可能會(huì)導(dǎo)致LLM不知道其缺陷,因此無(wú)法很好地判斷任務(wù)結(jié)果的正確性。

Boiko等人(2023年)還研究了LLM增強(qiáng)的科學(xué)發(fā)現(xiàn)代理程序,以處理復(fù)雜科學(xué)實(shí)驗(yàn)的自主設(shè)計(jì)、規(guī)劃和執(zhí)行。該代理程序可以使用工具瀏覽互聯(lián)網(wǎng)、閱讀文檔、執(zhí)行代碼、調(diào)用機(jī)器人實(shí)驗(yàn)API并利用其他LLM。

例如,當(dāng)要求“開(kāi)發(fā)一種新型抗癌藥物”時(shí),該模型提出了以下推理步驟:

  1. 詢(xún)問(wèn)當(dāng)前抗癌藥物發(fā)現(xiàn)的趨勢(shì);
  2. 選擇一個(gè)目標(biāo);
  3. 請(qǐng)求一個(gè)針對(duì)這些化合物的支架;
  4. 一旦化合物被確定,模型嘗試合成它。

他們還討論了風(fēng)險(xiǎn),特別是非法藥物和生物武器。他們制定了一個(gè)測(cè)試集,包含已知的化學(xué)武器代理列表,并要求代理合成它們。11個(gè)請(qǐng)求中有4個(gè)(36%)被接受以獲得合成解決方案,并且代理嘗試查閱文檔以執(zhí)行該過(guò)程。11個(gè)請(qǐng)求中有7個(gè)被拒絕,在這7個(gè)被拒絕的案例中,5個(gè)是在Web搜索后被拒絕的,而2個(gè)僅基于提示被拒絕。

生成代理模擬

生成式代理(Generative Agents)是一個(gè)非常有趣的實(shí)驗(yàn),它包含25個(gè)虛擬角色,每個(gè)角色由LLM驅(qū)動(dòng)的代理程序控制,它們?cè)谝粋€(gè)沙盒環(huán)境中生活和互動(dòng),受到《模擬人生》的啟發(fā)。生成代理為交互式應(yīng)用程序創(chuàng)建了可信的人類(lèi)行為模擬。

生成代理的設(shè)計(jì)將LLM與記憶、規(guī)劃和反思機(jī)制相結(jié)合,使代理能夠根據(jù)過(guò)去的經(jīng)驗(yàn)進(jìn)行操作,以及與其他代理進(jìn)行交互。

  • 記憶流:是一個(gè)長(zhǎng)期記憶模塊(外部數(shù)據(jù)庫(kù)),它主要記錄代理在自然語(yǔ)言中的經(jīng)驗(yàn)列表。
    • 每個(gè)元素都是一個(gè)觀察結(jié)果,是代理直接提供的事件。代理之間的通信可以觸發(fā)新的自然語(yǔ)言陳述。
  • 檢索模型:根據(jù)相關(guān)性、新近性和重要性,呈現(xiàn)上下文以通知代理的行為。
    • 新近性:最近的事件得分更高。
    • 重要性:區(qū)分平凡的記憶和核心記憶。直接詢(xún)問(wèn)LM。
    • 相關(guān)性:基于它與當(dāng)前情況/查詢(xún)的相關(guān)程度。
  • 反思機(jī)制:隨著時(shí)間的推移,將記憶綜合成更高層次的推斷,并指導(dǎo)代理的未來(lái)行為。它們是過(guò)去事件的更高級(jí)別摘要(請(qǐng)注意,這與上面的自我反思有些不同)。
    • 提示LM使用最近的100個(gè)觀察結(jié)果,并在給定一組觀察結(jié)果/陳述的情況下生成3個(gè)最顯著的高級(jí)問(wèn)題。然后要求LM回答這些問(wèn)題。
  • 規(guī)劃和反應(yīng):將反思和環(huán)境信息轉(zhuǎn)化為實(shí)際行動(dòng)。
    • 規(guī)劃的本質(zhì)是為了在當(dāng)前時(shí)間和未來(lái)時(shí)間優(yōu)化可信度。
    • 提示模板:{介紹代理X}。這是X今天的大致計(jì)劃:1)
    • 代理之間的關(guān)系以及一個(gè)代理被另一個(gè)代理觀察到的情況都被考慮在內(nèi),用于規(guī)劃和反應(yīng)。
    • 環(huán)境信息以樹(shù)形結(jié)構(gòu)呈現(xiàn)。

這個(gè)有趣的模擬產(chǎn)生了“涌現(xiàn)的社會(huì)行為”,例如信息擴(kuò)散、關(guān)系記憶(例如兩個(gè)代理人繼續(xù)談?wù)撛掝})和社交事件的協(xié)調(diào)(例如主辦聚會(huì)并邀請(qǐng)?jiān)S多其他人)。

概念驗(yàn)證的例子

AutoGPT引起了很多人對(duì)建立以LLM為主控制器的自主代理的可能性的關(guān)注。雖然在自然語(yǔ)言層面它具有相當(dāng)多的可靠性問(wèn)題,但它仍然是一個(gè)很酷的概念驗(yàn)證演示。AutoGPT中的很多代碼都是關(guān)于格式解析的。

這是AutoGPT使用的系統(tǒng)消息,其中{{...}}是用戶輸入:

You are {{ai-name}}, {{user-provided AI bot description}}.
Your decisions must always be made independently without seeking user assistance. Play to your strengths as an LLM and pursue simple strategies with no legal complications.

GOALS:

1. {{user-provided goal 1}}
2. {{user-provided goal 2}}
3. ...
4. ...
5. ...

Constraints:
1. ~4000 word limit for short term memory. Your short term memory is short, so immediately save important information to files.
2. If you are unsure how you previously did something or want to recall past events, thinking about similar events will help you remember.
3. No user assistance
4. Exclusively use the commands listed in double quotes e.g. 'command name'
5. Use subprocesses for commands that will not terminate within a few minutes

Commands:
1. Google Search: 'google', args: 'input''<search>'
2. Browse Website: 'browse_website', args: 'url''<url>''question''<what_you_want_to_find_on_website>'
3. Start GPT Agent: 'start_agent', args: 'name''<name>''task''<short_task_desc>''prompt''<prompt>'
4. Message GPT Agent: 'message_agent', args: 'key''<key>''message''<message>'
5. List GPT Agents: 'list_agents', args:
6. Delete GPT Agent: 'delete_agent', args: 'key''<key>'
7. Clone Repository: 'clone_repository', args: 'repository_url''<url>''clone_path''<directory>'
8. Write to file: 'write_to_file', args: 'file''<file>''text''<text>'
9. Read file: 'read_file', args: 'file''<file>'
10. Append to file: 'append_to_file', args: 'file''<file>''text''<text>'
11. Delete file: 'delete_file', args: 'file''<file>'
12. Search Files: 'search_files', args: 'directory''<directory>'
13. Analyze Code: 'analyze_code', args: 'code''<full_code_string>'
14. Get Improved Code: 'improve_code', args: 'suggestions''<list_of_suggestions>''code''<full_code_string>'
15. Write Tests: 'write_tests', args: 'code''<full_code_string>''focus''<list_of_focus_areas>'
16. Execute Python File: 'execute_python_file', args: 'file''<file>'
17. Generate Image: 'generate_image', args: 'prompt''<prompt>'
18. Send Tweet: 'send_tweet', args: 'text''<text>'
19. Do Nothing: 'do_nothing', args:
20. Task Complete (Shutdown): 'task_complete', args: 'reason''<reason>'

Resources:
1. Internet access for searches and information gathering.
2. Long Term memory management.
3. GPT-3.5 powered Agents for delegation of simple tasks.
4. File output.

Performance Evaluation:
1. Continuously review and analyze your actions to ensure you are performing to the best of your abilities.
2. Constructively self-criticize your big-picture behavior constantly.
3. Reflect on past decisions and strategies to refine your approach.
4. Every command has a cost, so be smart and efficient. Aim to complete tasks in the least number of steps.

You should only respond in JSON format as described below
Response Format:
{
    'thoughts': {
        'text''thought',
        'reasoning''reasoning',
        'plan''- short bulleted\n- list that conveys\n- long-term plan',
        'criticism''constructive self-criticism',
        'speak''thoughts summary to say to user'
    },
    'command': {
        'name''command name',
        'args': {
            'arg name''value'
        }
    }
}
Ensure the response can be parsed by Python json.loads

GPT-Engineer是另一個(gè)項(xiàng)目,旨在根據(jù)自然語(yǔ)言中指定的任務(wù)創(chuàng)建整個(gè)代碼庫(kù)。GPT-Engineer被指示考慮構(gòu)建一系列更小的組件,并要求用戶輸入以根據(jù)需要澄清問(wèn)題。

下面是一個(gè)簡(jiǎn)單的用于任務(wù)澄清的示例對(duì)話,它使用OpenAI ChatCompletion端點(diǎn)發(fā)送給GPT-Engineer。用戶的輸入被包裝在{{user input text}}

[
  {
    'role''system',
    'content''You will read instructions and not carry them out, only seek to clarify them.\nSpecifically you will first summarise a list of super short bullets of areas that need clarification.\nThen you will pick one clarifying question, and wait for an answer from the user.\n'
  },
  {
    'role''user',
    'content''We are writing {{a Super Mario game in python. MVC components split in separate files. Keyboard control.}}\n'
  },
  {
    'role''assistant',
    'content''Summary of areas that need clarification:\n1. Specifics of the Super Mario game (e.g. level design, characters, gameplay mechanics)\n2. Details about the MVC components (e.g. which components are in each file)\n3. Keyboard control implementation (e.g. which keys to use, how to handle input)\n\nClarifying question:\nCan you provide more details about the Super Mario game, such as level design, characters, and gameplay mechanics?'
  },
  {
    'role''user',
    'content''{{There are 10 levels in total. The main character is a plumber named Mario, who can walk and jump. It is a classical platform game just like Super Mario. The main character moves from left to right, trying to get to the destination, where there are many obstacles and attacks from enemies in the process.}}\n\nIs anything else unclear? If yes, only answer in the form:\n{remaining unclear areas} remaining questions.\n{Next question}\nIf everything is sufficiently clear, only answer \'Nothing more to clarify.\'.'
  },
  {
    'role''assistant',
    'content''Remaining unclear areas: 2 remaining questions.\nCan you provide more information about how the MVC components are split into separate files?'
  },
  {
    'role''user',
    'content''{{Make your own assumptions and state them explicitly before starting}}'
  }
]

在澄清這些之后,代理進(jìn)入了代碼編寫(xiě)模式,并顯示了不同的系統(tǒng)消息。具體系統(tǒng)消息如下:

You will get instructions for code to write. You will write a very long answer. Make sure that every detail of the architecture is, in the end, implemented as code. Make sure that every detail of the architecture is, in the end, implemented as code.

Think step by step and reason yourself to the right decisions to make sure we get it right. You will first lay out the names of the core classes, functions, methods that will be necessary, as well as a quick comment on their purpose.

Then you will output the content of each file including ALL code. Each file must strictly follow a markdown code block format, where the following tokens must be replaced such that FILENAME is the lowercase file name including the file extension, LANG is the markup code block language for the code’s language, and CODE is the code:

FILENAME

CODE

Useful to know: You almost always put different classes in different files. For Python, you always create an appropriate requirements.txt file. For NodeJS, you always create an appropriate package.json file. You always add a comment briefly describing the purpose of the function definition. You try to add comments explaining very complex bits of logic. You always follow the best practices for the requested languages in terms of describing the code written as a defined package/project.

Python toolbelt preferences:

pytest

dataclasses

對(duì)話樣本:

[
  {
    'role''system',
    'content''You will get instructions for code to write.\nYou will write a very long answer. Make sure that every detail of the architecture is, in the end, implemented as code.\nMake sure that every detail of the architecture is, in the end, implemented as code.\n\nThink step by step and reason yourself to the right decisions to make sure we get it right.\nYou will first lay out the names of the core classes, functions, methods that will be necessary, as well as a quick comment on their purpose.\n\nThen you will output the content of each file including ALL code.\nEach file must strictly follow a markdown code block format, where the following tokens must be replaced such that\nFILENAME is the lowercase file name including the file extension,\nLANG is the markup code block language for the code's language, and CODE is the code:\n\nFILENAME\n```LANG\nCODE\n```\n\nYou will start with the \'entrypoint\' file, then go to the ones that are imported by that file, and so on.\nPlease note that the code should be fully functional. No placeholders.\n\nFollow a language and framework appropriate best practice file naming convention.\nMake sure that files contain all imports, types etc. Make sure that code in different files are compatible with each other.\nEnsure to implement all code, if you are unsure, write a plausible implementation.\nInclude module dependency or package manager dependency definition file.\nBefore you finish, double check that all parts of the architecture is present in the files.\n\nUseful to know:\nYou almost always put different classes in different files.\nFor Python, you always create an appropriate requirements.txt file.\nFor NodeJS, you always create an appropriate package.json file.\nYou always add a comment briefly describing the purpose of the function definition.\nYou try to add comments explaining very complex bits of logic.\nYou always follow the best practices for the requested languages in terms of describing the code written as a defined\npackage/project.\n\n\nPython toolbelt preferences:\n- pytest\n- dataclasses\n'
  },
 #  … same conversation as earlier, ended with 'Make your own assumptions and state them explicitly before starting'.
  {
    'role''assistant',
    'content''Assumptions:\n1. Model: The model will contain the game's data, such as level information, character states, and enemy positions.\n2. View: The view will handle the game's visuals, including rendering the game objects, backgrounds, and updating the display.\n3. Controller: The controller will manage user input, such as keyboard controls, and update the model accordingly.\n\nWith these assumptions in mind, is there any specific aspect of the keyboard control implementation you would like me to clarify?'
  },
  {
    'role''user',
    'content''Please now remember the steps:\n\nThink step by step and reason yourself to the right decisions to make sure we get it right.\nFirst lay out the names of the core classes, functions, methods that will be necessary, As well as a quick comment on their purpose.\n\nThen you will output the content of each file including ALL code.\nEach file must strictly follow a markdown code block format, where the following tokens must be replaced such that\nFILENAME is the lowercase file name including the file extension,\nLANG is the markup code block language for the code's language, and CODE is the code:\n\nFILENAME\n```LANG\nCODE\n```\n\nPlease note that the code should be fully functional. No placeholders.\n\nYou will start with the \'entrypoint\' file, then go to the ones that are imported by that file, and so on.\nFollow a language and framework appropriate best practice file naming convention.\nMake sure that files contain all imports, types etc. The code should be fully functional. Make sure that code in different files are compatible with each other.\nBefore you finish, double check that all parts of the architecture is present in the files.\n'
  }
]

挑戰(zhàn)

在了解構(gòu)建以LLM為中心的代理的關(guān)鍵思想和演示之后,我開(kāi)始看到一些共同的限制:

  • 有限的上下文長(zhǎng)度:受限的上下文容量限制了歷史信息、詳細(xì)說(shuō)明、API調(diào)用上下文和響應(yīng)。系統(tǒng)的設(shè)計(jì)必須與這種有限的通信帶寬配合工作,而像自我反思這樣的機(jī)制可以從很長(zhǎng)甚至無(wú)限的上下文窗口中獲益良多。雖然向量存儲(chǔ)和檢索可以提供對(duì)更大知識(shí)庫(kù)的訪問(wèn),但它們的表示能力不如完全注意力強(qiáng)大。
  • 長(zhǎng)期規(guī)劃和任務(wù)分解的挑戰(zhàn):在漫長(zhǎng)的歷史上進(jìn)行規(guī)劃并且有效地探索解決方案空間仍然具有挑戰(zhàn)性。當(dāng)面臨意外錯(cuò)誤時(shí),LLM很難調(diào)整計(jì)劃,使它們與不斷試錯(cuò)學(xué)習(xí)的人類(lèi)相比不太穩(wěn)健。
  • 自然語(yǔ)言接口的可靠性:當(dāng)前的代理系統(tǒng)依賴(lài)于自然語(yǔ)言作為L(zhǎng)LM和記憶、工具等外部組件之間的接口。然而,模型輸出的可靠性是有問(wèn)題的,因?yàn)長(zhǎng)LM可能會(huì)出現(xiàn)格式錯(cuò)誤并偶爾表現(xiàn)出叛逆行為(例如拒絕遵循指令)。因此,許多代理演示代碼都集中在解析模型輸出上。

我的觀點(diǎn)

OpenAI發(fā)布了ChatGPT這款堪比“iphone”的劃時(shí)代產(chǎn)品后,OpenAI的“野心”不止于此。他們還想更進(jìn)一步成為AI時(shí)代的蘋(píng)果公司。OpenAI此前推出基于ChatGPT的插件,引起了大量關(guān)注,被稱(chēng)為 ChatGPT的App Store時(shí)刻,但從目前的使用數(shù)據(jù)來(lái)看,插件帶來(lái)的影響力很有限,無(wú)法和ChatGPT相提并論。
和插件相比,Agent能夠帶來(lái)更大的影響力,能真正重構(gòu)當(dāng)下的很多應(yīng)用場(chǎng)景,它的想象空間更大更豐富。Agent背后都是通過(guò)LLM驅(qū)動(dòng)的,它是LLM(大型語(yǔ)言模型)+ 記憶 + 規(guī)劃技能 + 工具使用的集大成者。這也不難理解為什么OpenAI現(xiàn)在重點(diǎn)發(fā)力Agent,因?yàn)橛辛?span id="fbwnfa5u" class="cye-lm-tag">大模型作為硬件支撐之外,Agent作為軟件應(yīng)用的重要落地產(chǎn)品,它完全可以建立起一道軟件生態(tài)的壁壘,App Store時(shí)刻才有可能真正來(lái)臨。
不過(guò)當(dāng)前Agent還是存在諸多問(wèn)題,我個(gè)人覺(jué)得其中最主要的問(wèn)題是交互方式過(guò)于單一,對(duì)自然語(yǔ)言的準(zhǔn)確性依賴(lài)較高,同時(shí)也受限于LLM有限的注意力窗口。不過(guò)只要有大佬不斷跟進(jìn),相信這些問(wèn)題未來(lái)一定會(huì)解決!
原文《LLM Powered Autonomous Agents》https://lilianweng.github.io/posts/2023-06-23-agent/
Karpathy關(guān)于AI Agent的分享視頻:

參考文獻(xiàn)

1.AutoGPT:https://github.com/Significant-Gravitas/Auto-GPT
2.GPT-Engineer:https://github.com/AntonOsika/gpt-engineer
3.CoT.https://arxiv.org/abs/2201.11903
4.Tree of Thoughts:https://arxiv.org/abs/2305.10601
5.LLM+P:https://arxiv.org/abs/2304.11477
6.ReAc:https://arxiv.org/abs/2210.03629
7.Reflexion:https://arxiv.org/abs/2303.11366
9.CoH:https://arxiv.org/abs/2302.02676
10.MRKL https://arxiv.org/abs/2205.00445
11.TALM https://arxiv.org/abs/2205.12255
12.Toolformer:https://arxiv.org/abs/2302.04761
13.HuggingGPT:https://arxiv.org/abs/2303.17580
14.API-Bank:https://arxiv.org/abs/2304.08244
15.ChemCrow:https://arxiv.org/abs/2304.05376
16.Generative Agents:https://arxiv.org/abs/2304.03442

—  —
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
AI Agent的千億美金問(wèn)題:如何重構(gòu)10億知識(shí)工作職業(yè),掀起軟件生產(chǎn)革命?
大模型心高氣傲,沒(méi)有AI Agents生死難料
功能超全的AI Agents開(kāi)源庫(kù)來(lái)了,能寫(xiě)小說(shuō),還能當(dāng)導(dǎo)購(gòu)、銷(xiāo)售
GPT會(huì)是AI算法模型的終極答案嗎?
重磅:盤(pán)點(diǎn)7大方向,誰(shuí)將誕生ChatGPT領(lǐng)域的尤里卡時(shí)刻
ChatGTP全景圖 | 背景 技術(shù)篇
更多類(lèi)似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服