你有没有想过,AI agent执行任务的时候,其实和人类新员工特别像。
第一天上岗,什么都不会,只能靠说明书。做错了事,被骂一顿,第二天可能还犯同样的错。真正厉害的员工,是那种会把踩过的坑记下来,攒成一本小册子,越攒越厚,后面来的新人翻一翻就能少走弯路的那种人。
问题是,现在大部分让AI agent自我进化的方法,压根没有这本小册子。
**当前的技能进化方法把"学到的东西"和"生成的技能"混在一起,用完就扔**
先说说这个领域现在是什么水平。像EvoSkill这类方法,会维护一份"历史提案和评估结果"的记录,但这份记录只是流水账,谁提了什么、有没有通过,仅此而已,没有把里面的知识提炼出来。Trace2Skill会从执行轨迹里提取教训,直接揉进技能更新里,但提炼完的洞察也就用这一次,下一轮又得重新从原始记录里挖。SkillOpt靠"被拒绝的编辑反馈"和"按轮次的元指导"来做优化,同样没有一个独立存在、持续累积的知识层。
打个比方,这就像一个侦探破案破了三个月,每次破案的线索和推理过程都记在案卷里,可案卷归档之后就锁进档案室了,没人整理成"办案手册"。下次遇到类似案子,侦探还得从头翻案卷,凭记忆拼凑当年的推理逻辑,效率低不说,还容易漏掉重点。如果侦探能把每次破案的经验总结成一份不断更新的办案指南,写清楚"什么线索通常指向什么结论"、"哪些推理方向试过是死路",那第二十个案子破起来就会快得多。
这篇论文的作者们,从一位知名AI研究者Karpathy提出的"LLM Wiki"理念里得到启发。这个理念说的是,与其让经验散落各处,不如把它编译成持久的、会不断复利增长的知识。于是他们提出了一个很直接的问题:能不能让AI agent的经验,也这样被压缩进一个持久的知识库,支撑技能的长期进化?
这就是WikiSkill的起点。
**三层架构:原始记录、知识维基、可执行技能**
WikiSkill的设计思路,是把agent的整个工作空间切成三层。
第一层叫原始层(Raw Layer),存放agent执行任务时留下的完整轨迹,包括它的每一步推理、每一次调用工具、每一次工具返回的结果。这一层是只写不改的,就像法院的庭审记录,一旦形成就不能篡改,任何后续分析都得基于这份原始证据。
第二层是维基层(Wiki Layer),这是整篇论文的核心创新。
> 维基层:一个持续积累的结构化知识库,专门存放从原始执行记录中提炼出来的"模式"(比如某类失败反复出现的原因、某类成功策略为什么有效),以及一份记录着历史上每次技能提案是否被接受的审计日志。
维基层不是简单地把原始记录复制一份,而是经过一层"消化吸收",把散乱的经验整理成结构化的、可复用的认知。这一层从来不会被重置或回滚,哪怕某次技能更新失败了,维基层里积累的知识依然保留下来。
第三层是技能层(Skill Layer),存放当前正在使用的、可执行的技能文档,也就是agent真正会去读、去照着执行的操作指南。
这三层各司其职,原始层负责"记住发生了什么",维基层负责"想明白为什么",技能层负责"该怎么做"。
如果只有原始层和技能层,没有中间的维基层,会发生什么?作者们专门做了一组对照实验来回答这个问题,稍后会详细说。这里先说结论:省掉维基层之后,效果会大幅下滑,因为负责生成新技能的那个模块,每次都得从零开始重新分析原始记录,很难在多轮迭代之间形成连贯的认知积累。
**四个角色的循环协作**
整个WikiSkill的运转,靠四个组件循环配合完成。
第一个是推理agent(Inference Agent),它负责真刀真枪地执行训练任务,读取当前生效的技能,产出执行轨迹。
第二个是维基维护者(Wiki Maintainer),它读取推理agent留下的原始轨迹,加上已有的维基内容,对失败案例做根因分析,对成功案例提炼出可复用的策略,然后更新维基里的模式页面和演化日志。
第三个是技能提议者(Skill Proposer),这是个挺有意思的设计。
> ReAct:一种让语言模型交替进行"推理"和"行动"的工作模式,模型先想一步该做什么,再真的去调用工具执行,看到结果后继续推理下一步,如此反复。
技能提议者不是被动接收一堆预先采样好的记录去分析,而是像一个主动调查的侦探,一开始只拿到维基的索引目录、历史上技能是否被采纳的记录、以及所有训练任务成败的简要摘要,然后自己决定要不要去翻某一页具体的模式文档,要不要去看某一条具体的执行轨迹。这么设计是因为完整的执行历史太长,塞进模型的上下文窗口装不下,让它自己按需检索,比一股脑塞给它更高效。
第四个是门控与回滚机制(Gating and Rollback),负责把技能提议者提出的候选技能拿到验证集上跑一遍,如果验证分数比之前最好的分数高,就接受这次更新,否则就把技能回滚到上一个成功版本。
这里有个关键细节:回滚只回滚技能,不回滚维基。
哪怕这次的技能提案被拒绝了,维基里关于"为什么被拒绝"的记录依然被完整保留下来,供下一轮参考。这就好比公司做产品迭代,一个新功能上线后用户反馈很差,被撤下了,但产品团队不会把这次失败的调研报告也一起销毁,反而会把"这个方向为什么行不通"写进内部知识库,防止下次有人又提出同样的方案重蹈覆辙。如果没有这层记忆,团队很可能会在几个月后因为人员流动,又有人提出一模一样已经被验证过行不通的点子,白白浪费一次试错机会。
**实验结果:WikiSkill全面跑赢现有方法**
论文在五个横跨不同领域的基准测试上做了验证:数学推理(LiveMathematicianBench)、网页搜索(SealQA)、电子表格操作(SpreadsheetBench)、长文档问答(OfficeQA)、以及交互式具身任务(ALFWorld,一个模拟家庭环境里完成"拿起时钟放到架子上"这类多步骤任务的测试)。测试模型覆盖了Qwen系列的4B、9B、27B三个尺寸,加上Gemma-4-31B和Gemini-3.5-Flash。
结果相当亮眼。跟EvoSkill、SkillOpt、Trace2Skill这三个现有最强的技能进化方法比,WikiSkill在五个模型上分别高出3.3到12.0个百分点,而且在几乎所有模型和数据集的组合里都超过了"完全不给技能"的基线表现。
具体到数字,Gemini-3.5-Flash在LiveMath上,从33.0%的裸模型表现,被WikiSkill拉到了72.6%;在SpreadSheet上从50.5%拉到76.6%。Qwen-3.6-27B在ALFWorld上从52.8%拉到77.6%。
对比一下,现有方法的表现就不那么稳定了。EvoSkill在Qwen-9B的LiveMath上能把28.2%拉到58.1%,效果很猛,但换到Gemma-4-31B同一个测试上,反而把33.9%拖到了29.8%,性能不升反降。SkillOpt在Gemini-3.5-Flash的SealQA上,甚至把29.4%降到28.2%。这说明现有方法缺乏一致性,有时候赌对了效果惊人,有时候直接帮倒忙。
**技能进化和模型规模是互补关系,而不是替代关系**
这一点挺出乎意料的。一般人可能会想,大模型本来就聪明,给它技能提升空间应该不如小模型明显吧?
数据恰恰相反。
在Qwen家族里,WikiSkill带来的平均提升幅度,随模型规模变大而变大:4B模型提升12.3个百分点,9B模型提升17.5个百分点,27B模型提升23.9个百分点。在SpreadSheet这个任务上,这个趋势更夸张,三个模型分别提升6.5、9.3、40.9个百分点。
这背后的道理并不难理解。技能是一份操作指南,指南写得再好,也需要有能力去精确执行每一步指令。小模型可能连指南本身都读不透彻,更别说照着复杂的多步骤流程一步不差地走下去。大模型不仅能理解指南,还能更好地把指南和当前具体情境结合起来灵活应对,所以同样一份技能,大模型能榨出更多价值。
但反过来,技能也能让小模型逆袭。Qwen-3.5-9B配上WikiSkill生成的技能,平均准确率达到47.4%,直接超过了没有任何技能加持的Qwen-3.6-27B(39.4%)——一个体量小得多的模型,靠着一份好的操作手册,打赢了体量大它两倍多的模型。
这就像一个刚入职的实习生,手里握着一本前辈们十年攒下来的操作手册,可能比一个天赋异禀但两眼一抹黑瞎摸索的资深员工干得还好。手册里写着的,是无数次踩坑之后总结出来的捷径,天赋弥补不了这种经验的空白。如果没有这本手册,实习生就只能靠自己试错,效率天差地别。
**技能可以跨模型迁移,甚至比自己生成的还好用**
论文还测试了一个更有意思的问题:一个模型(比如Qwen-3.6-27B)进化出来的技能,拿给另一个模型(比如Qwen-3.5-9B)用,效果会怎么样?
结果是,迁移过来的技能经常比模型自己进化出来的技能还要好。Qwen-3.6-27B进化出的技能,用在Qwen-3.5-9B上跑SpreadSheet任务,能达到50.5%,而这个小模型自己进化出来的技能只有33.6%,什么都不给它则只有24.3%。同样,Gemma-4-31B用上Qwen-3.6-27B的技能能在LiveMath上冲到73.7%,自己进化的技能只有56.7%。
更有意思的是,迁移不只是从大模型流向小模型,反过来也成立。Qwen-3.5-4B(一个相对小的模型)进化出的技能,拿给体量更大的Gemma-4-31B用,也能把LiveMath表现从33.9%拉到73.1%,把ALFWorld从50.4%拉到66.9%。
这说明什么?技能的"发现能力"和"执行能力"其实是两码事。有的模型不太擅长自己去总结失败教训、提炼有效策略,但只要拿到别人总结好的策略,执行起来毫不含糊。这就像一个厨艺天赋一般的人,未必能自己琢磨出一道菜的最佳配方,但只要拿到一份写得清清楚楚的菜谱,照着做也能做出一桌好菜。反过来,一个特别会创新菜式的大厨,写的菜谱未必是最适合新手照着做的,因为他默认了太多自己下意识就懂的经验。
不过论文也指出,迁移不是永远稳赚不赔的。Qwen-3.5-4B进化出的SpreadSheet技能,拿给Gemini-3.5-Flash用,反而把它的表现从50.5%砸到18.1%。原因是小模型进化出的技能里,塞满了针对自己能力局限设计的"补丁式"变通做法,比如把复杂操作拆成一行一行的简单Python命令,这些变通对小模型是救命稻草,但对本来就能写出完整脚本的强模型而言,反而变成了束缚,甚至因为过多琐碎的诊断步骤消耗掉了对话预算,导致任务还没做完就"没时间"了。
**最关键的实验:去掉维基层会怎样**
前面提到,维基层是这套框架的核心创新。作者用Gemini-3.5-Flash专门做了一组消融实验,来验证这个设计到底值不值得。
实验设置了四种组合:推理agent训练时能不能看维基,技能提议者能不能看维基。当技能提议者被剥夺维基访问权限时,负责维护维基的那个角色也一并被移除,相当于彻底取消持久知识积累这件事。
结果很清楚。
**当技能提议者拿到维基访问权限后,平均基准表现从48.7%跳升到63.7%,提升了15个百分点,其中LiveMath从51.3%涨到72.6%,SpreadsheetBench从49.9%涨到76.6%。**
没有持久积累的知识,技能提议者面对复杂的失败模式时会显得力不从心,因为它每次都得从零开始重新琢磨"这个错误到底为什么会发生",缺乏跨轮次的连贯理解。
有个反直觉的发现:如果让推理agent(也就是真正干活的那个agent)在训练阶段也能直接读维基,效果反而下降了,从63.7%掉到60.9%,LiveMath具体从72.6%掉到64.8%。
作者的解释是,如果推理agent训练时既能看技能又能看维基,它可能会绕开技能,直接从维基里"抄答案",这样产生的执行轨迹就不再能真实反映"技能好不好用",反而让后续的技能优化失去了准头。
这个发现挺有意思的。它揭示了一个容易被忽略的道理:给一个正在被评估、正在被改进的系统提供过多的"作弊工具",反而会污染它本该产出的、用来指导改进的反馈信号。就像做产品用户测试,如果测试员知道内部有份完整的操作手册可以随时翻,他就不会真实暴露出"哪里让普通用户容易卡壳",测出来的数据也就没法真正指导产品改进了。
**技能和维基的具体样貌:一个ALFWorld案例**
论文里有个具体的案例,讲的是Qwen-3.6-27B在ALFWorld上的技能进化过程,挺能说明问题。
第0轮迭代,维基维护者发现了一个基础的循环行为模式,命名为"拿起-检查-放回循环",agent反复做拿起物品、检查、放回原处这套动作,卡在原地打转出不来。技能提议者据此提了一个叫"目标导向行动"的技能,结果验证集上表现没有提升,被拒绝了。
但这次拒绝没有白费,审计日志把这次提案的具体内容和拒绝原因都完整记了下来。第1轮迭代,技能提议者参考这份记录,提出了一个更具体的技能叫"打破重复循环",里面写了一条很具体的规则:"永远不要把物品放回它原来的位置",这次通过了。
之后随着更多轮次的执行轨迹积累,维基维护者又发现了新的循环变体,比如"多操作循环",技能提议者在第4轮又把这条规则细化为"每种操作类型对每件物品只做一次"。
这个案例展示的是一个持续迭代、越改越准的过程,而这个过程之所以能顺利进行,全靠维基把每一步的失败和成功都记录得清清楚楚,让后面的每一次改动都能站在前面的经验之上,而不是原地打转重新摸索。
**技能是怎么长的,攒了多少知识**
论文还统计了不同模型和数据集下,技能文档和维基模式的数量、篇幅变化。
Qwen系列的模型倾向于生成更长的技能文档,平均118.9到128.6行,而Gemma-4-31B和Gemini-3.5-Flash更偏向简洁,分别是45.1行和81.2行。SpreadSheet这个任务产出的技能最长(142.5行),积累的维基模式也最多(9.8条),而LiveMath产出的技能最短(84.6行),维基模式也最少(4.4条)。这大概是因为电子表格操作涉及的错误类型和边界情况更多,需要更细致的记录去覆盖。
另外,技能的打磨不是一次性的事情。论文把技能被接受的时间点分成早期、中期、晚期三个阶段,发现早期只占39%到52%的接受量,剩下相当一部分改动是在中期和晚期发生的,尤其在SealQA这个任务上,中期占33%,晚期还有28%。这说明持续的知识积累,确实支撑了跨越多个轮次的、越来越精细的技能打磨,而不是那种"第一版做完就没什么可改的了"的模式。
Q&A
Q1:WikiSkill是什么?
A:WikiSkill是一个让AI agent技能持续进化的框架,核心创新是加入一个持久的知识库"维基层",把agent的执行经验先提炼成结构化知识,再据此生成和优化技能,让技能改进能建立在不断积累的认知之上,而不是每次从零分析。
Q2:小模型用了WikiSkill生成的技能,真的能打赢大模型吗?
A:能。实验中Qwen-3.5-9B配上WikiSkill技能后平均准确率达到47.4%,超过了完全没有技能的Qwen-3.6-27B(39.4%),说明好的技能能弥补模型规模上的差距。
Q3:为什么不让执行任务的agent在训练时直接看维基?
A:论文的消融实验发现,这样反而会让最终技能效果变差,因为agent可能绕开技能直接从维基里找答案,导致产生的执行数据不能真实反映技能好不好用,污染了后续优化的反馈信号。