来源笔记

Squeez: Task-Conditioned Tool-Output Pruning for Coding Agents

Coding AgentsContext PruningTool Output ExtractionCode IntelligenceSwe Bench

Squeez 目标是一个狭窄但实用的编码代理任务:给定一个查询和一个工具输出,只保留对下一步有用的最小逐字片段。论文发布了这个任务的基准,并显示经过 LoRA 微调的 Qwen 3.5 2B 模型优于更大的零样本模型和简单的剪枝启发式方法。

  • 编码代理会反复重读很长的工具输出,比如文件读取、日志、堆栈跟踪、grep 命中和 git 历史,即使只有一小部分内容与下一步动作有关。
  • 这会浪费代理循环中的上下文和算力,尤其是在软件调试和仓库工作中,相关证据可能出现在输出的任何位置。
  • 论文聚焦单次观测剪枝:为一个聚焦的查询提取最小的逐字证据块,让代理保留有用的行,丢掉其余内容。
  • 作者定义了任务条件化工具输出剪枝:输入是一个简短查询加上一条原始工具观测;输出是原文中的一个或多个连续片段。
  • 他们构建了一个包含 11,477 个样本、覆盖 27 种工具类型的数据集,其中包括 9,205 个基于 SWE-bench 的样本、1,697 个合成正样本和 575 个合成负样本;测试集有 618 个人工复核样本。
  • 标签由一个两阶段教师流程生成,使用 openai/gpt-oss-120b 写出聚焦的抽取查询,并选择最小的支撑片段;发布的标签会映射回原始文本,因此目标始终保持逐字一致。
  • 模型是用 LoRA 微调的 Qwen 3.5 2B,输出格式放在 <relevant_lines> 标签内。评估使用行级 召回率F1完全匹配压缩率
  • 基线包括零样本 Qwen 3.5 35B A3BKimi K2、未微调的 Qwen 3.5 2B,以及启发式方法 BM25First-NLast-NRandom
  • 618 个保留测试样本上,Squeez-2B 达到 0.86 召回率、0.80 精确率、0.80 F1、0.79 严格 F1、0.49 完全匹配和 0.92 压缩率,也就是移除了 92% 的输入 token。
  • 与主要的零样本大模型基线 Qwen 3.5 35B A3B 相比,Squeez-2B 的召回率从 0.75 提升到 0.86,F1 从 0.73 提升到 0.80,压缩率同为 0.92
  • 与未微调的 Qwen 3.5 2B 基础模型相比,Squeez-2B 的召回率从 0.53 提升到 0.86,F1 从 0.55 提升到 0.80
  • 启发式剪枝明显更弱:BM250.90 压缩率下得到 0.22 召回率和 0.23 F1;First-N 的召回率是 0.14Last-N 的召回率是 0.05
  • 59 个负样本测试例上,Squeez-2B 有 80% 的时候返回空输出,而 Qwen 35B 只有 7%,说明它在没有相关证据时处理得更好。
  • 论文没有报告端到端代理任务完成率的提升,所以主要结论是:在一个新的编码代理工具输出基准上,模型能在大幅压缩下保留更完整的证据。