newsence
Pre-ERC:代理服務會話——針對持續性代理工作的計量支付方案

Pre-ERC:代理服務會話——針對持續性代理工作的計量支付方案

Ethereum Magicians·11 天前

本提案為 AI 代理引入了一種基於會話的支付原語,以實現離散區間的計量計費,作為 Stripe 機器支付協議的去中心化替代方案。

問題

ERC-8183 處理單次任務(僱用、交付、結算)。x402 處理請求-響應。但代理(Agent)通常以「會話」(Session)模式工作:監控、研究、持續優化。目前缺乏針對持續性代理參與的計量計費標準。

Stripe 於 3 月 18 日推出了他們的機器支付協議(Machine Payments Protocol),包含基於會話的代理支付。那是中心化的。我們需要鏈上的等效方案。

ERC-1620(資金流)和 ERC-1337(訂閱)在 2018 年嘗試過相關設計,但停滯不前。AI 代理正是這些設計當初所缺失的採用案例。

提議解決方案

一種用於代理之間基於區間計量支付的「會話」(Session)原語:

  • 用戶開啟會話,在 ERC-20 代幣中鎖定最高預算。

  • 提供者按離散區間賺取收益(而非像 ERC-1620 那樣的連續流)。

  • 檢查點(Checkpoints)由線下雙重簽署(EIP-712)。在正常路徑下零 Gas 消耗。

  • 任何一方都可以在任何區間邊界乾淨地終止會話。

  • 爭議會標記特定區間,由外部仲裁者解決。

為什麼是計量區間而非資金流?

代理的工作是以離散單位進行的(一次研究週期、一次監控掃描、一次優化傳遞)。雙方都希望在有意義的邊界檢查質量。計費爭議需要引用特定的區間,而不是任意的時間範圍。

核心接口

function openSession(
    address provider, address token,
    uint256 ratePerInterval, uint256 interval,
    uint256 maxTotal, uint256 endTime,
    uint256 checkpointFrequency, bytes32 termsHash
) external returns (uint256 sessionId);

function settleCheckpoint(Checkpoint calldata checkpoint) external;
function terminateSession(uint256 sessionId, Checkpoint calldata finalCheckpoint) external;
function pauseSession(uint256 sessionId) external;
function disputeCheckpoint(uint256 sessionId, uint256 intervalIndex, bytes32 evidenceHash) external;

生命週期

openSession() --> [活躍] --checkpoint--> [活躍] --terminate--> [已關閉]
| |
+--pause--> [已暫停] --resume--> [活躍] |
| |
+--dispute--> [爭議中] --resolve--> [活躍] |
| |
+--endTime 到期--> [已過期] --refund--> 完成 |

可組合性

  • 與 ERC-8203(條件結算)兼容。每個檢查點可以是一個 ConditionalLock。

  • 與 ERC-8183(代理商業)兼容。每個檢查點映射到一個任務原語。

  • 與 ERC-8004(代理身份)兼容。代理通過註冊表條目進行識別。

  • 強制要求以上任何一項。普通地址即可正常工作。

我正在尋求的建議

在提交正式的 ERC PR 之前,徵求關於會話模型的反饋。特別是:

  • 計量區間是正確的粒度嗎?還是應該也支持連續流?

  • 爭議機制是否過於簡化?標準應該定義仲裁策略,還是將其留給外部處理?

  • 檢查點是否應該攜帶 serviceProof 哈希,還是這屬於過度規範?

完整的規範草案及參考實現已準備就緒,將隨正式 PR 一併發布。

相關討論:ERC-8203, ERC-8183, ERC-1337

        1 則貼文 - 1 位參與者

        [閱讀完整主題](https://ethereum-magicians.org/t/pre-erc-agent-service-sessions-metered-payments-for-ongoing-agent-work/28070)
https://ethereum-magicians.org/t/pre-erc-agent-service-sessions-metered-payments-for-ongoing-agent-work/28070