流程:持久代理工作流程 - HITL 暂停 + 每个工具调用的检查点
作者: asim创建于 2026年7月12日更新于 2026年7月15日
标签enhancementneeds-human
上下文(来自于间隙审计 — 体系结构上的人为主导,不是用于自动合并)
flow/ 在确定性轴上非常接近(它会进行检查点并恢复,而不需要重新播放已完成的步骤),但还不是一流的持久性代理工作流 — Dapr-Agents 所带领的收敛部分,Mu 也必须手动编写(agent/flows.go)。有两个间隙使代理循环变得不持久:
- 没有人在循环中的暂停 —
flow/steps.go:107没有waiting状态;需要外部输入的步骤必须阻塞进程或失败。没有Resume(runID, injectedInput)。 - 代理的动态循环对检查点是不透明的 —
flow/steps.go:269(Dispatch)/flow.go:306(callAgent): 一个Agent.Chat轮回是一个流步骤,因此在回转中崩溃时,每次工具调用都会重新播放。持久性单元是一个固定的步骤列表,而不是代理的可暂停的每次工具调用循环。 - 次要:
flow/loop.go:82Loop没有按迭代进行检查点;steps.go:457至少一次(重复副作用在恢复时)不是一次性;:158没有多副本的运行租赁。
内容来源: micro/go-micro