Skill Self-Play: Pushing the Frontier of LLM Capability with Co-Evolving Skills
Siyuan Huang, Pengyu Cheng, Haotian Liu, Tao Chen, Yihao Liu, Jingwei Ni, Shijie Zhou, Ziyi Yang, Gangwei Jiang, Mengyu Zhou, Yu Cheng, Xiaoxi Jiang, Guanjun Jiang
cs.CL
2026-07-25
把 agent 技能做成可进化的库,在 proposer/solver/技能控制器三者协同的 RL 循环里同时管住任务多样性与可验证性,工具调用和逻辑推理基准上把多个开源模型推高,弱模型最高涨 42.9 分。
LLM 自我演化(self-evolution)想摆脱人工标注,让模型自己出题、自己解题、自己打分。可现有方法卡在一个两难里:绑环境的(code 执行器、游戏模拟器、检索引擎)能给精确奖励,但学的东西被锁死在那个环境里,换不了地;不绑环境、开放生成的,任务空间是宽了,却没有可靠验证,错误奖励一路污染训练,迭代几次就合成数据坍缩(self-generated data collapse)。所以问题不是要不要自我对弈,是怎么既开放又可验证。这篇给的答案是 agent 技能,把一个场景下的解题套路封装成可复用的模块。
Skill-SP 把自我对弈拆成三个协同进化的角色:proposer 出题、solver 解题、skill controller 管技能库。技能库是核心。一个技能 s 是个结构化接口,装着路由元信息、生成规则、提示、few-shot 例子、可执行的校验器(validator),还有历史使用统计。proposer 生成任务时,不是凭空出,而是先从库里按统计采样一个技能,在它约束下出题;同时配一条不挂技能的开放探索流,防止模式坍缩。
每个任务定义成 (x, c):x 是 solver 看到的 prompt,c 是对 solver 隐藏、只给环境用的可机读验证契约(单元测试、参考答案)。proposer 的奖励是个「门槛式中难度分」:R = 1{任务合法} × (1 − 2|成功率 − 0.5|)。中难度是让它贴着 solver 的学习前沿出题,成功率 0.5 附近最该学;合法性门槛挡住 reward hacking,出题器没法靠造一个无解任务来骗难度分。合法性检查要 schema 合规、契约通过技能自带的校验器、还要 K 次采样能稳定收敛到出题器给的参考答案。
三方一起走 GRPO 强化学习:每轮固定当前 solver 当裁判,更新 proposer 去贴前沿;再用合法任务拼成 solver 的课程更新 solver;skill controller 同时按执行反馈精炼旧技能、剪掉已经太简单饱和的技能、从探索流里把新出现的好模式归纳成新技能。五轮下来技能库净增约 20 个新包,活跃技能涨到 86 个。
工具调用上测 API-Bank(L1-L3)和 BFCL(JS/Py/Java/live)。原本就强的模型(Qwen3、Granite)稳涨 2.8 到 6.5 分;真正抓眼球的是原本对齐很差的模型:Ministral-3-8B 涨 42.9 分(平均从 20.7 到 63.6),Ministral-3-14B 涨 42.3 分。Qwen3-4B-Instruct 整体从 60.2 到 66.7(+6.5)。对比里 Unguided SP(纯事后过滤的自我对弈)不仅涨得少,还在若干子任务上把模型搞退步。
| 模型 | 基线 | +Unguided SP | +Skill-SP |
| Qwen3-4B-Ins | 60.2 | 64.1 (+3.9) | 66.7 (+6.5) |
| Ministral-3-8B | 20.7 | 20.8 (+0.1) | 63.6 (+42.9) |
| Ministral-3-14B | 22.2 | 59.0 (+36.8) | 64.5 (+42.3) |
逻辑推理上测 ZebraLogic。Unguided SP 在这个域里直接启动不了,它根本合成不出合法谜题,所以没法比。Skill-SP 把五个模型全推高,Ministral-3-14B 整体网格准确率涨 12.0 分,小规模谜题上涨超 35 分。
消融很干净:去掉技能引导(Unguided SP)整体掉 2.6 分;只用技能不出探索流、技能路由改成均匀、技能库冻结,都稳定变差;冻结 proposer、冻结当裁判的 solver、两者都冻结,分别掉 2.1、3.0、3.2 分,说明三方协同进化一个都不能少。
对做 agent 训练的人,这篇给了一个能落地的开放式自我对弈配方:不用为每个新域从头搭环境,也不用赌事后过滤能扛住噪声,技能库本身既是结构先验又是验证接口,而且会自己长。对弱模型尤其值钱,那些工具调用能力几乎为零的小模型,普通自我对弈带不动,Skill-SP 能直接救回来。它也顺着 Anthropic 的 agent skill 思路,把技能从推理时的脚手架变成了训练时的课程引擎。
要泼冷水的是「开放」二字的边界。两个测试域(工具调用、逻辑推理)都是高度结构化、可验证的,技能库这套机制在更模糊的任务(开放式写作、长程规划)上能不能撑住还没验证。整套只跑了五轮迭代、五个 3B 到 14B 的模型,大规模、长周期下技能库会不会膨胀失控、归纳出的新技能质量会不会劣化,论文没给。
作者自己承认:对极难规模(Large/X-Large)的谜题,弱模型几乎涨不动,因为纯自我对弈需要模型先有一个最低能力门槛才能启动学习信号,这正是 Unguided SP 在推理域完全启动不了的原因。
读完还有几个存疑点:每轮课程池才几千条任务、只五轮,这套在工业级后训练规模上的成本和稳定性没数据。技能归纳靠 backbone 自己(无外部更强教师),强模型还行,弱模型归纳出的技能质量如何没单独拆。所有结果用 avg@8 报告,基准相对窄。