为什么每个 AI 智能体框架最终都会重新发明一个工作流引擎?
摘要
关于为何 AI 智能体框架往往会逐渐产生类似工作流引擎的需求——持久化状态、重试策略和可恢复的流程——以及应由智能体框架还是外部执行系统来管理这一持久化生命周期的思考。
我总是反复想到这个分界点:智能体不再只是一个循环,而是开始成为一个必须在原始 Python 进程消失后仍能存续的流程。假设它已经检索了一些文档,调用了两个 API,并正在等待批准后再做出更改。如果工作进程消失了,“再运行一遍提示词”作为恢复策略就相当奇怪了。因为模型的下一次响应可能会选择不同的路径,而那些 API 可能已经执行了某些操作。到了这个阶段,我需要的是已完成工作的记录、持久化的等待状态、重试策略,以及恢复执行的方法。这是一组非常熟悉的工作流引擎需求。标题中的“每一个”是有分量的。一个短暂运行、只读的智能体可能不太需要这些机制。LangGraph 已经具备持久化和中断机制;Temporal 从持久化工作流出发;自定义的队列加数据库方案则可以实现一套范围更窄的约定。这些方案不能相互替代,但它们正在面对一些相同的问题。Diagrid Catalyst 让我感兴趣,因为它提供了另一种划定这条边界的方式:保留智能体框架,在其底层加入持久化执行能力。我不会把这理解为外部副作用就可以自动安全地重复执行。应用仍然必须定义什么才算同一个操作。我更倾向于让模型选择有用的下一步,同时明确记录执行过程和恢复规则。我不确定的部分是归属问题:智能体框架应该负责这一持久化生命周期,还是应该与一个也能运行普通非 AI 任务的执行系统集成???
相似文章
我们是否把太多工作流程称为“智能体”?
作者质疑许多所谓的AI智能体是否更适合被称为工作流程,并认为对于可重复的浏览器任务,定义好的工作流程可能比每次重新解释步骤的智能体更可靠。
@djfarrelly: https://x.com/djfarrelly/status/2052779234234380479
本文主张,AI Agent 的开发应基于稳定的执行原语,而非会随新兴编排模式频繁更迭的僵化框架。文章强调,采用持久化步骤、持久状态、并行协调、事件驱动流程以及可观测性设计,可有效避免因最佳实践不断演进而付出的高昂重写代价。
我们的大部分“智能体”问题实际上是工作流/状态问题
一位开发者讲述,构建AI智能体时的许多挑战实际上源于工作流和状态管理问题,而非模型智能,强调了稳健的状态处理和可观测性的必要性。
是否真的有人能良好地编排多智能体工作流,还是我们都在拼凑应付?
一篇反思性文章,质疑是否有人成功实现了多智能体AI工作流编排,而没有诉诸临时解决方案。
代理的重试逻辑会随代理一起消亡
作者分享了将一个具有写入权限的 AI 代理投入生产环境后的经验教训,指出当进程终止时,代理循环内部的重试逻辑会失效。他们主张将有副作用的工具调用视为带有幂等键的持久后台任务。