在多阶段自动化任务中,当流程推进至后半程因网络抖动或容器重启而中断时,基于对话历史的常见处理方式是将此前积累的 messages 数组全量回传,并追加一条提示语让模型根据历史记录推断下一步动作。
将自然语言聊天记录作为长期记忆的做法,会导致长时运行系统在恢复过程中面临状态漂移与副作用失控的问题。
在一组确定性对比实验中,针对包含调研、初稿、外部扣费接口调用、审查与交付的五阶段任务,注入两次进程崩溃与重入中断。
在朴素聊天记录模式下,模型在缺乏结构化物理回执时依赖上下文文本进行推断,导致本应单次执行的外部写操作被触发了 3 次,产生 2 次重复调用。聊天上下文随着交互轮次持续增加,累计消耗了 33070 个上下文标记,模型被唤醒 10 次。
在 Checkpoint 状态机模式下,通过将状态存储与无状态决策逻辑分离,并记录不可变回执与原子检查点,在经历相同中断时外部接口仅执行 1 次。总上下文标记消耗保持在 1750 的水平,并在恢复重放过程中触发 7 次提前终止跳过。
本次实验包含 25 项确定性测试断言,验证了状态解耦与不可变回执在长任务中的确定性自愈能力。
聊天记录属于通信传输层
单次交互会话通常仅维持短时上下文,但在跨越数十分钟的长流程自动化流水线中,直接累加对话消息会导致多项工程缺陷。
自然语言具有文本歧义性,模型输出调用成功的文本描述并不等同于物理世界中网络请求的真实完成。如果在完成外部写操作与写入日志之间发生进程中断,重新投递消息记录会导致后续步骤对执行进度的错误推断。
上下文窗口的累积开销随步骤递增。即使采用阶段性文本摘要,有损压缩依然可能引入语义失真。在分布式系统中,涉及数据库写入、外部发信、扣费接口调用等写操作必须具备幂等保证,而纯文本历史无法提供可验证的幂等凭据。

聊天记录随执行持续膨胀;Checkpoint 状态机保持恒定低开销与精确自愈。
对话历史承担的是通信传输职责,系统的持久化状态应当依托结构化存储进行管理。
在两次崩溃中断的对照测试中,朴素模式由于缺乏结构化回执,模型将已完成的外部扣费动作判定为未完成状态,导致了重复执行。
组合优于继承构建三件套
保障长时运行任务的稳定性,需要在工程架构上遵循组合优于继承以及提前终止原则。
状态机由三个解耦的最小组件构成。
首先是不可变回执账本,采用追加写入的日志文件格式。每当执行具备物理副作用的操作时,系统会生成包含步骤标识、执行状态、输出结果与幂等键的回执条目。只要账本中存在带有唯一幂等键的成功记录,该步骤在物理层面即被确认完成。
其次是原子状态存储,以结构化格式记录当前阶段名称、已完成步骤清单、关键产物索引与状态版本号。每次状态变更均通过文件原子替换完成,防止异常中断产生损坏数据。
最后是阶段转移守卫,通过显式定义的有向无环图限制状态迁移路径。当决策输出偏离预设路径时,守卫逻辑会在执行前予以拦截。

不可变回执与提前终止机制构成了 Agent 状态机的闭环防护。
提前终止原则在状态流转中覆盖两类路径。在成功恢复路径上,调度器重新扫描任务清单时若检测到回执已存在,将直接跳过该步骤与模型调用。在致命故障路径上,当底层操作返回不可恢复的错误时,系统会将状态置为终止,阻断无效重试。
状态与决策解耦实现可测试自愈
将状态外置为 Checkpoint 之后,大模型在架构中转变为无状态的决策计算单元。
这种解耦为系统带来了脱离外部模型依赖的确定性单测能力。状态机与回执逻辑能够在本地以毫秒级速度回放网络超时、进程重启与并发重入等异常场景。实验中的 25 项断言均通过纯内存与文件模拟完成验证。
模型在每次唤醒时仅接收当前状态的结构化投影,无需加载全量历史。这不仅降低了上下文开销,也减少了无关文本对决策过程的干扰。
针对长任务系统的架构改造,可以采取四项具体措施:
第一是将全量对话记录从持久化主链路中剥离,建立独立的结构化状态文件;第二是为所有包含外部副作用的工具补充不可变动作回执与幂等键;第三是在各步骤执行前加入基于回执账本的前置跳过逻辑;第四是为状态机的转移守卫和重放机制编写独立的单元测试用例。
系统的运行可靠性建立在确定性的状态管理与幂等控制之上。
