模型单项满分、串起来就崩?Skill Entropy 给"跨技能切换"称了次重,还顺手变成了 RL 奖励

你有没有遇到过这种情况:同一个模型,数学题做得溜,行程规划也没问题,但你让它"先算个数、再拿这个数去排日程",它第二步就突然开始犯浑——该写方案的时候它还在输出数字,该调用规划能力的时候它还在做算术。

单项都会,串起来就废。这个毛病在 agentic 任务越来越多的今天越来越扎眼,但一直以来缺一个东西:一个能把"切换技能有多难"量化出来的尺子。普林斯顿、CMU、多伦多大学等机构合作的这篇论文(arXiv:2608.05139)干的就是这件事——他们造了把叫 Skill Entropy 的尺子,拿它搭了个 benchmark,发现几乎所有前沿模型都在高熵任务上掉链子;更妙的是,他们把这把尺子直接改造成了 RL 的奖励信号,让 Qwen3-4B-Instruct 在新 benchmark 上从 34.4 分一路干到 68.4 分。

核心摘要

现有推理 benchmark 大多只考单一技能,没法回答"模型在一条推理链里切换技能的能力到底怎么样"。这篇论文提出 Skill Entropy——一个有方向的成对度量,衡量"从技能 A 切到技能 B 有多难"——并据此构建了 Skill²-Bench:覆盖 9 个领域、558 个细粒度技能的跨技能长程任务基准。评测 8 个前沿模型加 4 个开源模型后发现一个结构性缺陷:任务技能熵越高,准确率越往下掉;同一个技能放进跨技能链条里,准确率平均掉 4 到 13 个点。随后作者把技能熵从"评测刻度"变成"训练信号",提出 Skill-Entropy RL:模型每一步除了给答案,还要显式报出自己用了什么技能,奖励里加入预测技能序列与金标技能序列的对齐程度。Qwen3-4B-Instruct 从 34.4% 提到 68.4%,Qwen3-1.7B 从 14.6% 提到 40.1%,还能直接插到 OpenR1-Math 这种现成数据集上用。我的判断:这不是什么底层理论突破,但"把评测发现直接转成训练奖励"这个闭环做得干净利落,工程价值相当实在。

论文信息

  • 标题:Toward Skill-Native LLMs: Skill Entropy for Benchmarking and Training Long-Horizon Reasoning
  • 作者:Yinghui He、Ling Yang(共同一作,Princeton University)、Jiarui Liu(CMU)、Yongjin Yang(University of Toronto)、Lechen Zhang(UIUC)、Yingcheng Wu(Stanford)、Zhenfei Yin(University of Oxford)、Mengdi Wang、Sanjeev Arora(Princeton University)
  • 发表:2026 年 8 月 5 日提交,arXiv:2608.05139(cs.CL)
  • 代码:https://github.com/Gen-Verse/Skill-Entropy-RL

作者列表里 Sanjeev Arora 和 Mengdi Wang 压阵,理论品味是有保障的——不过这篇主打的是评测加训练闭环,不是理论。


🎯 为什么需要这篇论文:单项都会,组合就崩

长程推理现在是 LLM 的主战场——deep research、agentic coding、多步规划,全都要求模型在一条推理链里跨领域作战。但这里有个一直被糊弄的区分:

"会做每一步"和"会在步骤之间切换"是两种能力。

之前 Skill-Mix、Skill Composition 那批工作已经观察到,模型在单项技能 benchmark 上刷得再高,组合起来照样翻车。GAIA、AgentBench 这类 agentic benchmark 确实考多步,但它们把"切换难"和"任务本身难"混在一起——一个任务做不出来,你分不清是技能不会,还是切换没切过来。

作者把这个问题形式化成 跨技能长程任务(Cross-Skill Long-Horizon Task):一个长度为 \(L\)(2 到 10 步)的问答序列,每一步调用一个不同的技能,且后一步依赖前一步的输出,相邻两步必须来自不同领域。整条任务被一个统一场景串起来——比如论文里的例子:"机器人探索洞穴救被困研究员",第一步解方程算速度,第二步从日志里提取研究员 ID,第三步在 3×3 洞穴网格上做安全格遍历,第四步规划接下来三个动作。四步四个技能,环环相扣。

问题来了:两个长度相同、技能数量相同的任务,难度可能天差地别——数学切到编程还算顺(都带符号结构),数学切到创意写作就是另一个世界。怎么把这个"切换难度"变成数字?

图1:Skill Entropy 框架总览

图1:整篇论文的一图流。上半部分是 Skill²-Bench——558 个技能分布在 9 个领域(数学 186、科学 137、编程 46、逻辑 14、信息抽取 92、规划 34、创意写作 12、上下文检索 12、指令遵循 25),核心概念 Skill Entropy 定义为"从技能 1 切到技能 2 的难度"与"两个技能各自难度"的比值;中间是一个跨技能长程任务的实例(洞穴救援,四步四个技能,技能熵 0.9 属于高难度),右侧评测曲线显示 Gemini-3.1-Pro、GPT-5.5、Claude-opus-4.7 的性能都随技能熵等级升高而下滑。下半部分是训练侧:给已有数据的推理步骤打技能标签、分配技能熵,模型输出技能标注的 rollout,最终答案奖励与技能熵奖励叠加。


🧠 Skill Entropy:给"切换难度"一个数

核心定义其实挺朴素。固定一个参考模型(作者用 Claude-opus-4.7),先测它单独做技能 \(s_a\)\(s_b\) 的准确率,再测它做"先用 \(s_a\) 再用 \(s_b\)"两步任务的平均准确率,然后:

\[SkE(s_a, s_b) = \frac{\tfrac{1}{2}\big(\text{Accuracy}(s_a) + \text{Accuracy}(s_b)\big) + \alpha}{\text{Accuracy}(s_a, s_b) + \alpha}\]

其中 \(\alpha = 0.1\) 是 Laplace 平滑。直觉很清楚:如果链起来之后准确率和单干差不多,比值接近 1,说明切换顺滑;如果链起来之后掉得厉害,分母变小,比值大于 1 而且越大越难切。

注意这个量是有方向的——\(SkE(s_a, s_b)\)\(SkE(s_b, s_a)\) 在不同的两步任务对上测算,一般不相等。从数学切到写作和从写作切到数学,难度本来就不对称,这个设计我觉得是对的。

任务级别的技能熵就是把链上所有相邻切换取平均:

\[SkE(\tau) = \frac{1}{L-1}\sum_{i=1}^{L-1} SkE(s_i, s_{i+1})\]

再按经验分布取两个阈值,把任务切成低、中、高三档难度。

用"熵"这个词其实是个类比——切换越难,下一个正确响应在固定参考模型下越不可预测。说实话我觉得叫"skill transition cost"可能更老实,但"熵"确实更抓人,这是命名层面的小聪明,无伤大雅。

真正有意思的是算出来的结果长什么样。

图2左:领域间成对平均技能熵热力图

图2左:9 个领域两两之间的平均技能熵。格子越红切换越难。全表最难的切换是"规划 → 信息抽取"(4.41)和"指令遵循 → 逻辑"(4.35);最顺滑的是"上下文检索 → 指令遵循"(0.82)和"创意写作 → 上下文检索"(1.43)。科学这一行整体偏红——从科学切到数学都有 3.46,说明科学技能虽然模型做得好,但非常"领域专精",切换出去代价高。

图2右:各领域准确率 vs 平均技能熵

图2右:横轴是该领域单技能准确率(越左越难),纵轴是该领域的平均技能熵(越高越难切换)。关键发现是这两个维度基本解耦——逻辑(Logic)准确率约 90% 是最容易的领域,技能熵却只有 2.1 左右;科学(Science)准确率约 75% 也算好做,技能熵却高达约 2.8 全场最高。你想想看——"一个领域模型做得多好",完全预测不了"这个领域有多难切进切出"。

这个解耦的发现是整篇论文立论的根基:技能熵度量的是一个此前 benchmark 完全没覆盖的难度维度。


🏗️ Skill²-Bench:558 个技能、9 个领域的跨技能考场

benchmark 的构建分三步,我捋一下:

  1. 建技能库。对六个可验证领域,让 LLM 给每道种子题标 3 到 5 个细粒度技能标签,embedding 聚类后人工审查,保证跨领域粒度一致;三个开放领域直接让 LLM 生成技能清单。
  2. 算技能熵。用参考模型 Claude-opus-4.7 分别跑单技能题和两步跨技能题,代入上面的公式得到成对技能熵。
  3. 采样加改写。按目标熵等级采技能序列,每个技能抽一道种子题,用 LLM proposer 把多道题改写进一个连贯场景里(保持原始逻辑和标准答案不变),再由独立 verifier 按检查清单过滤不合格任务。

九个领域的构成如下:

领域 种子数据集 可验证 技能数 技能示例
Math OpenR1-Math 186 Geometric Proofs、Trigonometric Functions
Science MMLU-Pro 137 Statistical Modeling、Financial Mathematics
Coding LiveCodeBench 46 Graph Theory、String Manipulation
Logic ZebraLogicBench、Guru-RL-92k 14 Constraint Satisfaction、Deductive Reasoning
Information Extraction WikiTable、WebSRC 92 Table Data Analysis、Information Retrieval
Planning NaturalPlan 34 Activity Scheduling、Travel Itinerary Planning
Creative Writing —(LLM 生成) 12 Brainstorming、Storytelling
Context Retrieval —(LLM 生成) 12 Context Recall、Entity Tracking
Instruction Following —(LLM 生成) 25 Include Keywords、JSON Format

表1:Skill²-Bench 的领域构成。六个可验证领域用改造后的种子题,三个开放领域用 LLM 生成的问题加评分 rubric,由 LLM judge 打分。合计 558 个技能。

评测设置:300 道留出测试任务,三个熵等级和九个领域均衡分布,任务长度 2 到 10;每道题采样 4 次、温度 0.7;每个模型跑两种模式——单技能模式(每步独立问)和跨技能模式(整条任务顺序答)。

📊 主实验:所有模型都在"切换"上丢分

主表信息量很大,我挑关键的数字:

模型 单技能均分 跨技能均分 Δ(掉分) 低熵 中熵 高熵 总均分
Claude-opus-4.7 75.0 70.7 −4.3 72.2 69.2 68.6 70.0
GPT-5.5 72.8 68.2 −4.6 74.6 71.5 71.9 72.7
Gemini-3.1-pro 81.7 76.3 −5.4 77.1 75.2 72.2 74.8
Claude-sonnet-4.5 52.1 45.6 −6.5 67.2 62.0 59.5 62.9
O4-mini 59.1 52.2 −6.9 59.9 60.8 58.6 59.8
Claude-haiku-4.5 48.8 40.9 −7.8 62.3 56.3 54.9 57.8
Gemini-3.1-flash 52.4 43.3 −9.1 65.9 60.7 60.3 62.3
GPT-5.4-mini 29.9 19.9 −10.0 42.6 39.2 42.7 41.5
Qwen3-32B 33.7 26.0 −7.7 46.0 41.0 41.0 42.7
Qwen3-8B 31.4 22.1 −9.3 39.1 33.2 31.5 34.6
Qwen3-4B 28.4 15.8 −12.6 32.4 24.9 26.0 27.8
Olmo-3-7B-Think 14.4 7.2 −7.2 12.8 12.8 7.4 11.0

表2:Skill²-Bench 主实验(跨技能模式按熵等级细分,原文还给了 ± 误差区间,这里从略)。两个核心现象一目了然:中间那列 Δ——同一个技能放进跨技能链条后全部模型都在掉分,前沿模型掉 4 到 10 个点,开源小模型最惨(Qwen3-4B 掉 12.6 个点);右边三列——低熵到高熵,分数近乎单调往下走。

几个值得细看的点。

这个掉分不是"题难"能解释的。 单技能模式考的也是多步题,唯一区别就是上下文里有没有别的技能。逻辑技能很多模型单技能都快刷满了(Claude-opus-4.7 单技能 95.0),放进跨技能链照样掉到 88.8。切换本身在消耗准确率。

"近乎单调"这个说法要打个问号。 我核对原表时发现,O4-mini 的中熵(60.8)反而比低熵(59.9)高,GPT-5.4-mini 的高熵(42.7)也比中熵(39.2)高,Qwen3-4B 高熵(26.0)同样高于中熵(24.9)。大模型上趋势干净,小模型上噪声明显——考虑到小模型分数本身就低、方差又大(±1.4 到 ±2.4 的误差区间),这个"单调性"在小模型端其实没那么稳。作者用了"nearly monotonically"的措辞,还算诚实,但读的人要心里有数。

失败模式被定位得很具体。 最大的跨技能失败模式是:做到后面的步骤时,模型倾向于沿用前一步的技能和答案形式,而不是切到当前步骤需要的技能。

图5:跨技能失败模式分解

图5:左图是"干扰分解"——那些在单技能模式下能做对、跨技能模式下做错的步骤里,红色部分是"连技能家族都报错了",棕色是"技能对了但答案错了"。GPT-5.5 只有约 11% 的单技能正确步骤在跨技能下翻车,Qwen3-4B 高达约 68%,而且其中将近三分之二(约 45 个百分点)是技能选错。右图更扎心:按技能选择分组看准确率,跨技能且技能家族选对(浅绿)时准确率只比单技能(深绿)略低,可一旦技能家族选错(红),准确率直接腰斩——Qwen3-4B 从约 46% 掉到约 14%。

"选错技能 ≈ 这步白给",这就是后面训练方法要打的靶子。


🔧 Skill-Entropy RL:让模型先报技能名,再给答案

发现失败模式之后,作者做的事情顺理成章:既然问题是"模型没有意识到该切技能了",那就让模型在每一步显式承诺自己要用的技能,然后拿技能熵当裁判来打分。

输出格式是这样的:

<think> [推理过程] </think>
<skill> Domain_1, Skill_1 </skill><answer> 第 1 步答案 </answer>
...
<skill> Domain_L, Skill_L </skill><answer> 第 L 步答案(最终答案) </answer>

奖励用 GRPO 训练,由两部分加权组成:

\[r = \lambda_{\text{ans}} \, r_{\text{ans}} + \lambda_{\text{ent}} \, r_{\text{ent}}\]

\(r_{\text{ans}}\) 就是逐步准确率的均值,没什么特别。关键是技能熵奖励:

\[r_{\text{ent}} = 1 - \big| \hat{\rho} - \rho^{\star} \big|\]

其中 \(\hat{\rho}\)\(\rho^{\star}\) 分别是模型预测的技能序列和金标技能序列算出的任务级技能熵在训练分布上的分位排名。预测技能先通过 embedding 相似度映射到技能库里最近的条目,再算熵——所以模型报一个语义相近的技能也能拿到分,不要求一字不差。

这个设计有个挺聪明的地方:它不直接奖励"技能名报对",而是奖励"预测技能序列的切换难度 profile 和金标对齐"。报了个同义技能?没关系,熵差不多就行。这比硬匹配宽容得多,也更贴合"熵"这个量的本意。

训练细节:9K 条跨技能任务(全部来自六个可验证领域),3K 条 Qwen3-8B 教师轨迹做 SFT 预热(4 个 epoch,学习率 1e-5),6K 条做 RL(GRPO,group size 8,prompt batch 256,学习率 1e-6,KL 系数 \(10^{-3}\),clip 0.2,8 张 H100)。奖励权重 \(\lambda_{\text{ans}} = 0.7\)\(\lambda_{\text{ent}} = 0.3\)

注意一个重要的实验设计:三个开放领域只出现在评测里,训练完全没见过。 这是为迁移性留的考题。

🧪 训练结果:34.4 → 68.4,还能迁移到没见过的领域

方法 Qwen3-4B-Instruct 总分 Qwen3-1.7B 总分
Base model 34.4 14.6
SFT 55.8 30.6
GRPO(仅答案奖励) 58.8 32.2
Skill-Distill 58.1 32.4
SkillRL 59.3 32.7
STAT 61.4 33.0
Skill-Entropy RL 68.4 40.1

表3:九领域平均的 Skill²-Bench 总分对比。GRPO 那一行正好就是"去掉技能熵奖励"的消融,所以 Skill-Entropy RL 对 GRPO 的领先(+9.6 / +7.9 个点)干净地分离出了技能熵奖励本身的贡献。对最强的技能感知 baseline STAT 也领先 7 个点以上。

几个亮点值得说。

提升不只是学会了答题格式。 Skill-Entropy RL 的跨技能分数甚至超过了 base 模型的单技能分数——这说明训练提升的是底层技能运用,不只是"学会在链式任务里别慌"。

迁移到了训练时没见过的开放领域。 九个领域里七个拿到最优,涨幅最大的是创意写作(Qwen3-4B 上 85.6,而 GRPO 只有 68.8)——要知道 RL 只在六个可验证领域上做的。技能熵奖励学到的东西显然超出了训练分布。论文还报了五个外部 benchmark(MuSR、LongBench-MuSiQue、GPQA-Diamond、MMLU、IFEval),两个模型尺寸下平均分也都是最高。

图3:案例研究

图3:一个两步任务的真实案例。场景是"分析博物馆直角三角形主题藏品":第一步算一幅画的面积,第二步为展览头脑风暴一个主题。Base 模型第一步用 Geometric Calculation 算对(4096 ✓),但第二步被前一步"带跑"了——继续报了个 Geometric Analysis 技能,甩出一个短答案"Painting R"(✗)。Skill-Entropy RL 训练后的模型第二步干净地切到 Theme Creation,输出了成段的展览主题文案(✓)。技能选择和答案形式的切换都利索了。

🔌 即插即用:插进 OpenR1-Math 也好使

最后一组实验回答了工程上最实际的问题:我的训练数据不是跨技能任务,能用吗?

能。拿 OpenR1-Math 这种普通数学推理数据集,让 Qwen3-8B 把每条推理轨迹切成步骤、逐步打上技能库里的标签,就能算出任务级技能熵,把每步的中间结论当金标答案,然后走同一套 SFT 加 RL 流程。

图4:OpenR1-Math 上的训练曲线

图4:最终答案奖励随训练步数的变化。纯 GRPO(绿)早期涨得略快但很快在 0.60 附近躺平,叠加技能熵奖励(橙)之后持续爬升到 0.63 左右还没饱和。下游六个数学 benchmark 上,Skill-Entropy RL 全部最优,比 GRPO 平均高 1.9 个点,比 base 高 7.7 个点。

1.9 个点不算惊艳,但考虑到数据管线一行没改、只是奖励里加了一项,这个性价比是可以的。技能熵作为可复用训练信号这个 claim,算是立住了。


🤔 泼几盆冷水

夸完了,说几个让我皱眉的地方。

技能熵是"模型相关"的度量,循环依赖的风险真实存在。 技能熵拿 Claude-opus-4.7 当参考模型算出来,开放领域的 LLM judge 也是 Claude-opus-4.7,而 Claude-opus-4.7 自己又是被评测对象之一。参考模型换一家,熵的排序会不会变?作者在附录里做了熵排序稳定性分析和与人类判断的对齐实验,算是意识到这个问题了,但"难度刻度由某个具体模型的行为定义"这件事本身,始终是个哲学上不太舒服的设定——它度量的是"对 Claude 来说难切的技能",只是经验上对别的模型也大致成立。

r_ent 奖励的是"熵排名对齐",不是"技能选对"。 这个设计的宽容性是优点也是漏洞:理论上模型可以报一串错技能、只要凑出来的熵排名碰巧接近金标就能拿满分奖励。实践中 embedding 映射缓解了多少这种问题,论文没有给出 r_ent 的作弊率分析,这块我觉得是欠了账的。

评测规模偏小。 300 道测试任务,摊到 9 领域 × 3 难度 × 不同长度,每格没几道,小模型上的误差区间已经大到让"单调性"打折了。再有就是 Skill-Distill、SkillRL、STAT 这几个 baseline 都是同期工作,复现质量如何读者无从判断——Skill-Entropy RL 对它们的领先幅度(7 个点)远大于对 GRPO 消融的领先所暗示的"应该差距",这点我持保留态度,可能我的理解有偏差,也可能是 baseline 调优不充分。

""这个词有蹭热度的嫌疑。 说到底它就是个平滑后的准确率比值,跟信息论里的熵没有形式上的关系。类比可以接受,但别真当熵去解读。

💡 我的判断

这篇论文最值钱的地方不在任何一个单点创新,而在那个闭环:用评测发现失败模式 → 把度量失败模式的量直接改造成训练奖励 → 训练后再用同一个 benchmark 验证。Skill²-Bench 暴露的"技能沿用"失败模式(选错技能家族准确率腰斩)是实打实的观察,Skill-Entropy RL 的"逐步报技能名加热熵奖励"是对这个观察的直接回应,OpenR1-Math 的即插即用实验则把方法的适用范围从"专用数据"扩到了"任何带推理轨迹的数据"。

对工程的启发很直接:

  • 如果你在做多步 agent 的 RL 训练,让步进式的中间结构(这里是技能标签)进奖励,比只盯最终答案奖励多拿到的那几个点,可能是现在性价比最高的改进方向之一;
  • 如果你在自建评测,"参考模型相关的难度度量"这个思路(拿一个强模型的行为差异来标定任务难度)值得借鉴,但要注意循环依赖;
  • 小模型(1.7B 到 4B)在跨技能任务上的提升空间巨大(14.6 → 40.1 还有一倍多的路),端侧 agent 场景这可能是下一个兵家必争之地。

至于"Skill-Native LLM"这个大词,我的态度是:方向对,但现在说"native"还早——模型只是学会了报技能名并且报得越来越准,它是不是真的内化了"何时切换"的判断,还是只是学会了一个拿分的表面动作,需要更细的行为分析才能下结论。


觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我