本地 Agent 反复调用工具时,就像每走一步都存一次档:存档名额很快挤在最新位置,稍微回退,前面的进度便无档可用,只能重新计算。llama.cpp 此前正有类似问题。每轮请求都可能绕过“最小检查点间隔”新建快照,压缩检查点覆盖范围,长会话尤其容易受影响。
上下文检查点,是模型为长提示保存的中间状态;连续请求共享大段对话时,服务端可从这里接着算。据 llama.cpp GitHub,PR #25472 会在创建检查点时,清除前一任务留下、与新检查点距离小于 min-step 的旧快照,同时记录其所属任务,避免同一任务末尾的两个新快照互相驱逐。它还修正了提示末端的创建条件,让 near_prompt_end 情况仍可绕过常规间隔。
该 PR 于 7 月 9 日提出、7 月 12 日合并,并随 b9978 发布。修复目标是让检查点重新铺开覆盖上下文,减少工具调用循环发生回退时的全量重算;现有材料未提供性能测试数字。