上下文满了怎么办:两条压缩路径
先盯住一个动作
压缩有压力触发和溢出恢复两个正交触发器。溢出错后允许重试的唯一凭证是世代号单调前进,插件自己报告不算数。
沿执行轨迹走
压力路径在请求前收缩超阈值上下文
压力路径在请求前主动收缩超过阈值的上下文,失败时只记录日志并继续;溢出路径在模型已报上下文错误后强制压缩,只有真实缩减成功才允许重试。压力路径负责预防,溢出路径负责兜底。
[repo]
世代号只读、只增
世代号只读、只增,只有真实替换落盘才加一。溢出恢复先拍快照,压缩后世代号变大才放行重试,否则保留原始错误。插件返回值不参与判断。
[repo]
这是防开放接缝上的恶意或故障后端
开放的压缩后端可能故障或谎报成功。系统只检查世代号是否真实前进,不采信后端返回值;没有变化就保留原始错误,默认最多重试 1 次。
[repo]
每一步改变了什么
谎报成功的压缩后端会导致死循环吗: 不会。世代号不前进就不放行重试,保留原始错误上报,重试计数不会增加。
压力与溢出两条路径失败语义有何不同: 压力失败宽松,记日志继续;溢出失败必须决定:要么世代号前进并重试,要么保留错误上报。
这条轨迹没有说明什么
本页结论对应 revision
0a53fb55bea101816fa226bb964ae2bed71c343b。文件位置、命名和默认行为可能随版本变化,引用实现细节时应同时记录 commit。
来源与核验
- [repo] DeepSeek Harness 官方源码(固定 revision)
- [official] DeepSeek Harness 官方介绍
Revision:0a53fb55bea101816fa226bb964ae2bed71c343b · 核验日期:2026-08-31