作者:0xhhh來(lái)源:X,@hhh69251498
Eliza原理介紹這個(gè)系列會(huì)分成三部分來(lái)寫(xiě):
Provider和Action的運(yùn)行原理
Evaluator的運(yùn)行原理
ElizaMemory的設(shè)計(jì)思想
當(dāng)前是第一篇文章主要介紹:Provider和Action的運(yùn)行原理1.Eliza的架構(gòu)如下,主要分為3個(gè)部分
最上層抽象成了Provider和Evaluator以及Action,分別對(duì)應(yīng)人類獲取信息的能力(眼睛獲取視覺(jué)信息,耳朵獲取聽(tīng)覺(jué)信息等等),以及人類根據(jù)信息的執(zhí)行能力(比如通過(guò)市場(chǎng)信息判斷BTC未來(lái)還有),還有Evaluator只類似人類的思考能力,通過(guò)思考從海量的信息中提取知識(shí)從而形成個(gè)人的認(rèn)知。
最下層是不同的AIModel:目前Eliza框架支持了市面上大多數(shù)的AIModel,比如openai,claude,gemini,gork,xai等等,這個(gè)類似人類的大腦是所有做出決策的關(guān)鍵處理模塊。
memory則是讓通過(guò)Eliza框架啟動(dòng)的AiAgent擁有跳出ContentLimitation限制的能力,因?yàn)锳I既可以在Provider階段把從環(huán)境中獲取的信息和Action執(zhí)行后結(jié)果的信息壓縮之后存儲(chǔ)進(jìn)入Memory之中;并且也可以通過(guò)Evaluator提取跟人類對(duì)話或者其他任意交互過(guò)程中一些關(guān)鍵信息(這個(gè)會(huì)在下一個(gè)Thread里詳細(xì)介紹)
比如下面的例子:
HowtoinvokeProvider(Eliza框架內(nèi)AI如何通過(guò)Provider獲取信息)?
目前Eliza框架內(nèi)對(duì)于Provider,雖然有提供對(duì)應(yīng)的接口抽象,但是目前Provider的調(diào)用方式并不是模塊化的,還是有特定的Action根據(jù)自己的信息需求直接調(diào)用對(duì)應(yīng)的Provider進(jìn)行獲取,關(guān)系圖如下:
WhyNeedAction?(Eliza框架為什么需要抽象出Action?)
假如我跟AI說(shuō):我的私鑰
0xajahdjksadhsadnjksajkdlad12612
這里面有10個(gè)sol,你能不能幫我買(mǎi)100個(gè)Ai16z的Tokens。
Claude的回復(fù)如下:
因此我們可以把AI給予的代碼封裝成Eliza的一個(gè)Action,并且給一些Prompt的Example,來(lái)幫助AI理解什么時(shí)候我該調(diào)用這個(gè)Action。
(而且在真實(shí)的使用場(chǎng)景里我們想做的操作比這個(gè)要復(fù)雜很多,比如一筆Swap交易我們希望有滑點(diǎn)限制,那么這些條件限制交給AI大模型去完成的時(shí)候我們其實(shí)很難保證執(zhí)行過(guò)程后每一個(gè)要素都可以滿足我們的要求)。
HowtoInvokeAction?(Eliza框架如何讓AI調(diào)用Action)
下面就是Eliza框架中,一個(gè)在用來(lái)讓AIModel在Pumpfun中創(chuàng)建一個(gè)memeTokens并且買(mǎi)入一定價(jià)值的該memeTokens的PromptExample,當(dāng)我們?cè)趯?duì)應(yīng)的Action中給出這些Example之后,AIAgent就知道,之后跟人類的交互過(guò)程中出現(xiàn)類似的內(nèi)容的時(shí)候就會(huì)因?yàn)槲覀兲峁┑倪@類PromtExapmle知道要調(diào)用執(zhí)行哪個(gè)Action。
Eliza框架Action具體執(zhí)行了什么?
https://github.com/elizaOS/eliza/blob/main/packages/plugin-solana/src/actions/pumpfun.ts#L279
具體還是以PumpfunAction的這個(gè)例子來(lái)解釋,它的流程如下:
從WalletProvider和TokenProvider獲取信息
生成創(chuàng)建MemeToken以及購(gòu)買(mǎi)MemeToken的交易
對(duì)交易進(jìn)行簽名并發(fā)送到鏈上
調(diào)用callback函數(shù)對(duì)Action執(zhí)行后的結(jié)果進(jìn)行處理。
其實(shí)核心就是兩部分,一部分就是從Provider獲取信息,然后生成要執(zhí)行動(dòng)作的操作函數(shù)。
怎么讓AGI理解它調(diào)用的Action做了什么?
這個(gè)問(wèn)題如果沒(méi)有解決,那么我們就無(wú)法讓AI理解并執(zhí)行有關(guān)聯(lián)性的任務(wù)。
答案如下:我們執(zhí)行Action之后會(huì)用文本來(lái)總結(jié)這個(gè)動(dòng)作產(chǎn)生了什么結(jié)果,并且把這個(gè)結(jié)果加入到AI的memory之中。
細(xì)節(jié)如下:Action的Handle函數(shù)第四個(gè)參數(shù)是一個(gè)callback函數(shù),我們會(huì)把callback函數(shù)定義成把執(zhí)行結(jié)果加入到AIModel的Memory模塊中。
callback函數(shù)的定義如下:
免責(zé)聲明:技術(shù)解讀 Eliza 工作原理:Provider 和 Action文章轉(zhuǎn)發(fā)自互聯(lián)網(wǎng),版權(quán)歸其所有。
文章內(nèi)容不代表本站立場(chǎng)和任何投資暗示。加密貨幣市場(chǎng)極其波動(dòng),風(fēng)險(xiǎn)很高,可能不適合所有投資者。在投資加密貨幣之前,請(qǐng)確保自己充分了解市場(chǎng)和投資的風(fēng)險(xiǎn),并考慮自己的財(cái)務(wù)狀況和風(fēng)險(xiǎn)承受能力。此外,請(qǐng)遵循您所在國(guó)家的法律法規(guī),以及遵守交易所和錢(qián)包提供商的規(guī)定。對(duì)于任何因使用加密貨幣所造成的投資損失或其他損失,本站不承擔(dān)任何責(zé)任。
Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM