抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

最小 Agent loop 往往是一段 while true:调用模型,看到 tool call 就执行并把结果放回消息,看到 final answer 就结束。Demo 里足够,生产中只要进程重启、用户确认等十分钟、工具超时但实际成功,内存里的循环就无法给出正确恢复。

我会把 loop 做成持久化状态机。每次模型 attempt、工具 operation、用户等待和最终化都有独立状态,迁移先写事件和 artifact,再推进 current state。重启后从最后一个已提交状态恢复,不从对话文本猜执行到哪里。

Agent Loop 的可恢复状态机

调度页面上最容易被低估的是“状态”这一列。很多系统只存等待、运行、成功、失败四个值,再由调度器、执行器、回调接口和人工操作一起修改。刚上线时看不出问题;一旦消息延迟、worker 重启或用户点了重跑,同一个实例会在几秒内来回变色,最后状态与实际进程各说各话。

我设计实例状态机时,先问三个问题:谁有权写这个状态,凭什么证据迁移,迟到事件还能不能改变结论。状态不是 UI 文案,而是控制依赖、重试、资源回收和告警的业务协议。

调度实例状态不是一条直线