给AI装一个会自己修改的说明书,用强化学习教它写“技能文档“ 你有没有遇到过这种情况新来的实习生你给他一份操作手册结果他照着手册做事,做出来的东西总是差点意思。手册写得挺详细,可现实情况千变万化,手册没提到的地方他就抓瞎。后来你发现,真正靠谱的老员工,不是死记手册的人,而是那种会不断在手册边上做批注的人。今天做错了一件事,他就在手册上加一句注意这里容易踩坑;发现某条规则写得含糊,他就把它改得更精确;发现两条规则说的其实是一回事,他就把它们合并。手册在他手里,是活的。现在的AI智能体也面临一模一样的问题。这篇论文要讲的,就是怎么教AI自己写好这份活手册。技能*在这篇论文的语境里指的是可以插入AI智能体上下文中的一段文字指令用来指导它如何拆解任务、调用工具、检查执行结果。你可以把它理解成一份可复用的操作手册不需要重新训练模型直接塞进对话里就能生效。*当AI遇到新任务,它靠什么应对现在的大语言模型智能体,已经能做很多复杂的事情:多步推理、长远规划、调用各种工具。但光靠模型本身的能力还不够,业界越来越流行给智能体配一套外部技能,就像给员工发工作手册一样,让它照着手册的procedural程序性指导来做事。问题来了:这些技能手册从哪儿来?目前主流的做法分两派。一派叫document-to-skill文档到技能,就是把文档、规则、任务说明压缩提炼成一份操作指南另一派叫experience-to-skill经验到技能,就是把智能体过去做任务时成功或失败的执行记录,提炼成可复用的经验guidance。这两派方法都靠谱,但有个共同的毛病:它们都是针对特定证据来源专门设计的pipeline流水线式处理方案,你给它文档它就按文档的逻辑处理,你给它经验轨迹它就按轨迹的逻辑处理,两套逻辑互不通用。而且这些方法大多靠启发式规则和精心设计的提示词,没有一个统一的学习过程贯穿始终。这就好比你公司里有两个不同的部门,一个专门负责把培训资料整理成手册,另一个专门负责把老员工的工作日志整理成经验总结,两边用的是完全不同的整理方法论,谁也没法把对方的经验学过去。如果哪天来了第三种证据来源,比如客户反馈,你又得重新设计一套流程。这就是缺乏统一学习框架的代价:每来一种新证据,就得重新造一次轮子。那能不能训练一个统一的模型,不管给它什么类型的证据,它都能学会怎么把这些证据变成好用的技能?理论上可以,但这里有一个真正棘手的难题:技能这个东西,没有天然的对错标准。技能好不好,谁说了算想象你在做数学题,答案对不对,一眼就能判断。你在做搜索任务,搜出来的结果相不相关,也容易衡量。但技能不一样。一份写得很流畅、看起来很专业的技能文档,可能是冗余的、过于死板的,甚至是误导人的。反过来,一次看起来毫不起眼的小修改,却可能让智能体的表现发生质的变化。技能的价值,只能通过它对下游任务执行效果的影响来判断,没有一个简单的对错标签贴在上面。这就是这篇论文反复强调的核心矛盾:执行导向的信用分配execution-grounded credit assignment问题。信用分配*在强化学习里指的是当一个复杂决策序列最终产生了好或坏的结果时怎么判断这个结果是由哪一步决策造成的。技能生成里的信用分配难是因为一份技能可能包含很多条规则你很难说清楚是哪一条规则让下游任务做得更好或更差。*这就好比你带了一个团队做一个项目,项目最后成功了,你怎么知道是谁的贡献最大?是那个提了一个关键建议的人,还是那个执行细节做得好的人?如果不能把功劳精确地分配到每一个具体的动作上,你就没法知道下次该多做点什么、少做点什么,只能凭感觉瞎猜。技能生成也是这个道理,一份技能文档往往包含很多条规则,某次任务成功了,到底是哪条规则起了作用?如果分不清,你就没法针对性地改进,只能整体地、模糊地调整,训练效率会很低。为了解决这个问题,论文提出了一个叫Skill-α的强化学习方法。Skill-α的核心思路:把写一份技能拆成一步步改Skill-α最关键的一个设计决定,是不让AI一口气写出一份完整的技能文档,而是把这个过程拆解成一连串局部的、可以单独评估的编辑动作。为什么要这么做?论文给出了两个理由。第一,实际的证据来源往往太长,超过了大语言模型的上下文窗口,一次性塞进去容易漏掉关键信息。第二,更重要的是,一次性生成会把抽象、去噪、冲突消解、压缩这几种不同的操作全都混在一起,导致没法判断到底是哪个环节出了问题,训练起来非常困难。于是Skill-α换了个思路:给定一个初始的技能状态,AI每次只看一小段新证据,然后决定要不要对当前技能做一个局部编辑,编辑完再看下一段证据,再决定下一步怎么改。这个过程一直持续,直到把所有证据都过完一遍,最终得到一份完整的技能。这个设计的动作空间(也就是AI每一步能做的选择)一共有五种:CREATE创建*补充当前技能里缺失的规则或流程。*UPDATE更新*修正已有规则中不完整或不准确的地方。*MERGE合并*把内容重叠、说的是同一件事的部分整合到一起。*PRUNE剪枝*删除误导性的、过于具体的、或者冗余的内容。*NOOP不操作*当前证据没有提供有用的新信息时保持技能不变。*这五个动作合起来,构成了一个完整的、能覆盖增删改并各种情况的编辑体系。想象一下你在整理一个家庭菜谱本,每次做完一道新菜,你翻开菜谱本看一眼:这道菜没记录过,那就添一页(CREATE);上次写的火候不对,那就改一改(UPDATE);发现两页写的其实是同一道菜的不同版本,那就合并成一页(MERGE);发现某个步骤写错了,误导人,那就划掉(PRUNE);要是今天做的菜跟本子里写的完全一致,那就什么都不用改(NOOP)。如果你不这么做,而是每做完十道菜才坐下来一次性重写整本菜谱,你大概率会记不清哪道菜对应哪次改进,写出来的东西也会又长又乱,你甚至没办法回头去查是哪一次的经验让某道菜做得更好了。这就是渐进式编辑相对于一次性生成的根本优势:它把一个模糊的大问题,拆成了一串清晰的小问题。怎么知道一次编辑改得好不好:rollback reward的设计拆解成局部编辑之后,新的问题来了:每一步编辑,怎么打分?直接的想法是:改完之后,让AI智能体去跑一遍下游任务,看看结果好不好。但这个想法有个致命漏洞,一次任务做对了,可能是因为智能体本身能力强,也可能是因为这次任务碰巧简单,跟你刚才那次编辑到底有没有关系,根本说不清楚。于是论文提出了rollback reward回滚奖励这个核心机制。Rollback reward*一种奖励计算方式做法是把编辑前的技能和编辑后的技能放到同一个锚定查询上分别测试然后比较两者的执行结果谁更好用这个差值作为这次编辑的奖励信号。*具体流程是这样的对某一步编辑,先找一个跟当前这批证据相关的锚定查询anchored query,以及一个benchmark专用的verifier校验器,负责给答案打分。用编辑前的旧技能和编辑后的新技能,分别让固定的worker智能体去回答这个同一个锚定查询,然后拿校验器给两次回答打分,谁的分数高,谁就赢。如果编辑后的分数超过编辑前,这次编辑就得1分的奖励;如果编辑后没有超过,就得0分。至于NOOP这个不操作动作,只有当同组里其他所有候选编辑都没能超过原来的分数时,它才能得1分。这个设计的巧妙之处在于,它把这次编辑到底有没有用这个模糊问题,转化成了一个可以精确对比的AB测试。打个比方,你想知道你今天教团队新学的一条谈判技巧到底有没有用。你不会随便挑一个客户去试,因为客户难易程度不一样,试出来的结果没法比较。你会找同一个客户,让一个同事按老方法谈一次,另一个同事按新方法谈一次,看谁谈成的条件更好。如果不这样对照着比,你压根分不清是新技巧起了作用,还是那天客户心情好。这就是为什么rollback reward一定要在同一个锚定查询上比较控制组和实验组,而不是简单地看编辑后的表现好不好,单看编辑后的表现,你永远没法排除这次任务本来就简单这种干扰因素。论文在附录里还给出了一个数学论证,证明在校验器校准良好(也就是判断准确率和候选动作无关)的假设下,这种回滚奖励的期望值,和理想偏好排序是保持一致的,也就是说,编辑越好,得到高奖励的概率就越大,这个排序关系是数学上可以证明的,不是拍脑袋设计的。而在校验器是完美二元判断的极端情形下,回滚奖励的期望值还能精确地写成 (1减去控制组成功率) 乘以 (编辑组成功率),这给出了一个干净的排序保证。训练怎么实现:两阶段,GRPO登场Skill-α的训练分成两个阶段。第一阶段是监督微调SFT,先让模型学会输出格式和基本的编辑逻辑。训练数据由DeepSeek-V4-Pro这个更强的模型充当老师,在CL-Bench、SpreadsheetBench、tau2-bench三个基准的训练集上生成示范样本,过滤后留下6481条,其中CREATE动作占33.24%,NOOP占24.83%,UPDATE占19.10%,PRUNE占14.87%,MERGE占7.96%。这个分布本身就说明了一个道理:好的编辑策略应该是创建为主,但维护也不可少,而不是无脑地一直往里加东西。第二阶段是强化学习,用的算法叫GRPO。GRPO*Group Relative Policy Optimization组相对策略优化的简称,一种强化学习算法。它的做法是针对同一个输入,一次性采样一组候选动作,给每个动作打分之后,不是用绝对分数而是用这组分数内部的相对高低(减去组内平均分,再除以标准差)来计算每个动作的优势值然后据此更新模型参数。*用人话讲,GRPO不问这个动作好不好,而是问这个动作和同组里其他候选动作比,是好是坏。训练时会保持worker智能体(执行任务的那个模型)不变,固定用GPT-4o,只训练负责编辑技能的这个generator模型。训练时,每一条数据都被组织成一个局部编辑状态,里面绑定了当前技能、序列化过的证据、一个锚定查询、以及对应的奖励协议。最终的强化学习数据集包含2048条这样的状态,其中768条来自CL-Bench,512条来自SpreadsheetBench,tau2-bench的三个领域(航空、零售、电信)各256条。值得一提的是,论文还设计了一套deterministic quality gate确定性质量门槛,在真正拿去做奖励评估之前,先过滤掉格式错误、缺失字段、标题重复、编辑后技能变成空白这类明显有问题的候选动作,防止模型钻空子,通过一些无效或退化的编辑来骗奖励。实验结果:两个赛道全面领先论文在两个不同的证据来源场景下做了测试。一个是document-to-skill场景,用的基准是CL-Bench,训练时只用了规则系统应用和程序性任务执行两类作为源证据,测试时既看这两类的held-out留出的、没在训练中用过的任务,也看两个训练时完全没见过的领域:领域知识推理和实证发现与仿真。另一个是experience-to-skill场景,用了SpreadsheetBench(电子表格操作)和tau2-bench(涵盖航空、零售、电信三个领域的对话式智能体测试)。先看document-to-skill这边的数据。在GPT-4o这个worker下,Skill-α在程序性任务执行这一项上,从不用任何技能时的4.30分,提升到了9.68分,远超Anthropic Skill-Creator一个基于Anthropic官方提示词模板的强baseline的5.38分,以及AutoSkill的3.23分和Ctx2Skill的4.30分。四个类别的平均分,Skill-α拿到10.38,是所有方法里最高的。再看experience-to-skill这边,差距拉得更开。GPT-4o下,SpreadsheetBench从18.00提升到27.50,tau2-bench里的Airline从40.00提升到65.00,Telecom从12.50提升到22.50,整体tau2-bench平均分达到55.83,比第二名SkillPro的49.17高出6.66个百分点。这里有个数字值得单独说一下:tau2-bench的Telecom这一项,不加任何技能时只有12.50分,而Anthropic Skill-Creator这种强prompt方法,居然反而降到了7.50分,比不加技能还差。这说明什么?说明写一份看起来很专业的技能手册,如果没有经过下游效果的验证,很可能是在帮倒忙。而Skill-α因为有rollback reward这个反馈闭环,能避免这种好心办坏事的情况。论文还测试了跨worker的迁移能力,也就是用GPT-4o生成的技能,拿到Claude-Sonnet-4.5这个完全不同的模型上试用。结果显示,在CL-Bench上Skill-α在四个类别里全部拿到最好或并列最好的成绩,平均分9.55在SpreadsheetBench和tau2-bench上,同样保持领先或接近领先。这说明这些技能不是针对某个特定模型量身定制的小聪明,而是真正沉淀下来的、可以迁移的任务解决知识。消融实验:哪个部分最关键论文做了四组消融实验来验证各个设计的必要性。去掉强化学习只保留SFT(SFT only),CL-Bench平均分从10.38掉到3.46,SpreadsheetBench从27.50掉到15.50,tau2-bench从55.83掉到44.17。这说明光靠模仿老师的输出格式,远远不够,真正的能力提升来自后续的强化学习训练。去掉rollback reward,换成直接用校验器的绝对分数当奖励(w/o rollback reward),结果几乎和只有SFT一样差,CL-Bench只有3.68分。这个结果特别能说明问题。去掉MERGE和PRUNE这两个整理类动作,只保留创建和更新,tau2-bench平均分掉到39.17,是四个消融里最惨的一个。这说明技能构建不能只靠不断堆叠新内容,必须要有主动的整理和删减机制,否则技能文档会越写越臃肿、越写越混乱。去掉NOOP动作,强迫模型每一步都必须做出改动,结果虽然没有前两个消融那么惨,但仍然明显不如完整版。这排除了一种可能性,即模型是靠偷懒不改来刷分的,但同时也说明,强迫每一步都动手,反而会引入不必要的噪音。论文还画了训练过程中的奖励曲线和动作分布图。完整版的Skill-α并不是一开始就拿到最高奖励,而是随着训练逐步爬升,这说明它是在真的学习一套更好的编辑策略,而不是走了什么捷径。它的动作分布也比较均衡,CREATE占主导,但UPDATE、MERGE、PRUNE、NOOP都在积极参与。而去掉rollback reward的版本,奖励曲线更平、更嘈杂,动作分布明显偏向NOOP,呈现出一种因为学不明白干脆啥都不改的保守倾向。证据的顺序和数量:细节里的门道论文还做了一组分析,专门看证据的呈现方式对结果的影响。先看证据顺序。固定每步处理4条证据不变,只改变顺序:按原始顺序、随机打乱顺序、完全倒序。结果发现,SpreadsheetBench在三种顺序下差异不大,tau2-bench在随机打乱时略有下降(从55.83降到51.67),但整体来说,Skill-α对证据顺序相当鲁棒,不依赖某种固定的排列方式。再看证据的批次大小,也就是每一步给模型看几条证据。固定顺序不变,只改变批量:1条、2条、4条、8条。结果显示,4条是最佳设置,SpreadsheetBench在这个设置下拿到27.50分,而批次太小(1条)时只有22.00分,批次太大(8条)时反而掉到20.00分。这个中间最优的规律很有意思。批次太小的时候,模型容易变得目光短浅,过度纠结于单次失败的细节,把技能改得支离破碎;批次太大的时候,多种模式、多种失败原因混杂在一起,反而让每一步的编辑目标变得模糊,信用分配又变得不清晰了。这就好比你复盘工作,如果每做完一件小事就急着写一条总结,总结会零碎又琐碎但如果攒了几十件事一起复盘,你又抓不住重点,分不清是哪件事导致了哪个问题。攒几件相关的事一起看,才最容易提炼出真正有用的模式。局限性:这条路还没走完论文自己也坦承了三点局限。第一,单次回滚比较只是一个带噪声的二元信号,数学上给出的只是局部排序的保证,并不能确保这种局部的、一次一次的编辑,累积起来一定能让整份技能在整个任务族上变得更好。第二,当前的奖励和校验器接口仍然是跟特定benchmark绑定的,要把这套方法搬到一个全新的环境里,还需要额外设计新的评估协议。第三,当前的动作空间和技能表示形式还比较简单,基本是纯文本的Markdown风格,对于更复杂的结构化、多模态、甚至可执行的技能形式,还没有覆盖到。写在后面读完这篇论文,我印象最深的其实不是Skill-α本身,而是那个被称为rollback reward的设计里透出的一种朴素的怀疑精神:不轻信任何一次看起来漂亮的编辑,非要拿它和原来的版本对照着测一遍才算数。这种AB测试式的验证逻辑,在互联网产品迭代里已经用了十几年,现在被搬到了AI自我改进的场景里,倒是有点意料之外,情理之中。它提醒我们一件事:很多看起来需要复杂算法解决的问题,核心思路其实是老早就存在的,只是换了一个应用场景。论文里那个Telecom任务上加了技能反而比不加还差的数据,也让我多想了一层。我们总是默认多做点总比不做强,但这个案例说明,没有反馈闭环的自我改进,很可能是在原地打转甚至倒退。这或许是这篇论文最值得记住的一句潜台词:改进本身不产生价值,能验证改进的机制才产生价值。那如果有一天,这套编辑加验证的思路,不只用来写技能文档,而是用来修正AI自己的价值观和判断标准,会发生什么?