news 2026/9/8 13:27:40

AI给自己写了个维基百科,然后技能突飞猛进

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI给自己写了个维基百科,然后技能突飞猛进

你有没有想过,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可能绕开技能直接从维基里找答案,导致产生的执行数据不能真实反映技能好不好用,污染了后续优化的反馈信号。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 13:27:37

单总线协议1-Wire深度解析:从物理层时序到ROM寻址与DS18B20驱动

做嵌入式这些年,各种通信协议接触过不少,但要说“极简主义”的程度,单总线协议(1-Wire)绝对排得上号。一根数据线加一根地线,就把物理层、链路层甚至供电一起解决了,而设备寻址又依赖一套 64 位…

作者头像 李华
网站建设 2026/9/8 13:27:18

移远4G模组GobiNet驱动在Linux/Android平台的编译安装与排错实战

简介:移远通信GobiNet驱动V1.6.2.9,面向Linux与Android平台,用于驱动移远Gobi系列无线网卡模块,使系统能够识别并建立3G/4G/LTE移动数据连接。该驱动源码支持在Linux环境下编译生成Gobinet.ko内核模块,并已在海思平台实…

作者头像 李华
网站建设 2026/9/8 13:23:09

GPU利用率低下?从调度顺序优化入手,不买卡也能提升训练吞吐

GPU 采购单越堆越长,账单上的数字越来越吓人,但模型的训练时长却纹丝不动——这种荒诞感我太熟悉了。过去半年里我接手过好几个团队的项目,诊断到最后,绝大多数性能瓶颈都不在算力总量,而在调度顺序。GPU 数量从来不是…

作者头像 李华
网站建设 2026/9/8 13:22:45

【Vue3+Uni-app+Spring Boot】互联网医院电子处方前置合规审核与药品外延配送小程序系统设计与实现(含PRD/三端高保真源码/大屏)

【基于 Vue3 Uni-app Spring Boot 的互联网医院电子处方前置合规审核与药品外延配送小程序】基于 Vue3 Spring Boot 的设计与实现(含PRD/三端高保真源码/大屏) 🤖 AI合规声明:本文所述互联网医院处方监管与配送系统架构、前后端…

作者头像 李华
网站建设 2026/9/8 13:22:10

Game Boy自制游戏开发实战:GBDK工具链与ROM构建指南

《黑城堡 2》是一款完全在 Game Boy 平台上运行的自制游戏。如果你对“如何在只有 8 位 CPU、8KB 工作 RAM、160144 像素分辨率的古董掌机上做出一款能玩的动作游戏”这件事感兴趣,这篇文章正好适合你。 这次我们不聊模拟器上的 ROM 修改,而是从自制游戏…

作者头像 李华
网站建设 2026/9/8 13:21:35

FPGA 100G UDP协议栈移植实战:从开源方案到线速收包

先把结论放在前面:这个项目本身不复杂,但真正的复杂度全藏在“移植”两个字里。我从拿到一块带 QSFP28 光口的 UltraScale 板卡,到把开源 100G UDP 协议栈跑起来、双侧验证线速收包,前后折腾了大概两个礼拜。期间踩过了光模块兼容…

作者头像 李华