Agent积累技能的方式正在出问题。现有的技能进化框架让模型不断从失败中学习、往技能库里添加新规则,但很少有人问:这些规则真的有用吗?删掉会怎样?

香港科技大学的团队在8月发表的SkillProx论文(arXiv:2608.07449)给出了一个反直觉的答案:在Agent技能进化中,"做减法"比"做加法"更关键。他们的方法把技能准确率从50.0%提升到54.5%,而消融实验显示,去掉压缩环节后准确率直接掉到52.0%——做减法贡献了2.5个百分点中的大部分。

前向加法的问题

SkillProx前后向框架数据卡片

图注:SkillProx的前向闭环诊断和后向近端压缩框架,含实验结果和消融数据

现有技能进化方法的逻辑是"执行-诊断-修复":Agent跑任务,失败了诊断原因,然后把修复方案写进技能库。问题在于,这个过程是开环的——诊断出一个看起来合理的修复方案,就直接写进去了,没有验证这个修复到底有没有用。

论文给出了一个具体的失败案例。一个Qwen3.6-27B的运行中,Agent遇到了"动态变化参考值的顺序扫描"任务。开环进化把失败转化为一条元指令"编码前先追踪具体示例",还附带了一个硬编码条件"值 >= 参考 * 1.10"。留一法审计发现这条规则的实际效用是负的:单元格准确率贡献-0.0337,硬准确率贡献-0.0556。

SkillProx的前向环节关上了这个闭环。它不直接接受诊断结果,而是在同一批次上重新执行修复后的技能,只有准确率不降才接受修改。回归的候选会被回滚,但失败的原因和方向会保留下来,喂给下一轮诊断。论文把这个过程类比为近端梯度下降中的前向步:不是盲目更新,而是验证后再走。

具体来说,前向更新在每一轮迭代中最多尝试3次修复候选。第一个候选只要硬准确率严格提升就立即接受并终止搜索。如果没有候选严格提升硬准确率,方法会在最多3个候选中选择硬准确率和单元格准确率"字典序最优"的那个,前提是它仍然满足"不降"条件。否则这一轮保持技能不变。这种设计确保技能只会向好的方向演化,不会因为看起来合理但实际无效的修改而退化。

后向减法的威力

真正的突破在后向环节。SkillProx把技能分解成可审计的知识单元,用留一法(leave-one-out)评估每个单元的贡献,然后根据效用进行保留、降级或删除。

这个过程借鉴了近端梯度下降的思想。在数值优化中,近端算子通过惩罚项控制参数的稀疏性。SkillProx把它搬到了文本空间:技能就是参数,知识单元就是参数分量,留一法审计就是梯度估计,验证门控就是近端投影。每次删除操作必须满足两个条件——硬准确率不降,单元格准确率下降不超过2个百分点。累计压缩有10%的软上限。

六基线对比图

图注:SkillProx与6个基线在SpreadsheetBench上的准确率对比,及OOD泛化结果

压缩-性能的权衡数据很说明问题。在τ=-0.001的阈值下,技能被压缩了25.7%,准确率反而从50.3%升到52.3%。当压缩到41.5%时,准确率仍维持在52.0%。即使在τ=0.050时,74.9%的技能被删除,准确率还有51.0%。性能开始下降的拐点出现在压缩超过80%的时候。适度做减法不仅没伤害,反而减少了重复规则和上下文干扰。

消融实验直接量化了两个环节各自的贡献。去掉闭环诊断只保留后向压缩,准确率从54.5%降到53.0%,掉了1.5个百分点。去掉后向压缩只保留闭环诊断,准确率掉到52.0%,降了2.5个百分点。后向压缩的贡献更大,说明"删除无用知识"比"验证新知识"更关键。完整的SkillProx同时使用两个环节,方差也最低(±0.5 vs ±1.0),两个阶段互补产生稳定增益。

OOD泛化的真正考验

在域内(IID)测试上,SkillProx把Qwen3.6-27B的准确率从36.7%(Human Skill基线)提升到54.5%,涨了17.8个百分点。但更值得关注的是域外(OOD)泛化。

在WikiTQ上,SkillProx达到86.2%,SkillGrad是84.8%,SkillOpt只有82.2%。在HiTab上,SkillProx拿到80.0%,SkillGrad是78.3%,SkillOpt是79.7%。SkillOpt在域内表现尚可但域外崩盘——4B模型上WikiTQ只有26.0,HiTab只有16.0——典型的过拟合。SkillProx没有这个问题,域外表现稳定。

arXiv上的论文信息和Hugging Face Daily Papers都收录了这篇工作,AlphaXiv上也提供了可复现的研究入口。论文作者来自香港科技大学和澳门大学。

源势AI观点

SkillProx的核心洞察可以一句话概括:Agent技能库不是越大越好,无用知识会主动干扰有效知识的调用。这跟我们部署Hermes Agent的实践经验完全一致——技能数量超过某个阈值后,新增技能的边际效用递减,甚至变负。Hermes的agent-skills机制通过技能加载时的上下文管理来缓解这个问题,但SkillProx给出了更系统的解法:用留一法审计量化每个技能单元的贡献,然后用验证门控决定去留。

前向闭环验证的思路也值得借鉴。我们在企业Agent落地中发现,Agent失败诊断如果只看语义合理性而不验证实际效果,修出来的规则经常是过度拟合特定案例的。SkillProx的"同批重执行+回滚"机制,本质上就是给诊断加了一个实验验证环节。

对企业Agent部署的建议:定期审计技能库,用留一法评估每个技能对整体任务表现的边际贡献。负效用的技能果断删除,零效用的也值得清理——上下文窗口的每个token都有成本。SkillProx的数据证明,删掉74.9%的技能后性能基本不变,这意味着很多团队的技能库里堆了大量噪声。