对于智能代理来说,是否有一个好的执行层,还是大家都在自己构建?
摘要
作者探讨了为AI代理构建执行层时遇到的挑战,包括处理重试、部分失败和验证(当与多个应用交互时),并询问是否有现成的解决方案或社区实践。
我一直在尝试构建一个iMessage代理,能跨应用为我做些有用的事,但总是遇到同样烦人的问题。模型通常能搞清楚我想要什么以及调用哪个工具。麻烦的是之后的一切。比如:它发送了一封邮件但请求超时了——是失败了,还是邮件实际上发送了?它移动了一个日历事件,然后试图在Slack上给某人发消息,但某个步骤失败了。重试发生后,现在我担心它可能重复执行同一操作。代理说“完成了”,因为工具调用看起来成功,但我其实不确定外部应用最终是否处于正确状态。我一直在想,那些在生产环境中运行代理的人是怎么处理这些的。你们是:
- 把未知当作真实状态处理吗?
- 在重试前检查外部系统吗?
- 维护一个单独的副作用账本吗?
- 为每个集成有自定义的重试/幂等逻辑吗?
- 使用Temporal / LangGraph / n8n / 其他工具吗?
- 有清晰的方式表示跨多个应用的部分完成吗?
我有点希望存在的东西是,我的代理可以直接说:“把这个会议移到周五,保留与会者,用Slack告诉Sarah,并在Notion上更新项目。”然后,某个执行层处理应用特定的调用、重试、部分失败、验证等,并只给我的代理一个清晰的实际发生情况的回执。这样的东西已经存在了吗?感觉我总是不得不围绕Gmail、Calendar、Slack等构建越来越多的自定义执行逻辑,我好奇其他人是否最终也做同样的事。很想知道人们在生产环境中是如何处理的,或者是否有现成的产品我应该使用而不是重新构建这个,哈哈。
相似文章
我们是否缺少一个面向AI智能体的运维层?
本文探讨了AI智能体在生产环境中运维工具的缺失,重点关注错误处理、状态重放、安全性和审批流程等挑战。
我受够了AI代理在生产环境中静默失败,于是为它们构建了一个运行时控制层
作者构建了一个运行时控制层,以解决AI代理在生产环境中静默失败的问题。
我与40多位部署AI代理的开发者交谈。无人工具能捕捉到的失败模式。
文章识别了AI代理部署中一个常见的失败模式,其中成功的报告掩盖了无声的数据库写入失败,并介绍了一个名为Synathic的SDK,用于自动验证执行后状态。
我刚刚为了可靠性重写了整个代理基础设施,有人也这样做吗?
作者描述了在遭遇级联故障后,使用DBOS持久化执行重写其AI代理基础设施以提高可靠性的经历,并向社区询问类似的经历、工具选择以及自建与购买决策。
这里有人运行能够实际写入生产系统的AI agents吗?
一位用户正在寻求其他运行具有写入生产系统权限的AI agents的实践经验,讨论如操作验证、重试处理、审计跟踪和内部所有权等运营挑战。