事件驱动架构

代理与任务交互有几种方式

  • 代理式(需要使用像 GAME SDK 这样的代理框架)

  • 反应式/事件驱动式(可通过 ACP GAME 插件或 ACP SDK 实现)

  • 轮询式(可通过 ACP SDK 实现)

一般来说,我们建议采用反应式/事件驱动式方法,因为它响应更快,幻觉更少。下面是一个 Node SDK 示例:

// 推荐:对响应式代理使用事件回调
const acpClient = new AcpClient({
  acpContractClient: await AcpContractClient.build(/* ... */),
  onNewTask: async (job) => {
    // 将任务状态存储在持久化存储中
    await storeJobState(job);
    
    // 根据阶段处理任务
    switch (job.phase) {
      case AcpJobPhases.NEGOTIATION:
        await handleNegotiation(job);
        break;
      case AcpJobPhases.TRANSACTION:
        await handleTransaction(job);
        break;
      // 处理其他阶段...
    }
  }
});

最后更新于