论文链接:arxiv.org/abs/2608.13173 发表时间:2026年8月(arXiv v1: 2026-08-13,cs.AI) 发表机构:北京航空航天大学 + 山东大学 通讯作者:Shuyue Wei(山东大学,weishuyue@sdu.edu.cn)
一、论文背景
1.1 Agent 技能:能整体打分,却看不清内部
LLM Agent 执行长程程序性任务(编码、文档处理、数据分析)的关键机制之一是技能(skill)——一份步骤化的自然语言规范(通常是 skill.md 文件),引导 Agent 走完一个复合任务。技能与工具、工作流模块一起,构成了 SWE-agent、ReAct、DSPy、Toolformer 等系统的能力底座,让基座模型无需再训练就能获得大幅能力提升。
但技能设计至今仍是"试错式手艺活"。Benchmark 能告诉你这个技能整体表现如何,却回答不了哪一步真正在干活、哪一步是冗余。没有步级归因,实践者只有两个糟糕的选项:要么过度规格化技能——浪费上下文和成本;要么盲剪——承担性能悬崖式崩溃的风险。
1.2 现有方法的方法论空白
论文指出,三类现有工作都没有触及"固定技能内单步赋值"这个问题:
- 提示优化:把提示或程序当作整体来改进,不解释性能来自哪些组成部分;
- 提示压缩:识别可压缩的 token,粒度在词元而非语义步骤;
- 工作流优化:改进执行结构,但结构不是技能内部的步骤价值。
结果就是:“这个 Agent 技能里哪些步骤真正在起作用"至今没有清晰的提问框架。
1.3 一个直觉类比:球队与真实贡献
想象一支球队只能看总比分。赛季结束了,你知道球队赢了 70% 的比赛,但不知道每个球员的真实贡献。于是你想到了一个办法——让每个球员在所有可能的出场组合里都打一遍替补,然后平均他在每种组合下的边际贡献。这就是 Shapley 值的思路。
但马上遇到现实问题:每换一套阵容就要真打一场比赛,太贵了。n 个步骤对应 2^n 个联盟子集,每评估一个新联盟都要让真实的 LLM Agent 在 benchmark 上完整跑一遍。这就是 SkillShapley 要解决的核心矛盾:归因的理论框架早已有之,昂贵的是评估本身。
BAES(Boundary-Adaptive Edge Shapley)就是那套"聪明的赛程安排”:教练组先在 warmup 阶段安排各种阵容都打一打(空场、全主力、单核、缺一人),摸清哪些位置组合"胜负难料";之后专挑**“比分悬而未决且排兵布阵有争议”**的比赛来看——而不是把预算均摊在大量毫无信息量的悬殊局上。
二、论文定位与关联工作
2.1 三条相关研究线
Agent 技能线:ReAct、Toolformer 等推理-行动框架奠定了外部程序性知识的地位;SkillsBench 把 Agent 技能形式化为结构化程序性知识,提供了精选技能集与确定性验证器;后续工作(SkillAxe 自精炼、SkillReducer token 效率优化、SkCC 跨框架编译)都在改进技能集合或技能整体——但都不给固定技能内的单步打分。
指令归因线:探测 prompt 内容、token/span 级重要性分配(TokenSHAP 等)提供了细粒度证据,但归因单元是文本片段,不是语义过程步骤。
Shapley 估计线:从特征重要性(SHAP)、数据估值(Data Shapley),到排列采样、分层采样、FastSHAP 摊销估计器,近似方法已经很丰富。但大多数现有估计器假设联盟评估相对便宜——这与"每个新联盟都要真实执行一遍 LLM Agent"的技能场景正好相反。
2.2 SkillShapley 填的缺口
在三条线的交叉处,本文做了两件事:(1) 把技能步骤当作 Shapley 玩家,首次将技能步级归因形式化为合作博弈归因问题;(2) 提出 BAES,一种cache 感知的预算化主动近似方法,专门匹配技能评估的成本结构与奖励饱和模式。
论文要回答三个递进的研究问题:(1) Shapley 值对自然语言技能步是否有行为意义;(2) BAES 能否在更小的唯一配置预算下逼近精确 Shapley 排序;(3) 归因结果能为技能的剪枝、修订与创作提供什么可操作启示。
三、问题定义
3.1 合作博弈建模
把一个固定技能切分为 n 个语义连贯的步骤,索引集合 N = {1, …, n},每个步骤是一个玩家。切分基于 skill.md 正文:块可以对应任务入口指引、决策规则、API 示例、校验说明或常见陷阱;紧耦合的代码片段不拆开,以免语义不完整。
一个玩家子集 S ⊆ N 对应一个联盟——保留恰好这些步骤、且保持原顺序的技能变体。注意联盟不是重写过的提示,而是"同一技能上下文、只裁剪步骤集合"。
为了让归因良定义,除被选步骤外的一切因素都固定:frontmatter 始终保留(保证技能可被发现和加载)、非目标上下文、benchmark 实例和评分规则全部不变。联盟的价值就是它测得的 benchmark 效用:
$$v(S) = \frac{1}{M}\sum_{j=1}^{M} r(o_j(S), y_j)$$其中 r(·,·) 是任务评分函数——在很多技能 benchmark 上是二元成功指示器,于是 v(S) 就是经验成功率。
3.2 目标:Shapley 值及其分层形式
步级归因的目标是贡献向量 α = (α1, …, αn)。本文用 Shapley 值实例化它:
$$\phi_i = \sum_{S \subseteq N \setminus \{i\}} \frac{|S|!(n-|S|-1)!}{n!}[v(S \cup \{i\}) - v(S)]$$等价的按大小分层形式更关键:
$$\phi_i = \frac{1}{n}\sum_{k=0}^{n-1} \mathbb{E}[\Delta_i(S) \mid |S|=k,\ i \notin S]$$其中 Δi(S) = v(S∪{i}) − v(S) 是一步边际贡献。这个形式把目标切分成"玩家-联盟尺寸"分层 (i, k),分离了不确定性在不同联盟尺寸上的分布——这正是 BAES 自适应采样的着力点。
3.3 问题的真正瓶颈
数学框架是标准的,真正的约束在成本侧:观测 v(S) 需要用技能变体 XS 在 benchmark 实例上真实执行 LLM Agent,每一个新联盟的评估都可能很贵。n=10 时精确枚举需要 1024 个配置,每个配置要跑 M 道题——精确 Shapley 只在少步数技能上可行,而现实技能往往更长。如何用最少的唯一配置评估逼近精确 Shapley 排序,就是 BAES 的战场。
四、论文解法:BAES 两阶段主动近似
4.1 三个经验洞察(方法的地基)
BAES 的设计不是从理论推出来的,而是从技能评估的三条经验观察里长出来的:
洞察一:配置成本主导一切。 算术上的边际比较几乎免费,贵的是决定"评估哪个新配置"。所以算法必须让每个新配置尽可能多地产生可复用的一翻转(one-flip)缓存比较——新配置 C 与缓存中所有"只差一个玩家"的邻居自动形成多条边际边。
洞察二:奖励离散且噪声大。 每个配置只在小题集上打分(本文实验中每配置 3 题,奖励只能取 {0, 1/3, 2/3, 1}),联盟间的观测性能会剧烈跳变,性能曲线呈"悬崖状",某些分层的不确定性远高于其他分层。
洞察三:奖励大面积平坦。 大量相邻联盟的奖励相似,在这些区域继续评估几乎不带来新信息。有用的样本是那些能暴露边际效应跨分层变化的研究对象——这暗示自适应分配而非均匀采样。
4.2 Warmup 阶段:先建覆盖,再谈利用
BAES 维护一个已评估配置的缓存 D,并把每条观测到的一翻转比较记录到对应分层 (i, k)。随缓存增长,每个分层维护经验均值 μ̂、方差 σ̂² 和计数 m,并计算分配分数:
$$a_{i,k} = \frac{\sqrt{\hat{\sigma}_{i,k}^2 + \epsilon}}{\sqrt{m_{i,k} + 1}}$$高方差、欠采样的分层获得更高优先级。注意这里的"不确定性"是经验性的而非模型性的——BAES 不预测未评估联盟的奖励,只是把新评估引向"观测到的边际效应仍然波动或覆盖不足"的分层。
Warmup 从评估锚点配置开始:空集 ∅、全集 N、所有单例 {i}、所有 (n−1) 子集。这些配置与大量其他配置只差一个玩家,能瞬间产生海量边际边。随后用贪心 cache 感知规则扩展中间尺寸:优先选择缓存一翻转邻居最多的候选配置(平局按联盟位串字典序打破)。
这里有一个重要的设计判断:为什么不从头就贪心? 因为如果纯贪心,早期随机波动可能把采样锁死在少数分层上,形成"以偏概全"的路径依赖。Warmup 的目的不是产出最好的估计,而是稳定各分层的相对优先级排序——让算法能区分"真不确定"和"只是还没观测过"。Warmup 的停止判据 RankUnstable 用 Kendall τ 比较相邻两轮分配分数排序:当 τ 改进量的指数移动平均跌破观测峰值的 1/e(且至少观测过 60 个分层),说明排序已稳定。
4.3 自适应阶段:专挑"胜负难料且布阵有争议"的比赛
进入自适应阶段后,BAES 对每个未评估配置 C 计算采集分数:
$$A(C) = \sum_{i:\, C \triangle \{i\} \in D} a_{i,k} \cdot \hat{b}(v(C \triangle \{i\}))$$求和跑遍缓存中的一翻转邻居,k 是该边对应的上下文尺寸;b̂ 是缓存奖励权重 b̂(v) = 1 + max{0, round((1−v)/g)},给低分缓存状态的邻居更高优先级——直觉上是"悬崖附近才是信息最密集的地方"。每次评估使 A(C) 最大的未评估配置,加入缓存,更新受影响分层的统计量。
由于采集分数依赖不断演化的缓存,BAES 天然是数据依赖的:一个联盟值不值得评估,取决于它的哪些邻居已经被评估过。这正是它能把评估集中到搜索空间最有信息量区域的原因。
4.4 停止与估计
停止规则 UncertDec 监控按奖励粒度 g 归一化的标准误信号(NSE 分母取 max(|φ̂max|, g),防止对低于 benchmark 分辨率的数值变化过度反应):当 NSE 轨迹在去相关窗口上的近期斜率不再下降(且至少 85 个分层被观测)就停,或触达预设预算上限。
最终返回分层估计器:
$$\hat{\phi}_i = \frac{1}{n}\sum_{k=0}^{n-1} \hat{\mu}_{i,k}$$若极小预算下仍有空分层,用 Fill 以同尺寸 k 的观测层均值填补(该尺寸无观测则填 0)。
4.5 诚实的自我定位:有偏但有用
论文在第 4.4 节主动说了一件很多方法论文会回避的事:BAES 不是无偏估计器。自适应阶段故意在不确定分层多采样,所以式 (9) 的经验层均值是为"低预算排序恢复"优化的,而非层内均匀随机采样。当预算足够大、每个分层都被直接观测且无需 Fill 时,它退化为标准的经验分层平均;在有限预算下应理解为以排序恢复为导向的有偏近似。这与使用场景匹配——实践者需要的是"足够接近、能指导保留/检查/剪枝哪些步骤"的低成本估计,而不是数值误差可忽略的标量。
五、必要知识反推
换一个视角:如果让一个没有相关背景的人从零完成这项工作,他必须掌握哪些知识?
发现问题需要的知识:(1) 对技能生态的实感——必须亲手写过、调过 skill.md,才能体会"整体分数已知、单步贡献未知"的痛点;(2) 归因方法谱系图——知道提示优化/压缩/工作流优化各自停在哪个粒度,才能识别"固定技能内单步赋值"是空白;(3) Shapley 值的经典应用版图(SHAP 的特征重要性、Data Shapley 的数据估值),才能想到把"玩家"从特征/数据点换成自然语言程序步骤。
解决问题需要的知识:(4) 合作博弈的形式化功底——联盟、效用函数、Shapley 值的分层展开,这是把模糊诉求变成可计算问题的语言;(5) 主动实验设计/采样理论——分层方差估计、Kendall τ 排序稳定性、标准误轨迹、去相关窗口,这些来自统计实验设计的工具撑起了两阶段调度;(6) LLM Agent 评估的工程经济学——真正跑过 agent benchmark 的人才知道成本大头在"新配置的真实执行"而非算术比较,cache 感知设计直接源于此。
知识融合的关键一跳:把 (6) 的成本结构洞察翻译成 (5) 的采样目标——“每花一次评估,最大化可复用边际边的期望产量”。这是本文方法创新的支点。
六、实验结果解读:两条因果链
论文实验在三 SkillsBench 任务上展开:offer-letter-generator(n=10,1024 个精确配置)、manufacturing-fjsp-optimization(n=9,512 个)、dialogue-parser(n=11,2048 个)。统一用 OpenHands harness、温度 T=0、每配置 3 题(g=1/3)、预算 B=3n² 且 R=⌊0.4B⌋。理解实验的关键是把结果串成因果链,而不是孤立看指标。
6.1 因果链一:为什么 Shapley 的移除曲线最陡
起点是评估环境的两个硬约束:二元奖励 + 少题集。 每个配置只跑 3 道题,奖励只能取 4 个值。在这种粗粒度下,Individual(单独评一步)和 LOO(从满配删一步)这两个基线会大量并列——很多步骤的单独分都是 0 或都是满分,LOO 差分也挤在 0 附近,信息量塌缩,排序失去分辨率。
Shapley 的解法是跨联盟上下文平均边际贡献。 它不只看"单步 vs 空集"或"全配 vs 缺一步"这两个极端场景,而是在所有 2^(n−1) 个上下文里问"加入这一步改变了多少"。一个步骤在不同联盟下时灵时不灵的波动,被平均过程沉淀为分化的数值——排序分辨率恢复了。
终点是行为验证:移除曲线更陡。 实验 1 按各方法的排序逐步删除 top 步骤,度量"不含被删步骤的所有联盟的平均成功率"。如果一个方法真识别出了重要步骤,删掉高排名步骤应该造成比随机删除更快的性能崩塌。结果是在全部三个任务上,精确 Shapley 的移除曲线下降最快,优于 Individual、LOO、Random Removal 和 LeastCore。这条链的意义在于:它先验证了"目标本身值得逼近",再去近似它——如果 Shapley 排序本身没有行为意义,后面近似得再准也是白费。
6.2 因果链二:为什么 BAES 同预算误差更低
起点还是那两个约束,换一个方向发力:配置贵 + 奖励平坦。 每个新联盟都要真实跑 agent,而联盟空间里大片区域奖励相近——均匀采样(如标准蒙特卡洛排列采样)会把宝贵的配置预算大量洒在无信息区域。
BAES 的解法是 cache 感知采集。 warmup 用锚点配置(∅/N/单例/(n−1) 子集)快速建立分层覆盖,贪心扩展时优先挑"缓存一翻转邻居多"的配置;自适应阶段每个新配置都瞄准高优先分层的一翻转边密集区。于是同样花一次评估,BAES 的边际证据产量更高。
终点是可量化的 cache 效率差距。 10 玩家技能的试点实验:同样 99 个唯一配置预算下,BAES Phase 1 产出 206 条可复用一翻转边际边,而 MC 排列采样产出 130 条排列边际观测——其中只有 115 条是唯一的(重复观测被浪费)。实验 2 在递增预算下对比 BAES、MC Shapley、QMC、paired MC 和 size-k 截断,BAES 在更小预算下就达到更低的逼近误差(对精确 Shapley 的逐玩家 MAE)。
一个诚实的反直觉诊断:token 成本与联盟大小关系弱。 Dialogue Parser 的 token 开销诊断显示,不同联盟尺寸组的中位成本相近、区间大量重叠——token 开销取决于保留了哪些语义块和辅助上下文,而非块的数量。所以归因引导的编辑应理解为"移除低价值内容",不保证 token 按比例节省。这个诊断防止读者对方法做过强承诺。
七、案例洞察与局限
7.1 高价值步 = 程序性桥梁,低价值步 = 行动不完的背景
跨三个任务的案例研究指向一个统一模式:步骤价值由程序性角色解释,而非表面形式。
高价值步骤是程序性桥梁(procedural bridges)——把任务条件连接到可执行决策规则、API 操作或约束感知回退。三个典型样本:
- FJSP P9(代码块,φ = 0.1155,全文最高价值之一):一个"何时考虑换机"的触发逻辑——先试基线机床,若开工偏移超过阈值 THRESH=6 且换机次数还有余量,再搜索全机床候选。“naive 地永远保基线机床会导致大的开工偏移"这一洞见被编码成了一个可执行的触发器。
- Offer Letter:占位符替换与表格、嵌套表格、页眉页脚的组合操作——文档任务里真正决定成败的机械步骤。
- Dialogue Parser:把用户场景连接到具体建图动作(节点构造、校验、可视化)。
低价值步骤往往局部正确但行动不完(locally correct but action-incomplete)——提供背景事实或孤立帮助信息,却不改变 Agent 的下一个决策。最典型的是 Offer Letter P2(纯解释文本,φ = −0.0194):一句解释"这可能由拼写检查、格式变更或 Word 内部 XML 结构引起”——读起来合理,但对决策毫无输入,删掉它性能反而略微变好(少了一段可能带偏注意力的文本)。
由此得出技能写作的核心启示:有效的技能应写成紧凑的、决策完备的指导单元——每个单元自带条件、决策与回退——而不是更短的文本或互不相连的片段。论文还给出了一个可操作的工作流闭环:固定技能 → (可行时用精确 Shapley、否则 BAES)估计步值 → 提议一两处低价值删除或高价值强化 → 用与实验 1 相同的移除曲线协议验证编辑。技能编辑从盲试错变成"假设-编辑-再评估"的可测量循环;归因反复浮现的桥梁模式,也反过来指引未来技能该把哪些条件、决策、回退显式写出来。
7.2 局限:结构必要性 ≠ 步骤有用性
论文自己点明的最重要的坑:强耦合装配线型工作流。如果技能的中间步骤是"承重墙"——删掉任何一环整条流水线崩溃——那么所有相关步骤都会拿到很大的 Shapley 值,但这反映的是结构上的必要性,而非步骤内容的有用性。此外,SkillShapley 最适合固定玩家集、benchmark 信号相对稳定的场景;动态长度工作流和高度主观的评估标准会让底层合作博弈定义不良。精确参照分析也局限于少步数技能——这既是诚实的边界声明,也是未来工作的入口(扩展精确锚点、不确定性感知编辑决策、多技能 Agent 管道与更丰富评估信号)。
八、论文中可以提取的通用性灵感
灵感一:合作博弈归因可迁移到任何"组件组合产生整体效果"的系统
只要一个系统的产出由组件子集的组合决定,“组件=玩家、子集=联盟、整体指标=效用函数"的建模就成立。候选迁移对象:prompt 段落(哪些段落真正驱动了输出质量)、工具集(RAG 管道里检索器/重排器/生成器各组合的边际贡献)、团队流程(哪些会议/审批环节真正影响交付质量,哪些只是惯性)。难点永远不在建模而在评估成本——于是这条灵感和下一条天然配套。
灵感二:“先建覆盖、再贪心利用"的两阶段实验预算分配范式
BAES 的两阶段调度是一个通用的昂贵实验预算分配模板:warmup 用高杠杆锚点实验(空集/全集/单例/缺一)建立全景覆盖、稳定优先级排序;确认排序不再漂移后,剩余预算全部投入"高不确定 × 高信息密度"区域。 这可直接迁移到 A/B 测试预算分配、超参搜索(先广撒锚点配置再聚焦不确定区域)、以及任何"单次实验贵、实验间可复用差分"的场景。配套的还有两个可复用的工程细节:把"实验对"的可复用差分边当作一等公民来优化(一次实验的价值=它能与多少已完成实验形成有效对比);停止判据按测量仪器的分辨率归一化(低于 g 的变化不值得反应)。
灵感三:程序性桥梁 > 背景知识——一条文档写作原则
“连接条件→决策→回退的紧凑单元"这个高价值模式,不止适用于 skill.md。写 API 文档、运维手册、SOP、甚至给同事的交接说明时,同样可以自问:这一段是否改变了读者的下一个动作? 局部正确但不改变决策的背景解释,在信息过载环境里成本可能为负(分散注意力)。把每段写成"if 条件 then 动作 else 回退"的决策完备单元,是比"写短"更正确的优化目标。
灵感四:诚实声明"有偏但面向用途"的方法论姿态
BAES 不宣称无偏,而是明确说自己是"预算下排序恢复导向的有偏近似”,并用与用途匹配的评估协议(同预算 vs 精确参照)来验证。这种姿态在近似方法设计中很有示范意义:当无偏性与目标效率冲突、且下游用途只关心排序时,为排序恢复优化、同时把偏置说清楚,比坚持教科书性质更诚实也更有用。
灵感五:先验证目标、再优化逼近的实验设计顺序
论文的三段式实验——先证 Shapley 排序有行为意义(目标值得逼近)→ 再证 BAES 能低成本逼近它 → 最后把归因翻译成编辑指导——是一条环环相扣的证据链。如果第一步失败,后两步毫无意义。这个"目标有效性 → 逼近效率 → 应用价值"的验证顺序,值得任何做近似/加速方法的工作借鉴。
九、结语
SkillShapley 做的事情,本质上是把 Agent 技能从"黑盒整体"变成"可审计的步骤组合”。它没有发明新的归因数学——Shapley 值是 1953 年的;它的贡献在于认真对待了技能评估的经济学:配置贵、奖励粗、空间平,这三条经验事实塑造了 BAES 的每一个设计决策,从锚点 warmup 到 cache 感知采集再到按奖励粒度归一化的停止规则。
对实践者,最有直接价值的可能是案例部分那条朴素结论:技能里的高价值步骤是程序性桥梁,低价值步骤是不改变决策的背景解释——后者删掉往往无损甚至微赚。下次写 skill.md 或任何指导性文档时,先自查每一段是否"决策完备”,可能比任何算法都便宜。
对研究者,这篇论文开的是一条新赛道:步级归因只是第一步,多技能管道归因、不确定性感知编辑、更丰富的评估信号都在 future work 清单上。而"把昂贵评估当作一等公民来调度"的思路,大概率会出现在更多 LLM 系统测量的论文里。