最小 Agent loop 往往是一段 while true:调用模型,看到 tool call 就执行并把结果放回消息,看到 final answer 就结束。Demo 里足够,生产中只要进程重启、用户确认等十分钟、工具超时但实际成功,内存里的循环就无法给出正确恢复。
我会把 loop 做成持久化状态机。每次模型 attempt、工具 operation、用户等待和最终化都有独立状态,迁移先写事件和 artifact,再推进 current state。重启后从最后一个已提交状态恢复,不从对话文本猜执行到哪里。