我们狠狠撞上了重试问题,干脆开源了一个解决方案
摘要
Replaysafe 是一个开源的 npm 库,通过对操作进行指纹识别来确保幂等重试,防止 AI 智能体工作流中出现重复的副作用。它集成了 LangGraph、CrewAI 等流行框架。
如果你在生产环境中运行过智能体,你应该知道这种场景:智能体在任务中崩溃,你重试,然后客户就有了两笔扣款、两封欢迎邮件、两条 CRM 记录。难点不在于重试,而在于搞清楚哪些事情**已经**发生了。我们正在构建一个小型库,它包装任何非幂等调用(如扣款、发送邮件、调用 API),并对其进行指纹识别:`hash(type + target + input)`。在执行之前,它会检查该操作是否已经执行过。如果是,则返回缓存的结果;如果否,则执行并记住结果。它提供了断路器来防止重试风暴,以及部分失败时的回滚钩子。支持 LangGraph、CrewAI、Inngest、n8n、Airflow —— 无论你使用哪种框架。这个库叫 Replaysafe。开源(AGPL),只是一个 npm 包,无需额外基础设施。很想知道大家在这里使用了哪些有效的恢复模式,这个项目还处于早期阶段,我们正在根据实际需求学习改进。
相似文章
构建了一个小型开源工具,防止AI代理在变更后出现回归
replayd 是一个开源Python工具,它捕获失败的AI代理运行,并将其作为回归测试重放,以防止变更后回归再次出现。
代理的重试逻辑会随代理一起消亡
作者分享了将一个具有写入权限的 AI 代理投入生产环境后的经验教训,指出当进程终止时,代理循环内部的重试逻辑会失效。他们主张将有副作用的工具调用视为带有幂等键的持久后台任务。
Retrace
Retrace 是一款允许开发者通过重放和分叉运行来调试 AI 智能体的工具。
AI Agent系统的确定性重放
本文提出了一种用于AI Agent系统的确定性重放方法,实现了可复现的调试与分析。
我为GitHub仓库上的沙盒化代理运行构建了一个回放层
一个开发者工具,可以在沙盒化的GitHub仓库内记录AI代理的运行过程,捕获终端/浏览器会话,并将其转化为可回放的带解说视频,以提升可观测性。