5 Checkpoint 与 Memory:让长任务不断找回主线
系列进度
Harness Engineering 从零教程 · 第 5 / 5 篇
如果一个 Agent 要执行几十步,光有 Goal、State 和 Planner 还不够。上下文会越来越长,工具观察会越来越多,中间决策也会越来越散。这时就需要 Checkpoint 和 Memory。
Checkpoint 负责把阶段进展重新压缩成当前状态,Memory 负责保存长期有价值的信息。两者配合起来,就是 Progressive Context Refresh:执行几步后,把主线重新整理,再继续。
Claude Code、OpenHands、OpenClaw、各种研究型 Agent,本质上都在做类似事情:目标不丢,计划可改,状态可恢复,记忆有筛选。
1. Checkpoint 是阶段性找回主线
Checkpoint 可以很简单:当前目标是什么,已完成什么,未完成什么,遇到什么阻塞,下一步是什么。每隔几步做一次,就能避免 Agent 被中间细节带走。
比如网站开发任务执行到第 8 步,Checkpoint 可以写:已完成登录和注册,未完成支付和后台管理,当前阻塞是支付回调测试账号缺失,下一步先做后台管理静态页面。
2. Memory 不是保存全部历史
很多人一听 Memory,就想把所有历史都塞进去。这样会让系统越来越贵,也越来越吵。更好的方式是分层:Long-term Memory 保存用户偏好和长期事实,Working Memory 保存当前任务状态,Current Task 保存这一轮要做什么。
例如“用户喜欢中文教程风格”可以进入长期记忆;“正在写 Harness 第 5 篇”属于工作记忆;“生成本节小结”属于当前任务。
3. 什么值得进入长期记忆
长期记忆应该很克制。适合保存的内容包括:稳定偏好、常用项目路径、固定发布流程、长期禁忌、反复出现的工作标准。不适合保存的是:临时搜索结果、一次性错误、已经过期的中间草稿。
一句判断标准是:下周再做类似任务,这条信息是否仍然有用?如果没有,就不要进长期记忆。
4. 用检查点触发 Re-plan
Checkpoint 不只是总结,也可以触发 Re-plan。比如原计划十步,执行到第五步发现资料不足,系统就应该基于当前 State 重新排待办,而不是硬着头皮按旧计划继续。
好的 Re-plan 会保留目标,承认现实,调整路径。坏的 Re-plan 会把目标也一起改掉,最后变成另一个任务。
5. 本节小结
Harness Engineering 最后落到一句话:外部系统保存主线、状态、计划、检查点和记忆,模型每次只负责当前一步推理。
如果你要自己搭最小 Harness,可以从五个对象开始:Goal、State、Plan、Checkpoint、Memory。先用 JSON 和日志跑通,再考虑接工具、数据库和多 Agent。这样做出来的 Agent 不一定最炫,但会更稳。
相关教程
相关入口
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
相关内容



