珠海橡塑专用胶 KR Labs突破:小型AI模型实现程序员助手92信息过滤能力提升

 178    |      2026-06-02 21:06
PVC管道管件粘结胶

这项由KR Labs机构开展的研究以预印本形式发布于2026年4月4日,arXiv编号为2604.04979,收录于计机科学·软件工程(cs.SE)分类。有兴趣入了解的读者可以通过该编号在arXiv平台检索完整论文。

**程序员的"智能助手"有个藏了很久的小毛病**

假设你雇了个助理,每次你问他"刚才那条报错信息是什么?",他都会把整本日志从头到尾念给你听,哪怕你要的答案只藏在183行那短短两句话里。这不只是浪费时间,每念遍都要花真金白银——因为今天的AI助手按"读了多少字"来收费。

这正是当下所有"编程智能体"(Coding Agent,可以理解为能自动写代码、找bug、修问题的AI程序)都面临的真实困境。这类系统每完成步操作,都要去读文件、跑命令、看输出——文件扫描结果、报错日志、测试报告、版本历史……每份输出动辄几百行,但真正有用的往往就那么几行。AI助手却不得不把每份输出从头读到尾,浪费大量力,也拖慢了整个工作流程。

KR Labs的研究者把这个问题叫做"工具输出修剪"(Tool-Output Pruning)——核心思路是:在AI助手读取工具输出之前,先用另个小模型把没用的内容剪掉,只把真正有价值的那几行传给AI。他们把这套系统起名叫**Squeez**(挤压、精简之意),并围绕它做了套完整的测评基准、数据集和模型。

研究结果相当出人意料:个只有20亿参数的小模型(Qwen 3.5 2B),经过针对训练后,不仅能在删掉92关内容的同时保住86的关键信息,还把个比它大18倍的模型(Qwen 3.5 35B)远远甩在了身后。

---珠海橡塑专用胶珠海橡塑专用胶

、为什么"智能助手读太多"是个大问题?

回到那个助理的比喻。现实中的编程智能体在解决个软件问题时,会经历连串操作:开某个文件看看里面的代码,用搜索命令找某个关键词,跑遍测试看看哪里失败了,查下版本历史看谁动过这行代码……每步操作都会产生"工具输出"——也就是命令执行完之后屏幕上吐出来的那些文字。

问题在于,这些输出往往非常冗长。次文件读取可能返回上千行代码;次测试运行可能产生几百行日志;次版本历史查询可能列出几十条提交记录。而AI智能体在决定下步怎么做之前,需要把这些内容全部"读"进去。在大型语言模型的世界里,"读"是要花钱的——读的字越多,消耗的力越多,速度越慢,成本越。

麻烦的是,相关内容往往只占整个输出的很小部分。条ImportError的原因可能就藏在500行文件里的某个函数定义里;次构建失败的根因可能是110行构建日志中的那行Dockerfile语法错误。其余的内容对于当前这个决策步骤毫价值,却须全部占用AI的"阅读"资源。

这就是Squeez要解决的问题:在AI助手读输出之前,先做道"筛选",只保留当前任务真正需要的那部分内容。

---

二、Squeez的工作式:个"职过滤器"的诞生

Squeez的基本逻辑可以用个图书馆助理的场景来理解。你去图书馆查资料,不是直接把整本书搬回,而是先告诉助理:"我要找关于1920年代上海租界的经济数据,在那本500页的历史书里。"助理熟悉书的结构,直接翻到相关章节,把那几页复印给你。Squeez扮演的就是这个"熟悉书本结构"的图书馆助理角。

具体来说,Squeez接受两样东西作为输入:个简短、具体的"提取查询"(Extraction Query),以及份原始的工具输出文本。提取查询是对当前任务需求的精确描述,比如"找到解释ImportError的调用栈"或者"找出影响xr.polyval维度顺序变化的那条提交记录"。工具输出则是命令执行后原封不动的输出内容。

Squeez的输出是原始文本中的段或几段连续行——不是改写,不是总结,而是原文的直接摘取。研究者把这称为"逐字证据块"(Verbatim Evidence Block)。这点很关键:AI助手读到的依然是原汁原味的代码、日志或命令输出,只是去掉了关的部分,不存在任何信息被曲解或改写的风险。

在系统架构上,Squeez被设计成个轻量的"预处理步骤",插在工具执行和AI助手读取之间。工具跑完、输出出来,先经过Squeez过滤,再传给AI助手。这意味着不需要改动AI助手本身的任何逻辑,只需在它"眼睛"前面加个过滤镜。研究团队已经把它做成了可以接收管道输入的命令行工具(CLI),也可以通过vLLM这个理框架来部署,接入现有的编程智能体系统(比如Codex或Claude Code)几乎不需要额外的工程改造。

---

三、造把"尺子":11477个例子构成的测评基准

要知道Squeez做得好不好,先得有把靠谱的"尺子"。研究团队为此门构建了个包含11477个样本的测评基准,这本身就是这项研究的重要贡献之。

数据来自两个不同的源头,这两个源头的结非常有意思。个源头是SWE-bench——这是学术界广泛使用的个软件工程基准,包含了大量真实的GitHub代码仓库和对应的问题。研究团队克隆了这些仓库的快照,然后在上面实际运行了14种不同类型的工具:读取文件、grep搜索、Git提交历史、Git代码归属查询、测试运行器、代码风格检查、类型检查器、pip包安装、curl网络请求等等,总共收集了10713条原始工具输出。这些都是编程智能体在真实工作中会遇到的东西。

二个源头是为了弥补SWE-bench的局限。SWE-bench主要是Python项目,但现实中的工程师还要面对TypeScript、Go、Rust、Java、Docker容器、Terraform基础设施代码、Kubernetes集群管理等各种技术栈。于是研究团队用个大型语言模型(openai/gpt-oss-120b)生成了2039条涵盖这些技术生态的成工具输出,让测评基准的覆盖范围加。此外,他们还门构造了575个"陷阱样本"——查询和工具输出故意不匹配,正确答案是"什么都不提取",用来测试模型是否能识别出"这里根本没有你要的东西"的情况。

终发布的基准包含9205条SWE衍生样本、1697条成正例和575条成负例,横跨27种工具类型。其中数量多的是文件读取(3768条)、grep搜索(1330条)、Git提交日志(720条)、Python异常(698条)、curl输出(493条)、pip安装(441条)等。

每个样本的构建遵循套统的"教师标注流水线":给定原始工具输出和背景任务,用大模型先写个聚焦的提取查询——注意是局部的信息需求,不是完整的问题描述——然后再选出能回答这个查询的小连续文本段。模型看到的是带行号的工具输出,以便精确定位,但终存储在数据集里的标注是映射回原始文本的坐标,确保每个答案都是原文的逐字摘取。

测试集的把关尤为严格。从729个候选测试样本中珠海橡塑专用胶,有111个(占比15.2)被人工审核后剔除,理由包括:与其他样本过于相似、输出内容太短(只有两行)没有测试价值、标注的范围过于宽泛、或者标注本身有误。终的618个测试样本全部经过人工复核,质量有保障。

---

四、训练个"才"而不是"通才"

Squeez的核心模型是Qwen 3.5 2B——个来自阿里云Qwen系列的20亿参数语言模型。选择这个模型有明确的工程考量:研究者的目标不是找个能凭空理出问题答案的"大脑",而是训练个能在现有智能体系统里运行的"职过滤器"。20亿参数的模型足够轻量,可以以很低的成本运行,而Qwen 3.5系列本身在代码理解和理面有不错的基础能力,正好适这个任务。

训练式采用了LoRA(低秩自适应,种只调整模型中少量参数的微调技术)。可以把它理解为:不需要重新培训个员工的所有技能,只需要给他加堂项技能课。训练在张NVIDIA A100 80GB显卡上进行,跑了三轮(epoch),序列大长度设置为20000个token(大约够处理份很长的工具输出),学习率2×10??,加上梯度累积、预热策略和权重衰减等常规训练技巧。

模型的输入格式很直接:提取查询和工具输出按照固定格式组成个提示,模型被训练输出用``标签包裹的逐字提取文本。训练完成后,LoRA适配器被并进基础模型,通过vLLM理框架部署使用。

评估指标的选择体现了这个任务的特殊。研究者选定了四个主要指标:召回率(Recall,衡量准内容被覆盖了多少)、F1分数(综考虑精确率和召回率的平衡指标)、严格精确文本匹配F1,以及压缩率(Compression,输入中被删除的比例)。评估的基本单位是"行"——预测结果和标准答案都表示为行集,逐行比较。F1的计采用了种"容忍模糊匹配"的式,只要预测行和准行的文本相似度过0.5就匹配,这是为了应对生成式模型输出中可能存在的微小格式差异。整个评估框架把召回率放在比精确率重要的位置,因为在这个任务里,漏掉关键信息(召回率低)通常比多保留了点关内容(精确率低)危害大。

---

五、比赛结果:小个子败大力士

实验对比的阵容很有代表。除了Squeez(Qwen 3.5 2B微调版),研究者还测试了三个样本生成模型——也就是没有经过任何针对训练、直接按照任务要求回答的模型:比Squeez大约18倍的Qwen 3.5 35B A3B、Kimi K2,泡沫板橡塑板专用胶以及没有经过微调的Qwen 3.5 2B基础版。另外还有四个启发式基线:BM25(种基于关键词匹配的经典信息检索法)、First-N(直接取前10的行)、Last-N(直接取后10的行)、Random(随机取10的行)。后四种基线都保留约10的内容,与准的压缩比例相当,保证比较的公平。

结果非常清晰。Squeez在保持92压缩率的同时,召回率达到0.86,F1分数达到0.80,精确率0.79——在所有被测系统中先。Qwen 3.5 35B A3B尽管参数量是Squeez的18倍,召回率只有0.75,比Squeez低了11个百分点。Kimi K2的压缩做得激进(94),但付出的代价是召回率只有0.53,漏掉了太多关键内容。未经微调的Qwen 3.5 2B基础版召回率同样是0.53,但过度保留了内容,压缩率只有82,并且提取结果质量嘈杂。

四个启发式基线的表现则惨不忍睹。BM25的召回率仅有0.22,First-N是0.14,Random是0.10,Last-N垫底只有0.05。这组数据直接说明了个关键事实:工具输出里的关键信息可能出现在任何位置,头部、中间、尾部都有可能,而且是否有用取决于具体的查询需求,而非内容的字面关键词。单纯靠位置或词频来做筛选,在这个任务上根本行不通。

从"召回率-压缩率权衡图"(论文中的Figure 2)来看,Squeez占据了左上角的优位置——召回率加压缩率,而其他系统要么在两个维度上都不如它,要么存在明显的取舍问题。

---

六、它在哪些情况下表现好,又在哪里会出错?

定分析揭示了Squeez成功和失败的规律,读起来颇为有趣。

在结构化输出中命中面,以Git提交日志为例:21行的日志里,查询要求找到与xr.polyval维度顺序变化相关的提交。Squeez直接找到了那唯正确的条。相比之下,Qwen 35B选了条"看起来也跟转置操作有关"但其实是错的提交,未微调的2B基础版则把几条polyval相关的提交全选了进去。

在噪声环境中提取故障块面,以176行的服务日志为例:查询要求找到影响健康检查请求的TLS握手失败信息。Squeez返回了正确的5行健康检查失败块。Qwen 35B选了日志里稍后出现的次支付请求TLS失败(语义相近但不是问的那个),Kimi K2只保留了正确块的部分。

在识别"查此物"面,当查询问的是日志里是否存在numpy版本冲突,而日志里根本没有这个问题时,Squeez正确地返回了空输出。在测试集的59个负例样本中,Squeez有80的时候都能给出空输出,而Qwen 35B只有7的时候能做到这点——多数情况下它会生成段解释文字,比如"未发现相关行……",这显然不是过滤器应该输出的格式。

奥力斯    PVC管道管件粘结胶价格     联系人:王经理    手机:18231788377(微信同号)    地址:河北省任丘市北辛庄乡南代河工业区/p>

Squeez的主要失误模式是"相邻过度选取":找到了正确的内容,但顺手把旁边的相关内容也带进来了。以110行构建输出为例,查询要求找12行的Dockerfile语法错误,Squeez找到了,但同时把附近个Python SyntaxError也选了进去。这类错误通常是"多了点"而不是"找错了地",危害相对有限。

Figure 3给出了个直观的例子:250行的kubectl输出,查询要求找出analytics-worker容器的OOMKilled原因和退出码。准答案是两行:"26: Reason: OOMKilled"和"27: Exit Code: 137"。在整个250行的输出中,Squeez准确地锁定了这两行。

---

七、这项研究的边界在哪里?

研究者在论文中坦诚地指出了几个局限,这些局限也划定了Squeez当前的适用范围。

Squeez评估的是单次工具输出的修剪质量,而不是整个智能体任务流程的终完成果。换句话说,它能告诉你"相关证据有没有被保留下来",但不能直接回答"用了Squeez之后,AI助手解决bug的成功率提了多少"。后者需要在完整的端到端系统中做实验,这是未来工作的自然延伸。

另个局限是评估指标本身。用文本行的重叠程度来衡量修剪质量,法捕捉所有理的修剪决策——有时候换种式截取内容,果可能同样好甚至好,但在行重叠指标下会被认为是错误。这是所有基于标注的评估体系都会面临的根本挑战。

在数据质量面,某些工具类型的样本质量仍然参差不齐,尤其是grep输出和代码风格检查(lint)输出,这两类工具的输出格式变化较多,标注难度也大。

---

说到底,Squeez做的事情看起来简单——把大堆输出剪成小块——但背后的道理很刻。靠关键词匹配做不到,靠截头去尾做不到,靠大模型直接样本也做不到。真正有的法,是针对这个具体任务收集门的训练数据,然后让个小模型"死磕"这件事。用个门训练的20亿参数小模型,败了不经过训练的360亿参数大模型,这件事本身就值得所有在AI工程域摸爬滚的人思考下:什么时候该用"通才",什么时候该培养"才"?

对于普通用户来说,Squeez可能暂时还不会直接出现在你的日常工具里。但它所代表的思路——让AI助手的每步操作都注、、不浪费——将会悄悄影响未来所有编程智能体产品的工程决策。当你下次用某个AI工具帮你找代码里的bug,它反应快、准、费用低,背后可能就有类似Squeez这样的"幕后过滤器"在默默工作。

对于对这个向感兴趣的读者,可以通过arXiv编号2604.04979查阅完整论文,模型权重、数据集和评估代码也已在GitHub(KRLabsOrg/squeez)和Hugging Face平台以Apache 2.0协议开源,可以自行部署和复现。

---

Q&A

Q1:Squeez是什么,它和普通的AI压缩工具有什么区别?

A:Squeez是KR Labs开发的个针对编程智能体工具输出的修剪系统。与LLMLingua等通用提示压缩工具不同,Squeez门处理混格式的工具输出(代码、日志、命令结果等),并且是"任务条件化"的——须同时给出个具体的提取查询,它才会根据当前任务需求来决定保留哪些内容,而不是差别压缩。输出的是原文的逐字摘取,不改写内容。

Q2:Squeez的20亿参数小模型为什么能败360亿参数的大模型?

A:关键在于"项训练"。Squeez用了11477个门针对工具输出修剪任务的标注样本做微调,让模型学会了工具输出的特定规律,比如日志里故障块的位置模式、Git提交记录的结构特征等。而大模型是样本使用的,没有接受过这类项训练,面对重复日志或格式化输出时容易选错相邻的内容块。这说明在度具体的任务上,针对训练比模型规模重要。

Q3:Squeez数据集里的11477个样本是怎么来的?

A:样本来自两个来源。部分是在SWE-bench的真实代码仓库上实际运行14种工具(文件读取、grep、Git日志、测试运行等)收集的真实输出,共9205条。另部分是用大模型生成的成工具输出,覆盖TypeScript、Go、Rust、Java、Docker等Python以外的技术生态,共1697条正例和575条门设计的"查此物"负例。所有样本都经过统的大模型标注流水线处理,测试集中618个样本全部经过人工复核。

相关词条:玻璃棉毡     塑料挤出机     预应力钢绞线    铁皮保温    万能胶生产厂家

1.本网站以及本平台支持关于《新广告法》实施的“极限词“用语属“违词”的规定,并在网站的各个栏目、产品主图、详情页等描述中规避“违禁词”。
2.本店欢迎所有用户指出有“违禁词”“广告法”出现的地方,并积极配合修改。
3.凡用户访问本网页,均表示默认详情页的描述珠海橡塑专用胶,不支持任何以极限化“违禁词”“广告法”为借口理由投诉违反《新广告法》,以此来变相勒索商家索要赔偿的违法恶意行为。