AI智能体边干活边攒经验:UniSkill用历史轨迹评估新技能
你有没有遇到过这样的同事:每次做完一个项目,都要写一份详尽的复盘报告,把这次用到的技巧都记下来,希望下次用得上。听起来是个好习惯,但问题是,如果这个同事自己也在不断成长,他上个月总结的"经验",这个月可能早就用不上了,因为他本身已经变强了,不再需要那条经验的提醒。这正是让AI智能体研究者们头疼的一个问题。...
你有没有碰到过这样的同事:每完成一个项目,就写一份详细的复盘,把这次用到的技巧一一记下来,指望下回用得上。习惯本身不坏,可问题在于,假如这个人自己也在持续长本事,他上个月总结的那套"经验",这个月可能就失效了——他本身已经变强,不再需要那条经验来提醒。
这恰恰是AI智能体研究者们头疼的地方。
**AI边干活边总结经验,会冒出一个说不清道不明的麻烦**
近两年,大语言模型驱动的智能体越来越常见。不管是让AI替你网购、玩文字冒险游戏,还是处理复杂任务,研究者们都观察到一条规律:让AI把做过的任务总结成"可复用的技能"存起来,下次碰上类似任务就去查这个"技能库",效果会好不少。这跟人类干活有点像,老员工脑子里那本"怎么把事情办好"的无形手册,往往比任何培训教材都好使。
LLM智能体*:基于大语言模型搭建的自动化系统,能理解任务指令、感知环境反馈、自主决定下一步动作,常见于游戏、网购模拟、办公自动化等场景。
技能库*:存放一系列文本形式"经验条目"的数据库,每条经验描述某类任务中值得遵循的做法,供智能体检索参考。
早先的做法比较直接:挑一个参数固定不变、特别聪明的大模型,专门从历史记录里提炼技能,智能体干活则用另一个模型。这好比请了一位退休老专家,专门给年轻员工编写培训手册——老专家自己不动手干活,写出来的手册内容也就稳定,不会随他自身水平变化而变。
后来研究者们发现,如果让干活的那个模型自己也参与到"写手册"里来,边干边学、边学边改手册,效果或许更好。毕竟,还有谁比正在做这件事的人更清楚卡在哪里?麻烦也正是从这里开始的。
当"写手册的人"和"用手册的人"是同一个不断进步的大脑时,一条新写出来的经验到底好不好,该怎么判断?
最直接的办法是:把新经验塞进手册,下次遇到类似任务时让AI照新手册去做,看成功率有没有提升。听着合理,可它有一个致命的时间差。
设想你今天教了新员工一个技巧,可还没等你评估这技巧管不管用,员工自己已经通过别的训练变得更厉害了。等你真拿这技巧去测,员工表现确实变好了,但这究竟是技巧起了作用,还是员工自己进步了?你根本分不清。
论文里把这叫做"反馈滞后"。联合训练过程中,智能体的核心策略模型会不停被更新,等一条新提出的技能被实际检验时,策略模型可能早已不是提出技能那一刻的那个模型。拿这种延迟的、混入了策略自身进步的反馈去训练"技能提议器"(也就是负责生产经验条目的那部分能力),结果就会很不准。
还有一种更直接的做法:每提出一条新技能,就专门为它跑一遍新的环境测试,看效果如何。这个思路叫Evolving-RL,是此前的一项研究方法。听起来严谨,代价却极大——每提出一条候选技能都得额外跑一轮完整的任务交互,计算开销直接爆掉。而且论文作者在实验中发现,这种做法训练到一定阶段后会出现性能崩溃,前期进步很猛,后面突然掉得很惨。
那该怎么办?论文给出的答案挺巧:不必为每条新技能单独跑测试,把已经收集到的历史轨迹用起来就够了。
**核心思路:靠对比"旧行为的解释力"来打分**
这篇论文提出的方法叫UniSkill,核心创新是一种名为对比动作反馈的评估机制。
对比动作反馈*:一种不需要额外环境交互、仅凭已有历史轨迹来评估新提议技能是否适合当前策略模型的打分方法。
它的逻辑并不复杂。假设AI把同一个任务做了八次,几次成功、几次失败。现在AI提出一条新技能,打算替换掉原先检索到的那条旧技能。UniSkill不会让AI重新跑任务去测试新技能,而是做一件更巧的事:调出此前录好的那些成功轨迹和失败轨迹,把里面记录的每一步动作,都放到"假设当时用的是新技能"这个条件下重新计算——这个动作在当时被模型选中的概率有多高。
具体而言,论文定义了一个叫Ralign的指标,算法是:新技能让成功轨迹里动作的"可能性"提升了多少,再减去它让失败轨迹里动作的"可能性"提升了多少。差值为正,就说明新技能让模型更偏向做出成功轨迹里的那些选择,而非失败轨迹里的那些选择。作者把这称为"演员对齐"信号,意思是这条新技能是否真的适合当前这个版本的模型。
这里有个关键巧思:整个计算过程中,策略模型本身冻结不动,录下来的历史动作也固定不变,唯一变的只是"假设当时用了哪条技能"这个条件。如此便绕开了"策略一直在变"的麻烦,相当于把时间定住,只换一个变量来对比。
生活中最接近的类比大概是这样:你想知道一本新出的烹饪指南是不是真比手头旧菜谱更适合你,又不想真照着新指南重新做一遍菜来验证。于是你翻出上周做的那几道菜的记录,有几道做得特别成功,有几道搞砸了,然后反过来想一下:如果当时手里拿的是这本新指南而不是旧菜谱,你会不会更自然地做出成功那几道菜里的操作,而不是搞砸那几道菜里的操作?答案是肯定的话,这本新指南大概就适合你当下的厨艺水平。要是不这么干,而是真的买菜重做一遍去验证,那每换一本新菜谱就得重新买菜做菜,时间和食材的成本都会直线上升——这正是Evolving-RL那种"每个技能都额外跑一遍"的方法代价高昂的原因。
论文里有个ALFWorld的案例,把这套机制讲得很清楚。ALFWorld是一个文字版的家务模拟游戏环境。任务要求把水壶放到架子上。按旧技能,AI会去柜子、餐桌、冰箱里翻找水壶,结果这些地方都没有,水壶其实搁在灶台上。AI于是提议,把灶台也写进搜索清单。这条提议经过计算,?+是0.00110,?–是负0.01951,两者相减得到Ralign等于0.02061,为正数,更新因此被接受,存进了技能库。后来同样的任务再出现,用上更新后技能的八次尝试全部成功,平均交互步数也从28.25步降到16.75步。新经验补上了旧经验的盲区,Ralign能把它认出来,这种改进在后续实际使用里也确实兑现了。
**光打分还不够,得再找个“裁判”审内容**
Ralign能衡量一条技能是否符合当前策略的行为倾向,却看不出这条技能写得对不对、是不是凑数据凑出来的垃圾。论文点出一个很现实的风险:一条提议的技能如果只是把本次任务的具体细节原样抄下来,比如“去3号柜子拿杯子”这种只管这一次的内容,也可能靠死记硬背拿到不错的分数,可它根本没法复用到别的任务上。
为了堵这个漏洞,UniSkill引入了一个叫技能批评者的角色。
技能批评者*:一个独立的、冻结参数的大模型,论文中用的是DeepSeek-V4-Pro。它专门判断提议的编辑操作合不合理、提议的技能内容是否真有轨迹支撑且具备可复用性,给出的是“合格/不合格”式判断,而不是打分。
每条技能提议先过格式检查,再交给批评者审核。批评者要回答两件事:这个编辑操作,是新增、更新还是不动,本身合不合理?这条技能内容是不是真从轨迹里学出来的、能不能用到别的任务上?只有批评者认为合格,Ralign的打分才会被真正采用;批评者若判不合格,Ralign给再高的分也没用,这条技能内容照样按负分淘汰。
这套双重把关有点像招聘流程:面试官先看简历是不是基本达标,再看人合不合适,两道关都过了才算数。
**三选一的编辑决策:加、改,还是不动**
每次AI完成一个任务,技能提议器都要在三个选项里挑一个:NO EDIT,技能库不动;ADD,新增一条技能;UPDATE,修改已有的那条技能。
这么设计有很实际的考虑。不是每次任务结束都值得往技能库里塞东西。每次都硬加一条,技能库很快会被鸡毛蒜皮的细节塞满,检索时反而找不到真正有用的那条。所以“什么时候不动”和“什么时候动”一样要紧。
不过这里冒出一个训练上的麻烦,论文管它叫技能编辑支持正则化要解决的问题。
技能编辑支持正则化*:一种正则化手段,防止某个编辑操作被训练过程过度打压、从此再也不被尝试,目的是让AI在整个训练周期里始终保留“新增”“更新”“不动”三种选择的探索可能。
问题出在哪?选哪种编辑操作,和提议的技能内容写得好不好,共用同一套训练信号。假设AI提议“新增一条技能”,但内容本身写得很差,被打了负分。这个负分不只打压“写出这条差内容”,还会连带打压“选择新增”这个操作本身,哪怕从道理上讲这次任务确实该新增技能,只是写得不好而已。这种连带打压反复发生,某个操作比如“更新”就可能被训练到几乎再也不会被选中,整个技能库会陷入退化的单一模式。
论文的实验把这种退化展示得很直观。没加这项正则化时,有一次实验运行到第57步之后,模型就只会选“新增”,再也不会选“更新”或者“不动”,技能库的编辑行为彻底僵化。另外两次独立实验,一次从第21步起只会选“不动”,另一次从第104步起只会选“新增”。三次运行退化到的具体操作各不相同,共同点是:一旦某个操作被持续打压,它就再也翻不了身。
这跟团队奖惩机制没设计好时的现象很像。假设团队规定,谁提的方案被采纳,此人以后提方案的权重就上升;谁被否决,权重就下降。某人第一次提的方案质量确实不行,被否决,权重掉了一截,那他第二次、第三次提方案的机会都变少,哪怕后来想到真正的好点子,也很难有发言权把它说出来。整个团队的提案会逐渐集中到最早几次就“押对了”的那几个人身上,别的声音彻底消失。不设任何保护机制,系统很快会陷入这种赢家通吃的单一化状态,哪怕这个状态并不是最优的。
技能编辑支持正则化的做法是:专门盯住每种编辑操作被选中的概率,某个操作的概率跌到预设下限以下,论文里设的是0.1,就对这种过度压低施加额外惩罚,把概率往回拉一拉。注意这不是强行要求三种操作平均分配概率,而是设一条保底线,不让任何选项被彻底判死刑。实验证明这招管用:加上这项正则化后,三种操作在整个250步的训练过程中始终都在被尝试,比例随时间自然变化,没有坍缩成单一选择。而且加了正则化的训练,验证集上的任务成功率明显更高,前期提升更快,后期也更稳定。
**真正跑起来效果怎么样**
效果终究是绕不开的一环,前面铺陈的设计思路到底管不管用,还得靠实验说话。论文选了两个成熟的智能体测试场景做验证:一个是先前已经提到的ALFWorld家务模拟环境,另一个是WebShop网购模拟环境。
WebShop*:一个模拟真实电商网站购物流程的测试环境,智能体要按自然语言描述的购物需求去搜索、查看商品详情,最后完成符合要求的购买,常用来衡量智能体处理多步骤、带搜索和决策环节任务的能力。
在ALFWorld上,UniSkill的任务成功率是98.4%;在WebShop上,任务得分90.5分(满分制),成功率84.7%。这些数字放到对照组里看更清楚。GRPO只靠强化学习训练、完全没有技能库机制,ALFWorld成功率77.6%——UniSkill比它高20.8个百分点。换句话说,大约每5个任务GRPO会多失手1个,UniSkill则基本都能完成。再跟直接对手Evolving-RL相比,UniSkill也领先5.4个百分点;前文说的那种后期崩溃,在UniSkill上没有出现,训练到250步时成功率曲线整体还在往上走。
训练效率的差距更明显。论文统计了每一步训练的时间:Evolving-RL要给每条候选技能单独跑一轮环境测试,光这一项就超过1200秒,占总耗时的大头,一步训练整体要1559.2秒。UniSkill改用历史轨迹里的现成数据打分,这部分只花26.1秒,一步训练总共506.7秒,大约相当于Evolving-RL的三分之一。省下的时间,远比UniSkill在其他环节多花的(比如策略模型本身跑得稍久)要多,总账反而更快。
研究者还把模型从70亿参数换成30亿参数做了测试。UniSkill照样能稳定提升,30亿参数版本训练到后期甚至超过了70亿参数版本的GRPO基线。这套机制并不是靠大模型硬撑出来的,换个小一些的模型同样跑得通。
**几个让人意外的细节**
消融实验里有一组数字值得单独拎出来说。研究者做了几个变体:只训练干活的部分、冻结写经验的部分;反过来,只训练写经验的部分、冻结干活的部分;还有联合训练两部分、但从训练目标里拿掉Ralign这个关键信号。
结果是:去掉技能库检索环节、让干活模型自己裸着应对任务时,带Ralign信号训练出来的版本成功率96.1%,没有Ralign信号的只有84.4%,相差11.7个百分点。这个差距很能说明问题——即便最终评价时完全不让它查技能库,光看训练中有没有用这种“对齐当前策略”的反馈去塑造模型,能力差异就已经实实在在。换言之,这种反馈机制不只让技能库写得更好,它顺带也让干活那部分模型本身更能干了,这是意料之外的额外收益。
另一个让我有点意外的发现,是论文里诚实承认的一件事:Ralign这个指标并不是100%靠谱的。
论文专门挑了几个“预测和实际不符”的案例来剖析原因,读起来挺有意思。比如有个案例,AI提议把水壶的搜索范围从柜子、水池扩大到餐桌、储物间——道理上没错,但新增的候选搜索地点太多,反倒让当前版本的AI在真实执行时分了心,表现不升反降。还有个案例,AI提议了一条“找到一件物品就应该先放到目标位置,再去找下一件”的技能,道理完全正确,可当前的AI实际执行时并没有完全遵循这条新技能里隐含的顺序要求,表现因此变差。这些案例揭示的问题不是Ralign指标本身设计错了,而是提醒我们:一条技能“道理上对”和这个特定版本的AI“真的会执行对”之间,始终隔着一道鸿沟,而这道鸿沟恰恰是留给后续训练去弥合的空间。
写在后面
论文里真正让我停下来的,不是最后那个98.4%的成功率,而是案例分析中“预测与实际不符”的那一组。研究者并未把这些对不上的样本当作噪音藏起来,反倒把它们单独拎出,一个个拆开讲清原因。肯这样直面方法的短板,比凑出一个好看的平均数要有分量得多。
还有一点触动我:这篇论文解决的根本问题,其实是很多自我进化系统里都会反复出现的结构性矛盾——一个系统既要执行任务、又要给自己写使用手册,那它怎么判断新写的那条手册条目对现在的自己管不管用,而不是对三个月前的自己管不管用。这不只是AI智能体领域的问题,任何一个边干边总结、总结结果又反过来影响下一步怎么干的系统,大概都会撞上类似的麻烦。只是AI智能体把这个问题暴露得特别赤裸:策略模型进化的速度肉眼可见,用的量化指标又摆在那里,想回避都回避不了。
还有一处发现也该多琢磨:技能编辑支持正则化。三次独立训练,各次都塌缩到了不同的单一操作,这个细节本身就耐人寻味。它表明退化并非某个操作天生更容易被选中,而是训练动力学造出的“赢家通吃”:早期偶然多赢几回的那个操作,会在后面训练里被反复加强,直至彻底垄断。推荐系统里“马太效应”的成因,与此颇有相通之处。
一个AI系统若既要持续变强,又要持续积累经验,那它该记住的究竟是“这件事该怎么做”,还是“眼下这个版本的自己适合怎么做”?听起来差不多,可这两件事恐怕从来就不是一回事。
Q&A
Q1:UniSkill是什么?
A:UniSkill是一种训练框架,让AI智能体在执行任务的同时,自主提出技能库编辑建议(新增、更新或不动)。它的核心创新是用历史轨迹里的动作可能性对比,来评估新技能是否适合当前模型,不需要额外跑环境测试。
Q2:UniSkill和Evolving-RL有什么区别?
A:Evolving-RL评估每条候选技能,都要单独跑一轮环境测试,计算开销大,训练后期还容易性能崩溃;UniSkill则利用已收集的历史成功和失败轨迹计算对齐分数,省去额外测试环节,训练更稳定,每步耗时只有Evolving-RL的三分之一左右。
Q3:UniSkill的实际效果如何?
效果方面,UniSkill在ALFWorld家务模拟环境里的成功率做到了98.4%;在WebShop网购模拟环境里,任务得分90.5分、成功率84.7%,把多种强化学习和技能增强基线方法都甩在了后面。换成参数更小的30亿模型,这套方法照样管用。