1. 长周期 Coding Agent 如何保存目标、已改文件、测试证据、Checkpoint 和恢复条件
长周期运行的 Coding Agent 如何在任务中断后继续工作,需要保存哪些目标、已改文件、测试证据、Checkpoint 和恢复条件?
- 任务状态持久化(目标、子任务、进度)的设计
- 已改文件与 diff 的落盘与版本管理
- Checkpoint 与恢复条件的判定逻辑
长周期 Agent 应采用"可恢复的状态机"而非单纯内存对话。核心是把状态写成结构化清单:任务目标(原始验收标准)、当前子任务、已完成/未完成步骤、已修改文件及其 diff、每次测试运行的 pass/fail 证据、访问过的工具结果。这些状态应持久化到磁盘(如 JSON/状态文件)并周期性打 Checkpoint,同时基于 git 提交每个通过验证的里程碑。恢复时先读取 Checkpoint 重建上下文,再逐项核对"目标是否仍满足、测试证据是否仍有效、已改文件是否与基线一致",只有满足恢复条件(如测试仍通过、无冲突)才继续,否则回退到上一个有效 Checkpoint。
长任务最怕上下文丢失或 OOM 后从头再来,也怕恢复后基于过时状态做出错误决策。持久化状态 + 验证证据 + 恢复条件,让 Agent 能在任意点安全续跑,且恢复是"合并到已验证状态"而非盲目重放。