所有語言
分享
歡迎來到我們的大語言模型(LLM)與區塊鏈研究系列的第二篇文章。在上一篇文章中,我們從技術層面討論了如何將 LLM 與區塊鏈技術整合的,以及為何 LLM 框架非常適合區塊鏈領域。我們還勾勒了未來將 LLM 與區塊鏈融合的潛在路徑。
在這篇文章中,我們將採用更加實際的方法,深入探討八個特定的應用領域,我們相信這些應用將極大地改變區塊鏈用戶體驗。更加令人興奮的是,我們預測這些突破性的應用將在接下來的一年內變為現實。
請加入我們,一同揭示區塊鏈交互的未來。以下是我們將要討論的八個應用的簡要概述:
1. 將內置的人工智能/LLM 功能整合到區塊鏈中
2. 利用 LLM 分析交易記錄
3. 運用 LLM 增強安全性
4. 利用 LLM 編寫代碼
5. 使用 LLM 閱讀代碼
6. 藉助 LLM 協助社區
7. 實施 LLM 跟蹤市場
8. 應用 LLM 分析項目
區塊鏈將內置人工智能功能和模型。開發人員可以訪問人工智能函數,在鏈上執行分類、回歸、文本補全和 AIGC 等簽名式 ML 任務。開發者可以通過智能合約調用這些人工智能功能。
有了這些內置功能,開發人員就能為他們的智能合約賦予智能和自主權。分類、回歸和 AIGC 是典型的人工智能任務。讓我們看看這些功能在區塊鏈領域的應用以及幾個示例項目。
分類
分類可用於確定地址是機器人還是真人。這可以改變當前的 NFT 銷售情況。分類還可以提高 DeFi 生態系統的安全性。DeFi 智能合約可以過濾惡意交易,防止資金流失。
回歸(Regression)
回歸分析可以用於預測,應用於基金和資產管理。Numer.ai 已經使用人工智能來幫助他們管理資金。Numer 提供高質量的股市數據,數據科學家在這些數據的基礎上進行工作,並應用機器學習來預測股市。
AIGC
許多 NFT 項目都試圖構建一個 IP 宇宙。然而,它們有限的內容無法支撐一個宇宙。如果我們可以在鏈上使用 AIGC,以相對較低的成本輸出無數具有類似的標誌性品牌風格的內容。模型可以輸出文本、插圖、音樂、聲音甚至視頻。這大大擴展了 IP 宇宙的規模。社區參与者可以共同對模型進行微調,以滿足他們的期望。微調過程也讓社區有參與感。
Botto 使用 AIGC 模型來生成藝術內容。社區對他們最喜歡的圖像進行投票,以共同微調 AIGC 模型。
如果我們將區塊鏈視為一個數據庫,我們還發現 Databend 將內置的人工智能功能整合到他們的數據庫中。他們提供以下功能:
ai_embedding_vector:為文本文檔生成嵌入向量。
ai_text_completion:基於給定的提示生成文本補全。
cosine_distance:計算兩個嵌入向量之間的餘弦距離。
ai_to_sql:將自然語言指令轉換為 SQL 查詢。
我們知道,一些項目正在為區塊鏈提供 AI 能功能。
Giza 正致力於 ZKML 方面的工作。它在鏈外生成推理證明,並在鏈上進行驗證。它現在支持與以太坊虛擬機兼容的區塊鏈以及 StarkNet。Giza 最近宣布與 Yearn.finance 達成了合作夥伴關係,Yearn 將利用 Giza 的人工智能功能來提升其風險評估能力。
Modulus Labs 也在類似的方向上進行工作。他們更加努力地改進證明系統,以生成用於人工智能的高性能電路。他們發布了諸如國際象棋人工智能和以太坊價格預測人工智能等演示。他們的新演示項目 zkMon 是全球第一個經過零知識證明的生成對抗網絡 NFT 收藏品。
分析交易記錄通常由特定的應用程序(如 Debank)完成。人工手動分析交易記錄很困難。手動分析涉及數據收集、數據清洗和數據分析,這要求用戶需要具備編碼能力。因為 LLM 能分析和可視化數據的能力,我們現在有了一種新的方法。通過 LLM,我們可以根據定製需求分析鏈上數據。我們可以分析勝率、性能比,或者任何我們想要了解的信息。
RSS3 開發了一個名為 Web3 用戶活動的 ChatGPT 插件,以致力於向這個方向發展。用戶可以輸入錢包地址、ENS 或 Lens 來查詢鏈上活動。該插件將以人類可讀的方式輸出交易信息。然而可惜的是它不能執行複雜的查詢,比如有多少 Azuki 持有者,哪些智能合約最熱門等。用戶還應該注意,插件提供的地址和標籤不一定準確。
DeFiLlama 也發布了一個 ChatGPT 插件。用戶可以用自然語言查詢在 DeFiLlama 上可用的任何數據。它還可以執行簡單的篩選和排序操作:
Dune 也在將 GPT 集成到其產品中,以實現以下功能:
查詢釋義:使用 LLM 解釋查詢
查詢翻譯:使用 LLM 將其他 SQL 語言翻譯為 DuneSQL
自然語言查詢:使用戶可以使用自然語言編寫查詢
搜索:使用 LLM 改進搜索結果
嚮導知識庫:使用戶能與文檔交流的聊天機器人
由於具備邏輯和推理能力,LLM 可以用於過濾一些惡意交易,充當智能合約的防火牆。以下是一個具體的示例,展示如何阻止機器人活動:
在輸入地址后,LLM 可以通過第三方插件獲取所有的交易數據,隨後分析這些交易記錄,並擬出地址是機器人的可能性。這個功能可以嵌入到不歡迎機器人的 Dapps 中,比如 NFT sales。
以下是一個通過 ChatGPT 的簡單示例。ChatGPT 通過 RSS3 開發的 Web3 用戶活動插件檢索賬戶的交易記錄,然後分析這些交易記錄,並輸出賬戶是機器人的可能性。
如果我們輸入更多的交易記錄,並在與機器人相關的數據集上對 LLM 進行微調,我們就可以獲得更準確的結果。以下是這類應用的一個示例工作流程。我們還可以添加緩存和數據庫層,以提高響應速度並降低成本。
LLM 在開發中被廣泛用於幫助開發人員更快、更好地編寫代碼。根據開發人員的指示,LLM 可以為他們生成代碼。目前,開發人員仍然需要為 LLM 提供詳細的指示。LLM 很難自動生成整個項目的代碼。
一些流行的用於代碼的 LLM 模型包括 StarCoder、StarCoder+、Code T5、LTM、DIDACT、WizardCoder、FalCoder-7B 和 MPT30B。
所有這些模型都可以用於編寫智能合約,但它們可能並未專門在智能合約數據上進行訓練。它們仍有改進的空間。
目前,在 HuggingFace 上只有一個與智能合約相關的數據集可用。它是更狡猾的被審計的智能合約集,包含 11.3 萬個智能合約。它可用於文本分類、文本生成和漏洞檢測等任務。
與協助開發工具相比,自動代碼生成可能更具有前景。自動代碼生成適用於智能合約,因為智能合約相對較短且相對簡單。LLM 在區塊鏈領域中有幾種方式可以幫助開發人員自動生成代碼。
測試
首先,LLM 可以為編寫良好的智能合約生成測試。如 Codium 可以自動生成已編寫項目的測試。Codium 目前支持 JS 和 TS。Codium 首先理解代碼庫,分析每個函數、文檔字符串和註釋。然後,Codium 將代碼分析作為註釋寫迴文件,並輸出一個測試計劃。用戶可以選擇他們喜歡的測試,Codium 將生成所選的測試代碼。
其他輔助工具也支持為選定的功能生成測試。
我們可以按照類似的步驟在GPT-4上複製類似的功能。
我們首先要求進行代碼分析,是因為我們希望LLM在這個任務上花費更多的時間。LLM並不知道哪些任務是困難的。它會在每個標記上投入相同的計算能力。這可能會導致在複雜任務上產生不準確的結果。基於這些特點,我們要求進行代碼分析。這樣,LLM將花費更多的標記/時間來思考這些任務,並輸出更高質量的結果。這種方法也被稱為"思維鏈"。
為了讓它適用於更長的智能合約,我們需要一個具有更大上下文的LLM,或者採用一些工程設計來保留記憶。
生成輔助腳本
其次,我們可以使用LLM自動生成一些輔助腳本,例如部署腳本。
部署腳本可以減少在手動部署過程中出現的潛在錯誤。這個想法與自動生成測試非常類似。
自動分叉
在牛市中會出現許多分叉項目,團隊會從其原始代碼庫中進行少量代碼的更改。這將是 LLM 的一個很好的用例:LLM 可以幫助開發人員根據團隊的需求自動修改代碼。通常只需要更改代碼的特定部分。這對於LLM來說相對容易實現。
自動生成代碼
如果我們再邁進一步,LLM是否可以根據開發人員的需求自動生成智能合約呢?與其他使用 JS、Rust 和 Python 編寫的複雜軟件相比,智能合約相對較短且相對簡單。智能合約沒有太多外部庫。**對LLM來說,弄清楚如何編寫智能合約**相對更容易。
我們已經看到了一些自動代碼生成方面的進展。GPT-engineer 是其中之一的先驅。它會滿足用戶的需求,並解答LLM的任何疑問,然後開始編碼。代碼還包括一個可以運行整個項目的腳本。GPT-engineer 可以自動為開發人員啟動項目。
用戶輸入他們的需求后,GPT-engineer 會分析需求並要求進行一些澄清。在收集所有必要信息之後,GPT-engineer 將首先輸出程序的設計,包括此任務所需的核心類、函數和方法。然後,GPT-engineer將為每個文件生成代碼。
通過類似這樣的提示,我們可以生成一個計數器智能合約。
智能合約可以通過編譯並按預期工作。
因為 GPT-engineer 最初是為 Python 設計的,所以在生成與 Hardhat 相關的代碼時存在一些問題。GPT-engineer 不知道 Hardhat 的最新版本,有時會生成過時的測試和部署腳本。
如果我們的代碼有 bug,我們可以將代碼庫和控制台錯誤日誌提供給 LLM。LLM 可以不斷修改代碼,直到代碼能夠成功運行。我們看到了類似 **[flo](https://flocli.vercel.app/)** 這樣的項目正在朝這個方向發展。目前,flo 僅支持 JS。
如果我們想要提高智能合約生成的準確性,我們可以通過一些新的提示來改進 GPT-engineer。我們可以採用測試驅動開發的方式,要求LLM確保程序通過一定的測試,從而更好地約束生成的程序。
由於LLM可以很好地理解代碼,我們可以使用LLM來編寫開發者文檔。LLM還可以跟蹤代碼變化,以更新文檔。我們在上一篇研究報告《Exploring Developer Experience on ZKRUs: An In-Depth Analysis》的末尾討論過這種方法。
閱讀文檔是傳統方式,而與代碼交流是一種新的方法。用戶可以就代碼提出任何問題,LLM會回答用戶的問題。LLM可以為開發人員解釋代碼,幫助他們快速理解鏈上的智能合約。LLM還可以幫助沒有代碼經驗的人理解智能合約。
我們在Web2世界中已經看到了這種趨勢。許多代碼協助工具都具備代碼解釋功能。
Etherescan也展示了其新功能,用戶可以與代碼進行交流,利用LLM的能力。
在能理解代碼的情況下,審計會怎麼改變?在論文《do you still need a manual smart contract audit》的實驗中,LLM在識別漏洞方面達到了40%的命中率,優於隨機基準。然而,他們也有很高的誤報率。作者指出,適當的提示是關鍵。
除了提示外,還有以下原因限制了其應用:
當前的LLM沒有專門為這個目的進行訓練。訓練數據可能不涉及智能合約代碼庫和相應的審計報告。
通常最嚴重的漏洞是由不同功能組成的邏輯問題。LLM 目前受到令牌數量的限制。LLM 無法解決具有很長上下文並需要邏輯能力的問題。
這些問題並不難解決。大型審計公司擁有數千份審計報告,可以用來微調 LLM。帶有大令牌限制的 LLM 正在出現。Claude 有10萬個令牌限制。新發布的 LTM-1具有令人矚目的500萬個令牌限制。通過解決這兩個問題的努力,我們可能會看到 LLM 將可以更好地識別漏洞。LLM 可以協助審計師並加速審計流程。這可能會逐步發展。以下是可能的發展軌跡:
1. 幫助審計師組織語言並格式化報告。這可以確保在同一審計公司下的語言一致性。通常不同的小組可能有不同的偏好詞彙。
2. 幫助審計師識別和驗證潛在的漏洞。
3. 自動生成審計草案報告。
治理是社區的關鍵部分。社區成員有權為自己喜歡的提案投票。這些提案將塑造產品的未來。
對於重要的提案,會有許多背景信息和社區討論。在投票之前,社區成員很難全都理解這個背景。LLM 可以幫助社區成員快速了解他們的選擇對未來的影響,並幫助他們投票。
問答機器人是另一個潛在的應用。我們已經看到基於項目文檔的問答機器人。我們可以進一步建立一個更大的知識數據庫。我們可以插入不同的媒體和來源,比如演示文稿、播客、GitHub、Discord 聊天和Twitter Space。問答機器人不僅存在於文檔搜索欄中,還可以在 Discord 上為社區成員提供即時支持,或者在Twitter上傳播項目的願景並回答任何問題。
AwesomeQA 目前正在朝這個方向發展。它實現了三個功能:
使用 ChatGPT 集成來回答社區成員的問題
基於社區成員的消息獲得數據驅動的見解,比如 FAQ 分析
發現哪些消息是重要的,比如未解決的問題
目前問答機器人面臨的難點之一是如何準確地從向量數據庫中獲取相關上下文,並將上下文提供給 LLM。例如,如果用戶要求對多個元素進行多個特徵的帶有過濾條件的查詢,機器人可能無法從向量數據庫中檢索相關的上下文。
更新向量數據庫是另一個問題。目前的解決方案是重新構建向量數據庫,或者通過命名空間來更新向量數據庫。向嵌入添加命名空間類似於在數據上附加標籤。這可以幫助開發人員更容易地找到和更新相應的嵌入。
市場變化很大,每天都會發生許多事情。例如 KOL(關鍵意見領袖)發布新的想法和思考,新聞簡報和產品电子郵件湧入您的郵箱。LLM可以為您選擇最重要的想法和新聞。它還可以總結內容以縮短您的閱讀時間,並幫助您跟上市場動態。
minmax.ai 致力於新聞領域。他們為特定主題的最新新聞提供摘要,還提供關於該主題的情感分析。
Boring reports 從新聞中剔除聳動內容,專註於重要細節,幫助讀者做出正確決策。
機器人諮詢是當前最熱門的領域之一。LLM 可以推動機器人諮詢的使用。LLM可以提供交易建議,幫助用戶根據股票信息作為背景管理投資組合。
像 Numer.ai 這樣的項目使用AI來預測市場並管理基金。還有由LLM 管理的投資組合。用戶可以在 Robinhood上關注這些投資組合。
Composer 帶來了具有 AI 的交易算法。AI 基於用戶的見解構建特定的交易策略。然後 AI 將自動對這些交易策略進行回測。如果用戶對策略滿意,Composer 可以自動為用戶執行這些策略。
分析項目通常涉及閱讀大量的材料和撰寫長篇研究論文。LLM 可以閱讀和撰寫短段落。如果我們可以擴展其對長段落的能力,這是否意味着 LLM 可以以某種方式輸出一些項目研究呢?很可能是的。我們可以輸入白皮書、文檔或活動演示,讓 LLM 分析項目和 founder。受到令牌數量的限制,我們可以首先寫出論文的大綱,然後根據其獲取的信息更新優化每個部分。
像 BabyAGI 這樣的項目已經在這個方向上取得了進展。以下是 BlockAGI 的示例輸出,它是 BabyAGI 的一個變種。
LLM 也可以基於 Twitter 和公開演講來分析 founder 的個性。例如,Tweet 分析器可以獲取最近的推文,並使用 LLM 來分析個人特質。
結論
這些是 LLM 在不久的將來可以幫助區塊鏈社區的八個具體方向:
1. 將內置的 AI/LLM 功能整合到區塊鏈中。
2. 利用 LLM 來分析交易記錄。
3. 使用 LLM 增強安全性。
4. 利用 LLM 編寫代碼。
5. 使用 LLM 閱讀代碼。
6. 利用 LLM 協助社區。
7. 使用 LLM 跟蹤市場。
8. 應用 LLM 來分析項目。
LLM 可以惠及加密領域的所有成員,包括項目所有者、分析師和工程師。創始人可以使用 LLM 自動化文件和問答等任務。工程師可以使用 LLM 更快、更安全地編寫代碼。分析師可以更輕鬆地研究項目。
從長遠來看,我們還找到了在 GameFi 領域應用 LLM 的潛在機會。LLM 可以在遊戲中生成更有趣的任務,並在遊戲中扮演不同的角色。遊戲中的世界會感覺更加真實和有趣。NPC 將根據玩家的動作進行動態反應。任務將根據用戶的解決方式具有更多結局。
LLM 可以集成到現有項目中,但也為新進入者提供了機會。例如,在鏈上數據分析領域已經有一些頂尖玩家。Dune 可以整合LLM 來改善用戶體驗。然而,LLM 也為新進入者提供了機會。這些新進入者可以將 LLM 置於其產品設計的核心位置。這些以 AI 為先導、以 AI 為中心的創意產品可能會為鏈上數據分析領域帶來新的競爭。
LLM 在 Web2 和 Web3 世界中的用途有重合之處,但它們可能會以不同的方式實現產品。因為我們在 Web3 世界中使用的數據與 Web2 世界中的數據不同。LLM 的知識庫在 Web2 和 Web3 中也可能不同。Web3 數據涉及區塊鏈、代幣價格、推文、項目和研究成果。因此,Web2 和 Web3 需要不同的 LLM 來為終端用戶提供服務。
由於 LLM 的繁榮,我們看到了 AIxBlockchain 的日益流行。然而,很多 AIxBlockhain 在短時間內並不實際。區塊鏈和零知識證明無法為一些複雜模型提供大規模的計算能力來進行訓練和推理。小模型無法解決複雜的任務。更實際的方法是在區塊鏈領域應用 LLM。LLM 最近取得了比其他 AI 主題更大的進展。將 LLM 和區塊鏈結合起來更加合理。
LLM 社區正在努力改進令牌限制和提高響應準確性。留給區塊鏈社區的是數據源和數據管道。經過清洗的數據可以用於微調 LLM,以提高在區塊鏈環境下的準確性。數據管道可以將更多的區塊鏈相關應用集成到 LLM 中,並開發更多的加密特定代理。