代码 Agent 工作久了,读过的文件、搜索结果和日志会不断堆积,像书桌被旧材料占满。它们挤占“上下文窗口”——模型一次能读取的信息总量,也会增加计算成本。SWE-Pruner Pro 的思路是:不再外挂另一个模型整理桌面,而让代码模型自己判断哪些历史内容还有用。
模型读取工具输出时,本来就会形成“内部表征”,也就是对内容理解后留下的一组数字特征。作者发现,其中已经含有逐行判断重要性的信号。于是他们接上一个小型“分类头”,把这些特征转换成 keep 或 prune:保留,或裁掉。它还会参考输出总行数,避免用同一尺度处理五行结果和三百行日志。裁剪发生在下一轮之前,因此模型当轮仍能看到完整输出,之后才只携带筛选后的内容。
作者在两个开放权重模型和四个多轮基准上测试,称最多可节省39%的输入与输出令牌,同时基本保持任务质量;回放实验中,分类头带来的总生成耗时增幅为15.0%,且无需额外调用一个模型。