Repo2Skill-Evo: Repository Skills Go Stale in Silence 精读
论文链接:arXiv:2608.21964 发表时间:2026年8月 机构:字节跳动(主导,项目负责人 Shen Yan、通讯 Wenhao Huang)+ 北京大学 + 北京交通大学——典型企业+高校合作:字节出工程与真实仓库语料,北大/北交大参与基准设计与分析 领域标签:cs.SE(Agent 技能生命周期/基准测试)
一、论文背景
技能静默失效是什么? Agent 技能(如"操作这个仓库的 SKILL.md")是从特定仓库版本蒸馏出来的——API 路径、配置项、构建命令全部绑定那个版本。仓库发新版后,技能内容过时了,但没有任何运行时信号提示这一点:技能照样加载、照样检索、Agent 照样按旧 API 写代码——错误要到很晚才以难归因的方式爆发。这就是"silent staleness"(静默失效):与显式报错不同,它保存了知识的形式、掩盖了内容的腐坏。
为什么这是个被忽视的问题? 技能生态 2026 年才爆发,所有精力都在"创建技能"(SkillAlchemy 等)与"评测技能效用"(SkillsBench)上——生命周期末端(维护)无人问津。但软件工程的常识是:维护成本远超初始开发。技能作为"有版本的知识资产",迟早要面对与依赖库一样的版本地狱。
维护为什么难? 给定官方 V1→V2 补丁,Agent 要:(1) 定位受影响的技能文件(补丁动的是代码,技能是文档,映射不直接);(2) 决定删什么改什么(删除过度会误伤仍有效的内容、删除不足留毒)。两步都是开放问题。
二、论文定位和关联工作
- SkillsBench / Signal or Noise(同日精读):测技能"有没有用"——本文测技能"还正不正确",构成技能评测的另一半。
- LongWoF-Bench(同日精读):证明经验要"验证器确认"——本文从生命周期角度补上:即使确认过,版本变迁后也会失效。
- 文档更新研究(doc updating):传统 SE 领域研究"代码改了文档跟着改"——本文是其在 Agent 技能场景的延伸,但方向反转(从 patch 反向维护文档)。
三、问题定义
抽象问题:给定绑定版本 V1 的技能集 S_V1 与官方补丁 P(V1→V2),产出 S_V2 使其不包含任何 V2 下已失效的内容、且尽量保留仍有效的内容。 评测的本质困难:什么叫"过时内容"需要 ground truth——本文用人工逐行验证的黄金过时行集。
四、问题解法(基准构建)
三部分:
- Repo2Skill:分阶段蒸馏 Agent(符号索引→逻辑→材料→起草→校验)+ grounding gate(每条引用必须能在 V1 仓库解析);Claude-opus-4.6 与 GPT-5.4 各产一套候选,专家选定修订后冻结为 V1 技能集——保证起点技能质量可控。
- 维护任务:输入 V1 技能集+官方补丁,50-turn 预算、6 个通用工具的最小脚手架(不给特权工具,测的是通用维护能力)。
- patch 接地的删除式指标:对 105 个版本转换人工标注"黄金过时行集"(共 12,217 行,中位 92 行/转换);对 SV1→SV2 diff 的删除侧计算 Recall/Precision/F1——只评删除是因为补丁明确指示了失效范围,删多了伤 Precision(误删有效内容)、删少了伤 Recall(漏掉过时内容)。
五、评估指标与实验证据
6 前沿模型横评(avg@3 macro F1):
| 模型 | F1 | 备注 |
|---|---|---|
| Claude-opus-4.6 | 69.7% | R 70.4 / P 75.7 |
| GLM-5.1 | 64.3% | 41.3% 运行耗尽预算 |
| GPT-5.4 | 58.8% | 召回最高 74.6% 但精度仅 55.7% |
| Kimi-K2.5 | 47.0% | — |
| Doubao-Seed2-pro | 39.8% | — |
| MiniMax-M2.5 | 29.9% | 精度 74.9% 但只删 22.6% 过时内容 |
难度画像:85/105 转换低于 0.65 的 Easy 阈值;best@3 最高也仅 76.1%——即使最强模型+三次机会,仍有约 1/4 的过时内容清不掉。
技能值不值得维护(动机实验,10 仓库):skill-only 使效用分 5.88→8.68(+2.80),低基线组 +3.98;成本仅 51,821 tokens vs source-only 272,620——技能确实有用且省 token,所以值得维护(否则维护问题无意义)。
失败诊断:文件覆盖与 F1 相关 r=0.650(全覆盖运行平均 F1 67.3% vs 部分 41.0%)——定位是第一瓶颈;GPT-5.4 编辑量 2.84 倍且 44.3% 越界编辑——编辑选择是第二瓶颈;Oracle 消融(只给文件路径):最难 20 转换 F1 32.8%→45.0%(+12.2)——即使解决了定位,文件内的证据追踪与编辑选择仍留大量错误,两个瓶颈相互独立。
六、效果优势的根源解释
本文是基准+实证发现型工作,其"效果"是失败归因的清晰度:
- 静默性的根源:技能的"版本特异性"(API 路径/配置绑定特定仓库状态)与"无运行时校验"(加载与检索不检查内容是否仍真)叠加——过期食品没有保质期标签也没有异味。
- 维护失败的分解:定位瓶颈源于补丁(代码 diff)到技能(文档)的语义鸿沟——模型要推断"这行代码改动意味着哪条技能陈述失效";编辑瓶颈源于删除决策的不对称风险(删错的代价是丢失有效知识,不删的代价是隐性误导——模型倾向保守,MiniMax 只删 22.6%)。
- Oracle 消融的证明力:给路径仍只到 45%——证明这不是"找到文件就完了"的检索问题,文件内的证据推理是独立难点,为后续工作划定了两个攻关方向。
七、必要知识反推
- 领域知识层:版本演化模式(API 重命名/删除/迁移的典型 diff 形态);技能文档的结构(哪些部分绑定版本、哪些是稳定概念)。
- 方法论知识层:删除式指标设计(为何只评删除侧:补丁界定了失效范围,新增内容的合理性无法从补丁判定);黄金标签的逐行人工验证协议;Oracle 消融定位瓶颈。
- 工程知识层:分阶段蒸馏+grounding gate(保证 V1 技能起点质量的工程手段);最小脚手架设计(测通用能力而非工具特权)。
知识融合的关键节点:把软件工程"版本兼容性"的整套直觉(semver、破坏性变更识别、迁移指南)迁移到知识资产管理——技能库需要自己的"语义版本控制"。
八、论文中可以提取的通用性灵感
外部化知识会静默腐坏,保存形式不等于保存正确性(机制类)
- 证据:版本升级后技能不报错但内容全错;最强模型也只清掉 69.7% 过时内容。
- 推广:公司 wiki/流程文档(组织架构调整后旧流程照挂)、法律合规手册(法规修订后旧条款仍在流传)、个人笔记(工具升级后旧快捷键笔记误导自己)——外部化知识必须配版本号与失效检查机制,否则越.external 越危险。
两个瓶颈要分开测:找到问题 vs 处理问题(方法论类)
- 证据:Oracle 给文件路径 F1 只升 12.2 点——定位与编辑选择相互独立。
- 推广:debug 流程(复现定位与根因修复分开考核)、客服(找到相关工单 vs 给出正确答复)、招聘( sourcing 与 assessment 分开优化)——混在一起会把一个瓶颈的改进误判为整体进步。
删除决策的不对称风险使执行者系统性保守(现象类)
- 证据:MiniMax 精度 74.9% 但只删 22.6%;GPT-5.4 用 2.84 倍编辑量追求召回反伤精度。
- 推广:数据清洗(没人敢删旧数据)、代码清理(死代码越积越多)、库存管理(滞销品不舍得清)——制度设计上应给"正确删除"以显式激励,否则保守偏差永远存在。
评测一个能力前,先证明这个能力值得拥有(方法论类)
- 证据:论文先做"技能值不值得维护"的动机实验(+2.80 效用分、5 倍省 token),再展开维护评测。
- 推广:任何长期主义投入(技术债清理、健康体检、关系维护)的研究或立项,都应先量化"不维护的隐性成本",否则永远排不上优先级。