教程区块链区块链技术ch1111.5 AI 代理与智能合约的自动化交互

本页目录

当 AI 不再只是回应 ChatGPT 的 prompt,而是拥有链上身份钱包地址智能合约执行权限时,AutoGPT 的预言就变成了工程现实。这节拆解"AI 代理"(AI Agent)在链上的设计原则与风险。


11.5.1 代理架构:LLM → 工具调用 → 链上执行

典型的链上 AI 代理遵循三层架构:

graph TD
    subgraph 认知层
        LLM["大语言模型<br/>GPT-4 / Claude"]
    end
    
    subgraph 工具层
        Tools["Function Calling:<br/>- 获取链上信息<br/>- 签名交易<br/>- 调用合约"]
    end
    
    subgraph 执行层
        Identity["链上身份<br/>EOA / AA 钱包"]
        Contracts["智能合约<br/>确定性契约"]
    end
    
    LLM --> |"规划 + 决策"| Tools
    Tools --> |"操作"| Identity
    Identity --> |"Tx"| Contracts
    
    style LLM fill:#e3f2fd
    style Contracts fill:#c8e6c9

代理签名权限的边界

代理的钱包可以:

  1. 信息查询:读取任意合约状态(无需权限)
  2. 执行交易:调用已授权的合约函数
  3. 批准转移:代理不能无限制批准用户的所有 token ——需要用户通过 Permit2 / 会话密钥(Session Key)授权特定金额、时间窗口和操作范围

11.5.2 会话密钥:人机交互的密码学优化

用户不必每次都用主私钥签名,而是生成时间束缚 + 金额束缚的会话密钥:

typescript
/**
 * 链上 AI 代理的会话密钥模型
 * 用户通过 session key 授予代理有限权限
 */
interface SessionKey {
  owner: string;            // 主账户
  agent: string;            // AI 代理地址
  expiry: number;           // 过期时间戳
  spendingCap: bigint;      // 最大可花金额
  allowedContracts: string[]; // 允许交互的合约白名单
  signature: string;        // 主人的 ECDSA 签名
}

interface SessionContract {
  sessions: Map<string, SessionKey>;
  spent: Map<string, bigint>;

  authorize(session: SessionKey): void {
    // 验证 owner 签名
    // 检查 session 的有效性
    this.sessions.set(session.agent, session);
    this.spent.set(session.agent, 0n);
  }

  execute(
    agent: string,
    callData: string,
    target: string,
  ): void {
    const s = this.sessions.get(agent);
    if (!s || Date.now() > s.expiry) throw new Error("Session expired");
    if (!s.allowedContracts.includes(target)) throw new Error("Not allowed");
    
    const callValue = 0n; // 简化
    const newSpent = (this.spent.get(agent) || 0n) + callValue;
    if (newSpent > s.spendingCap) throw new Error("Over spending cap");
    
    this.spent.set(agent, newSpent);
    // 执行 call...
  }
}

11.5.3 风险:代理失控与提示注入

风险攻击方式防御
提示注入恶意合约返回不良内容,引导代理执行非授权操作沙箱 + 白名单
幻觉执行LLM 编造不存在的合约地址,资金丢失硬编码常用合约
无限授权代理骗取无限制 token 授权有限会话密钥 + 时间锁
套利操纵代理被引导进行对攻击者有利的 MEV 交易MEV 保护、提案-确认两阶段

11.5.4 前沿:Multi-Agent 协作与经济系统

想象多个 AI 代理在链上形成去中心化组织

  • 代理 A:数据采集(爬取链外信息)
  • 代理 B:分析预测(LLM 分析 + 量化)
  • 代理 C:执行者(根据投票结果执行交易)
  • 代理 D:审计者(检查 C 的行为是否合规)

这为"AI 原生 DAO"提供了基础设施。最激进的愿景是 "代理拥有资产"。 ——如果代理能独立签署交易、持有资产、执行合约,法律是否要承认"非人类法律实体"?


> ← 上一节:11.4 可验证计算 | 前往 → 11.6 量子计算威胁 |*

评论

0

评论加载中…

发表评论

0/2000