---
source: arxiv
url: http://arxiv.org/abs/2604.04979v1
published_at: '2026-04-04T18:52:44'
authors:
- "\xC1d\xE1m Kov\xE1cs"
topics:
- coding-agents
- context-pruning
- tool-output-extraction
- code-intelligence
- swe-bench
relevance_score: 0.95
run_id: materialize-outputs
language_code: zh-CN
---

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

## Summary
## 总结
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 A3B**、**Kimi K2**、未微调的 **Qwen 3.5 2B**，以及启发式方法 **BM25**、**First-N**、**Last-N** 和 **Random**。

## 结果
- 在 **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**。
- 启发式剪枝明显更弱：**BM25** 在 **0.90** 压缩率下得到 **0.22** 召回率和 **0.23** F1；**First-N** 的召回率是 **0.14**；**Last-N** 的召回率是 **0.05**。
- 在 **59** 个负样本测试例上，Squeez-2B 有 **80%** 的时候返回空输出，而 **Qwen 35B** 只有 **7%**，说明它在没有相关证据时处理得更好。
- 论文没有报告端到端代理任务完成率的提升，所以主要结论是：在一个新的编码代理工具输出基准上，模型能在大幅压缩下保留更完整的证据。

## Problem

## Approach

## Results

## Link
- [http://arxiv.org/abs/2604.04979v1](http://arxiv.org/abs/2604.04979v1)
