SkillGLoW 不再把所有经验塞进一个总文档,也不按任务无限堆技能,而是把相似解法聚成“程序族”、压缩为全局先验,再用真实执行门控更新;在 4 个基准、3 个模型、12 次持续改进运行中,Global-only 平均提升 17.2pp,Global+Local 提升 18.0pp,技能库比逐任务池紧凑 3.6×。
摘要:论文研究长时程 Agent 应如何保存自我生成的技能。作者发现:单一全局文档会过度压缩成空泛纪律,逐任务技能池又会膨胀并过拟合实例。SkillGLoW 以“共享求解程序”为复用单位,把局部执行证据聚成程序族、压缩为去实例化先验,并用真实执行门控更新;结果在 12 次持续运行中全部获得正向提升。
论文标题: "SkillGLoW: Procedural-Family Skill Consolidation for Self-Improving Agents on Long-Horizon Task Streams"作者: "Ao Yan, Xin Zhang, Jiawei Du, Joey Tianyi Zhou"发表年份: 2026原文链接: "https://arxiv.org/abs/2609.02217v1"关键词: ["LLM Agent", "自我改进", "技能库", "程序族", "Global-Local Weave", "持续学习"]研究背景:为什么“记住经验”反而可能害了 Agent?
一个常见答案是:Agent 做完任务后,把成功经验总结成 Skill,下次检索出来复用,不就能越用越聪明吗?
听起来对,但只说对了一半。真正棘手的不是“会不会总结”,而是以什么粒度保存。粒度太粗,技能变成正确但无用的口号;粒度太细,技能库又像堆满旧工单的仓库——看似信息丰富,真正遇到新问题时却检索不到可直接复用的做法。
下面这张论文原图把矛盾画得很直白:左边把不同程序硬压进同一个文档,右边则一项任务存一个条目;GLoW 选择中间层——一个程序族对应一个可复用先验。
单文档、扁平技能池与程序族粒度的差异
图里最值得看的是中间那条“粗—细”轴:GLoW 不是折中式地取平均,而是在任务实例与全局规则之间重新定义了一个知识单位——procedural family,程序族。
痛点一:单一文档会把“操作步骤”压成“职业素养”
单文档默认所有任务共享一套主导流程。可终端修复、数学推理、软件补丁和具身控制的解法差异太大,反复合并后往往只剩“先读需求、检查边界、验证输出”这类泛化纪律。
论文引用 SkillsBench 的结果很扎心:人工编写技能平均提升 16.2pp,而模型仅根据任务描述自生成的技能反而比 No-Skill 低 1.3pp。问题不只是文案质量,而是缺少真实执行证据,也没有保住足够具体的可操作结构。
痛点二:逐任务技能池越长,实例绑定越严重
另一种做法是每完成一项任务就存一条 Skill。它避免了过度压缩,却会把文件路径、对象位置、阈值、测试常量等实例细节一起固化。任务越多,库线性膨胀;检索到“主题相似、程序不同”的旧条目时,还可能发生负迁移。
论文的 Local-only 平均能带来+10.9pp,说明当前任务的执行反馈确实有价值。但如果把每个 local skill 都长期保存,就又回到了“一个任务一个条目”的增长模式。
痛点三:有检索,不等于有抽象
给扁平池加 Top-K 检索也不是万能药。论文中的 AWM 式 flat pool + retrieval 平均只提升5.0pp,12 个实验单元里还有 3 个下降;而程序族完成第一次整合后就达到+11.2pp。
原因是:检索解决的是“从旧条目里找哪条”,却没有回答“旧条目里究竟哪部分值得长期保存”。相似性检索不是知识抽象,Top-K 也不会自动把实例经验提炼成共享程序。
方法总览:SkillGLoW 怎样把“经验堆积”变成“程序沉淀”?
SkillGLoW,全称 Global–Local Weave,核心是把知识分成两层:长期层保存程序族的 global prior;短期层只服务当前任务,根据这次真实执行反馈生成 local skill。两者在推理时拼接,在离线整合时又重新分开。
SkillGLoW 从局部证据到程序族整合,再到执行期编织的完整框架
快速建立心智模型,可以把整条流水线压成下面一行:
任务流 → 多次真实执行 → Local Skill / Skill Card → 按“怎么解决”聚成程序族 → 压缩成 Global Prior → 真实执行门控 → 写入长期库 → 新任务召回 Prior + 现场再生 Local Skill这里有一个很关键的反直觉点:长期记忆不负责记住所有细节,而是负责告诉 Agent“该沿哪条程序搜索”;实例细节交给当前任务现场重建。
关键结论
- • 🔧 程序族是更有效的复用粒度:Global-only 相对 No-Skill 平均提升17.2pp hard,Global+Local 为18.0pp,且 12/12 次持续改进运行都为正增益。
- • 🔄 “全局先验 + 局部再生”比无限存档更轻:最终技能库按程序族保留 prior,以词数计比逐任务技能池紧凑3.6×。
- • 📉 真实执行门控挡住了纸面上漂亮、部署时退化的更新:26 次 admission decision 中接受 19 次、拒绝 7 次;最终有 gate 的平均增益为+14.7pp,无 gate 候选只有+9.6pp。
深度拆解:五步看懂 GLoW 的知识生命周期
第一步:从“同一任务的前后变化”里抽取局部证据
GLoW 不让模型凭任务描述空想 Skill,而是让冻结 Agent 在同一任务上多次执行,比较相邻轨迹发生了什么变化,并结合 verifier 分数判断哪些动作真正推动了结果。
形式上,执行器返回轨迹与分数:(τx(s), rx(s)) = h(π, x, s)。Localize 再根据轨迹差异Δτx和分数生成当前任务的Lx。这个 local skill不查历史库,也不直接进入长期库。
论文把整个过程写成一轮 task stream 的伪代码。阅读时重点看三段:Stage 1 收集局部证据,Stage 2 聚类与压缩,Stage 3 执行门控提交。
GLoW 在任务流上的一轮完整处理过程
💡 类比:这像复盘一道刚做错的题。你不是翻全网题解,而是对比“第一次错在哪、第二次改了什么、分数为何变高”,先写出一张只属于这道题的错题卡。错题卡很具体,但它还不是教材。
第二步:Skill Card 把一次经验变成可聚类对象
每项任务会形成一张 Skill Card:cx = (x, ax, τx, rx, Lx),包含任务指令、抽象操作签名、执行轨迹、验证分数与 local skill。轨迹差异只用于提炼,不被长期携带。
论文给出的提示词说明,成功案例只提取 2—4 条可执行步骤,总长度不超过 80 词,并明确禁止写入任务特定路径、测试常量或 verifier 输出;失败案例则要求定位真正缺失的规则,而不是生成“更仔细一点”这种废话。
从单个任务真实执行中抽取局部技能与失败归因的提示词
这一步解决的是证据质量:Skill 必须来自“做过以后知道什么有效”,而不是“没做以前觉得什么合理”。
第三步:按“怎么做”聚类,而不是按“谈什么”聚类
GLoW 为每张卡构造多视图表示:操作签名、任务指令、轨迹摘要和完整 local skill 分别编码,再加权融合。签名权重最大,完整技能文本最小,目的就是削弱表面词汇与实例细节的影响。
聚类也不是跑一次层次聚类就完事。系统会改变 linkage 与簇数候选,统计任务对在多次划分中共同出现的频率,形成 consensus similarity;最终簇数再由 silhouette 曲线的 Kneedle 拐点自动选择。
附录中的分组提示词把标准写得很硬:两个任务只有在“一套程序写一次就能完成两者核心部分”时才算同族,不能因为都用了相同框架、字段或文件路径就合并。
程序一致性判断与规范化操作签名生成提示词
💡 类比:不要按“菜名”分厨师,而要按“做法”分。红烧鱼和红烧肉主题不同,但共享火候与收汁程序;清蒸鱼虽然也有“鱼”,程序却完全不同。GLoW 聚的是“红烧法”,不是“鱼类任务”。
第四步:压缩成去实例化的 Global Prior
每个程序族被压缩为一个候选 prior。压缩器只保留三类内容:适用条件、核心求解步骤、共同失败模式;某一步如果只对族内一个任务成立,就应该删掉,而不是为了让 Skill 看起来充实而强行写进去。
程序族压缩提示词强调宁可短,也不要强行合并实例步骤
论文给了一个很具体的 ALFWorld 例子:某个“在灯光下检查物体”的 local skill 有 989 词、7 个步骤,还记着家具位置排序;压缩后的 family prior 只有 440 词、4 个步骤,位置表被删除,只留下“从初始观察找照明物—取目标—运到照明物所在容器—执行 use 并终止”这条程序链。它随后修复了 alarm clock、book、cell phone 三个不同对象。
💡 类比:local skill 像某位员工写的工单,里面有客户名、机器号和当天的临时绕路;global prior 像团队 SOP,只保留判断条件与稳定步骤。下一张工单的机器号,应该现场查,不该写死在 SOP 里。
第五步:Commit Gate 让“会写”服从“真能跑”
语言压缩可能丢约束,也可能把规则适用范围说宽。GLoW 因而不直接提交候选 prior,而是仅用 global prior 重新执行任务,计算真实价值V(G; D)。只有候选不低于历史最佳或 No-Skill 锚点太多时才提交,容忍度ε = 0.02用来吸收测量噪声。
部署时,系统始终注入 base prior,再用任务指令检索 Top-1 family prior;相似度低于0.45就 fail-closed,只用 base。任务开始后 prior 冻结,local skill 则根据本次反馈不断再生。
真正的 Global–Local Weave 不是把两段文字简单拼起来,而是让全局层负责“搜索方向”,局部层负责“实例落地”,门控层负责“长期记忆不倒退”。
实验结果:它真的比“多存一点”更好吗?
实验设置:4 个场景、3 个模型、12 次持续运行
论文覆盖四类差异很大的任务流:Terminal-Bench-Pro 32 项终端任务、SWE-bench Verified 20 项软件修复、ALFWorld 42 项具身任务、LiveMathematicianBench 53 项数学推理。模型包括 DeepSeek-V4-Pro、MiniMax-M3 和 GPT-5.4-mini,共4 × 3 = 12次独立 continual runs。
每次运行包含 3 rounds × 3 sub-rounds;三种模型都同时负责求解、局部技能抽取和程序族压缩,没有额外更强的 teacher model。训练阶段合计执行3969 次真实部署。
整体效果是否稳定,而不是靠一两个幸运单元格?
下面是论文主结果表。不要只看每列最粗的数字,更该看绿色增益是否跨模型、跨任务一致。
三个模型在四个基准上的主结果,含 No-Skill、SkillOpt 与两种 GLoW 设置
Global-only 平均提升17.2pp hard / 13.0pp soft;加入 local regeneration 后是18.0pp / 14.6pp。两种设置在 12/12 个 run 上 hard 都为正,配对 sign test 与 Wilcoxon 的双侧p = 0.000488。
最大单格来自 MiniMax-M3 × SWE:Global+Local 提升30.0pp hard / 27.7pp soft。同协议比较 SkillOpt 时,GLoW 在 21 个可比单元格中领先 15 个,SkillOpt 领先的 4 个全部来自程序骨架更统一的 ALFWorld。
💡 洞察:GLoW 的优势恰好在异质性更强的终端、软件修复和数学任务上更明显。这支持了论文的核心判断:当“一份总技能”找不到主导程序时,中间层的程序族才开始值钱。
为什么不能只要全局、只要局部,或者给扁平池加检索?
消融结果非常有解释力:Base-only 平均只提升2.0pp,并在 12 个单元格中的 4 个退化;Local-only 为+10.9pp;AWM 式扁平池检索为+5.0pp。相比之下,Global-only 是+17.2pp。
这说明两端都不够:全局压缩丢掉了程序差异,局部经验又缺少跨任务沉淀。真正有效的是“按程序族压缩后,再在当前任务上补实例细节”。
Commit Gate 是安全带,还是装饰?
论文把有门控的已提交库与“每轮候选无条件上线”画在一起:第一轮两者同为 +11.2pp,之后候选开始衰减,而 gate 把已验证版本保留下来。
有无 Commit Gate 时,三轮持续整合的平均 hard 增益变化
26 次门控决策中,系统接受 19 次、拒绝 7 次;其中 4 次拒绝若只看 consolidation-time score 会被误判为可接受。最终有 gate 的平均增益为+14.7pp,无 gate 候选为+9.6pp,相差5.1pp。
💡 洞察:候选文本“看起来更完整”不代表部署更好。持续学习系统真正危险的不是学不到,而是把一次错误抽象永久写进记忆。Gate 的作用不是追求每轮都涨,而是把“非单调学习”变成“可回滚部署”。
学到的是程序,还是记住了训练任务?
论文把训练后的 frozen library 原封不动用于 60 个 ALFWorld valid_unseen 任务,关闭 local regeneration,只测试 global prior 的迁移。
冻结的全局先验在 60 个未见 ALFWorld 实例上的迁移结果
三种模型都提升,平均成功率从73.9% 到 83.9%,增加 10.0pp。SWE 的 30 个未见实例上,MiniMax-M3 也从 40.0% 提升到 45.6%。
💡 洞察:如果 prior 只记住训练实例,关闭 local regeneration 后不该在新实例上稳定增益。这个结果支持“迁移的是程序”的说法,但证据仍有边界:ALFWorld 未见集共享任务类别,SWE 也仍属于同一软件修复分布,它还不是严格的跨领域迁移。
收敛性、边际效应与平台期
论文没有展示候选 prior 单调收敛,反而明确承认性能常在round 1达到高点,后续候选可能衰减。因此 GLoW 的稳定性来自门控保留历史最佳,而不是每轮生成器都更聪明。
局部反馈也有边际递减:在 1323 个 task×round 对中,第 2 个 sub-round 改善 162 次,占12.2%;第 3 个只改善 70 次,占5.3%。继续迭代仍有效,但收益已经明显进入平台期。
还有一个容易被平均数掩盖的细节:Global+Local 虽然总体从 17.2pp 小幅升到 18.0pp,却不是每个单元格都优于 Global-only。比如 DeepSeek × TBP 的 hard 从 50.0 降到 43.8。也就是说,局部再生本身仍需要更细粒度的启停或可信度判断。
未来工作与思考
论文给出的后续可能的研究方向如下
第一,验证 prior 能否跨越真正的 domain shift;
第二,测试一个模型生成的纯文本 library 能否被另一个模型继承;
第三,把程序族技能库放进持续开放的 workflow,让库只在出现新程序时增长,而不是每来一个任务就增长。
总的来说,SkillGLoW 最重要的贡献不只是又做了一个 Agent memory 框架,而是把问题问得更准:Agent 的长期记忆,不该以任务为单位,也不该以整个领域为单位,而应以可验证、可迁移的求解程序为单位。对正在搭建自我改进 Agent 的团队,这比“换一个更大的向量库”更值得优先讨论。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~