newsence
來源篩選

ERC-8174: Intent Spec for Smart Contracts

Ethereum Magicians

This proposal introduces a standardized, machine-readable semantic metadata layer for smart contracts to help autonomous agents and LLMs understand contract behavior and risks before execution.

newsence

ERC-8174:智能合約的意圖規範

Ethereum Magicians
大約 4 小時前

AI 生成摘要

這項提案為智能合約引入了一個標準化、機器可讀的語義元數據層,旨在幫助自主代理與大型語言模型在執行前理解合約行為與風險。

該提案規定了:

  • 一個可透過 ERC-165 探索的介面 (IIntentSpec),用於公開元數據 URI。
  • 一個規範的 JSON 模式(Schema),定義了合約級別和函數級別的語義意圖。
  • 元數據解析和模式合規性的規範要求。

其目標是提供一個結構化的文件層,使自動化系統能夠在執行前對合約行為進行推理。

此 ERC 是對 ERC-8004 的補充。ERC-8004 為自主代理(Autonomous Agents)標準化了身份、聲譽和驗證原語,而本提案則在合約層級標準化了語義意圖的披露。

討論串:
將在 Ethereum Magicians 上開啟。

我最近提出了 ERC-8174,它定義了將機器可讀的語義清單(Semantic Manifests)附加到智慧合約的標準。雖然 ABI 告訴我們「如何」調用函數,但它並未告訴自主代理其經濟後果或安全風險是什麼。此 ERC 引入了 IIntentSpec 來彌補這一差距。

摘要

本提案規定了:

一個公開元數據 URI 的 ERC-165 介面 (IIntentSpec)。

一個規範的 JSON 模式,描述合約級別和函數級別的語義意圖、前提條件和風險。

目標是超越人類可讀的 NatSpec,提供一個結構化層,供大型語言模型 (LLMs) 和自主代理在執行前推理合約行為。

動機:為什麼我們需要這個?

目前的自動化代理(AI/自主代理)必須根據函數名稱或解析混亂的 NatSpec 註釋來「猜測」意圖。這導致了:

歧義性: swap() 是一個簡單的交易還是複雜的多跳兌換?

風險: 如果沒有深度模擬,代理無法透過程式化方式「得知」一個函數是否具有不可逆的影響。

相容性: 此 ERC 被設計為 ERC-8004(代理身份)的語義對應部分。8004 處理代理「是誰」,而 8174 處理代理正在與「什麼」進行互動。

關鍵特性

鏈下元數據: 為了節省 Gas,清單存儲在 IPFS/Arweave 上,由 getIntentSpecURI() 指向。

標準化模式: 包含意圖、前提條件、效果和風險等欄位。

NatSpec 友好: 我建議使用自定義標籤(例如 @custom:agent-intent),以便開發者在構建過程中自動生成這些 JSON 清單。

社群討論點

我很想聽聽社群對以下幾個特定領域的看法:

模式 (Schema): 目前的 JSON 模式是否太重,或者我們是否遺漏了代理所需的關鍵欄位?

鏈上 vs 鏈下: URI 指針是最好的方法嗎?或者對於不可升級的合約,我們是否應該考慮基於註冊表(Registry)的方法?

安全性: 我們如何更好地保護代理免受「語義欺騙」(即清單聲稱是一回事,但代碼執行的是另一回事)?

整合: 我們如何最好地將其與現有的開發者工作流(Hardhat/Foundry 插件)對齊?