Workflow 系列(03):状态管理——持久化、幂等性与版本绑定
为什么状态管理是核心问题一个 Agent Workflow 运行到第 5 个 Phase 时崩溃了。重启之后,它从头开始还是从第 6 个 Phase 继续?没有状态持久化,只能从头开始:之前的 LLM 调用、工具执行、人工确认全部作废。状态管理的作用:工作流在任意时刻中断,从最近的检查点精确续接。这也是人工确认门的基础,门被触发意味着工作流暂停在某个确定状态,人工响应后从该状态继续。Durable Execution 模式将执行过程序列化为可恢复的检查点,任何时候中断,从最近检查点重新执行,结果与不中断一致。Temporal.io 是这个模式的代码层典型实现,但用 JSON 文件同样可以实现相同的语义。状态文件结构{"workflow_id":"wf-bug-e2e-AE-33995-20260601","workflow_version":"1.3.0","jira_key":"AE-33995","started_at":"2026-06-01T10:00:00+08:00","phase":"phase_4","phases":{"phase_1":{"status":"done","completed_at":"2026-06-01T10:02:30+08:00","output_file":"bug_info.json"},"phase_2":{"status":"done","completed_at":"2026-06-01T10:05:00+08:00","output_file":"log_analysis.json"},"phase_3":{"status":"done","completed_at":"2026-06-01T10:18:00+08:00","output_file":"analysis_final.json"},"phase_4":{"status":"in_progress","step":"step_4_1","steps":{"step_4_1":{"status":"done","output_file":"candidate_a.json"},"step_4_2":{"status":"in_progress"}