很多工程师会把金融工作流里的每一步都当成潜在的故障点,因为服务会宕机,网络会掉线。但更大的危险往往藏在步骤与步骤之间的空隙里——等待,才是问题堆积的地方。
当应用在等待账户验证或结算时,它可能因为新版本部署而重启,容器可能崩溃,运行它的硬件也可能出故障。流程跑得越久,这些问题的发生概率就越高。
打开网易新闻 查看精彩图片
等待的代价:人也是延迟源
AI代理引入了另一种延迟来源:人。有些审批几秒钟就到位,有些则要花上几小时甚至几天。代理必须跟踪当前状态,为了让业务继续推进,它可能需要在截止时间过后升级处理、选择授权的替代方案,或者通过补偿已完成步骤来取消整个操作。
这就带来了一连串现实问题:系统如何可靠地等待任意长的时间,并在截止时间一到就立即行动?如何在软件或硬件故障后恢复,既不丢失已知进度,也不无谓地重复模型调用?工程师如何看到代理此刻在做什么?合规团队又如何看到它上周做了什么?
持久执行:让等待变得可靠
持久执行(Durable Execution)是让这一切成为可能的基础。一个持久执行平台,比如MIT许可的开源项目Temporal,会记录应用的进度以及每个重要步骤的详细结果。如果应用被中断,它就用这些信息自动恢复完整的应用状态,然后从断点继续。
模型和工具的结果会成为被记录进度的一部分,让代理无需重复已完成的工作,也不必浪费token。持久定时器让代理可以可靠地等待任意时长,无论是几秒还是几个月。应用还可以等待某个指定条件,并可选地设定时间限制,在收到外部系统消息时采取行动。
这些应用用普通代码编写,使用Python或TypeScript这类标准语言,可以跑在标准基础设施上。
如果你想知道持久执行如何帮你构建可靠的代理,可以去Expo Hall的Temporal展位,和技术人员来一场白板讨论。
热门跟贴