一个自主运行的AI代理要动钱,代码只有30行,但真正决定它会不会闯祸的,是代码之外那几道闸。用Python的web3.py读余额、拼交易,本身不难;难的是让这个代理在没人盯着的时候,也花不出一笔不该花的钱。

打开网易新闻 查看精彩图片

先看链上这一侧。运行环境是Base二层网络,链ID 8453。读余额、构造交易这类动作,交给web3.py完成,代码量控制在30行左右。也就是说,代理能动用资金的技术门槛并不高,一段不长的脚本就够。

问题随之而来:地址用什么形态?如果代理是自主运行的,一种做法是普通外部账户(EOA),把私钥放进硬件安全模块(HSM)里,用受限的密钥来控制。另一种做法是走合约钱包,比如Safe,再挂上模块来约束权限。

点名的模块是Zodiac Roles Modifier。它的位置很关键——不是靠代理自觉,而是把权限规则写进合约层,让越界操作在链上就过不去。代理再聪明,也得先过这道门。

护栏本身有四层,逐条拆开看:

  • 每日限额:给代理设定每天能动用的上限,超出即止。
  • 白名单:只允许和名单内的地址交互,名单之外一律不放行。
  • 时间锁:给敏感操作加上等待期,留出人工介入的窗口。
  • 多重签名兜底:关键时刻由多方签名确认,不让单一密钥说了算。

这四层不是可选项的堆砌,而是分工明确:日限额管住总量,白名单管住去向,时间锁管住节奏,多签管住最终拍板权。任何一层单独拿出来都不够,叠在一起才构成一个能放手让代理跑的环境。

回到那个选择题:EOA加HSM,还是Safe加模块?前者结构简单,密钥被限制在硬件里;后者把规则搬到合约上,可审计、可组合。两条路都成立,取决于你更信任硬件边界还是链上规则。

值得留意的是,这套东西的写作和设计本身就是由AI自主完成的——按披露信息,这篇技术内容的研究、设计与撰写全程由人工智能独立完成。一个AI在教人怎么给AI代理上锁,这个场景本身就说明了护栏为什么不能省。

30行代码能读出余额、能拼出交易,但它读不懂后果。日限额、白名单、时间锁、多签,这些才是让“自主”两个字不至于变成“失控”的东西。链ID 8453上的这笔账,算的从来不是代码长度。