SkillsInjector: Dynamic Skill Context Construction for LLM Agents

agent 2605.29794 — Cross-paper Synthesis

SkillsInjector — L3 Per-Paper Synthesis #

§1 相关论文 #

SkillsInjector 处于 skill selection + context adaptation 的交叉点,与四篇论文形成一个覆盖 skill 生命周期不同阶段的 cluster:

论文关系理由
SkillRouter (2603.22455)上游替代 / 直接对比 baseline同属 skill selection 问题,SkillRouter 是 SkillsInjector 的 tau2-telecom best baseline(62.8%)[2605.29794],两者共享 tau2-bench / SkillsBench 评测集
SkillReducer (2603.29919)正交互补SkillReducer 在 build-time 压缩 skill 文本,SkillsInjector 在 inference-time 改写 skill 描述——两者操作同一 artifact 的不同阶段,优化目标互补(token 效率 vs 执行效用)
MOCHA (2605.19330)优化目标形式化对比MOCHA 将 skill 优化形式化为多目标(correctness vs compliance),SkillsInjector 将 skill selection 形式化为单目标(execution-grounded utility $\mathcal{U}$)——两者在"skill 质量如何度量"上有根本分歧
MUSE-Autoskill (2605.27366)生命周期上下游MUSE 覆盖 skill 创建→评估→迭代,SkillsInjector 聚焦已有 skill 的 selection + presentation——MUSE 的 Skill Bank 输出正是 SkillsInjector 的输入

Cluster 共性: 五篇论文共同确认一个核心命题——agent skill 从"有就好"进入"怎么用"阶段。Full-library injection 的灾难性后果 [2605.29794](24.8%,低于 40.2% no-skill baseline)驱动了整个 cluster 的研究动机。

§2 本篇 vs 相关论文的 delta #

2.1 vs SkillRouter — 从表面相似到执行效用 #

SkillRouter 和 SkillsInjector 都解决"从大池子里选 skill"的问题,但在三个维度上分叉:

维度SkillRouterSkillsInjector
排序信号Embedding 相似度(即使用 full-text)[2603.22455]执行效用 $\Delta(t,s)$(rollout-derived)[2605.29794]
候选集规模~80K skill pool [2603.22455]~50–82 skills per domain [2605.29794]
输出Ranked list → agent 接收 name+descRendered context → agent 接收改写后的 skill 描述

关键 delta:SkillsInjector 的 insurance-keyword case study 直接攻击 SkillRouter 的假设——surface similarity 高的 skill 可能 $\Delta = -0.20$,而真正有用的 policy-reference skill 却 $\Delta = +0.40$ [2605.29794]。SkillRouter 的 false-negative filtering [2603.22455] 解决了训练数据中的 overlap 污染,但无法在推理时区分"表面相似但执行有害"的 skill。

但 SkillRouter 在 scale 上远超 SkillsInjector:80K pool vs ≤82 skills。SkillsInjector 的 $\Delta$ 信号需要 per-(task, skill) rollout,在 80K pool 上计算成本是天文数字。两者事实上面向不同 scale regime。

2.2 vs SkillReducer — build-time 压缩 vs inference-time 改写 #

SkillReducer 和 SkillsInjector 的 renderer 都修改 skill 文本,但方向相反:

两者共享一个 insight:skill 文本的原始形式对 agent 不是最优的。但 SkillReducer 的 less-is-more effect ($p = 0.002$) [2603.29919] 与 SkillsInjector renderer 的增写策略表面上矛盾。实际上不矛盾——SkillReducer 去除的是 task-irrelevant bloat,SkillsInjector 增加的是 task-specific disambiguation。两者可以串联:先 SkillReducer 去噪,再 SkillsInjector 按 task 改写。

2.3 vs MOCHA — 单目标 vs 多目标 #

MOCHA 发现 baseline optimizers 在 4/6 任务上 1000 rollout 零进展 [2605.19330],根本原因是将 correctness 和 compliance 折叠为单标量。SkillsInjector 的 planner 优化的正是这种单标量——$\mathcal{U}(t, \tilde{\mathcal{C}}) = \mathbb{E}[r(\tau)]$ [2605.29794],完全忽略 compliance 约束。

这暴露了 SkillsInjector 的一个隐含假设:selected skill set 的质量可以用 binary task success 完全度量,不需要考虑 interaction cost、token budget、或 platform constraints。Table 2 的 $\bar{M}$ 指标 [2605.29794] 间接度量了 interaction cost,但 $\bar{M}$ 未进入 planner 的训练目标。

MOCHA 的 Chebyshev scalarization 保证 non-convex Pareto front 完备覆盖 [2605.19330]。如果 SkillsInjector 的 planner 被扩展为多目标(pass rate × message count × token cost),Chebyshev parent selection 可以直接替换当前的 threshold-based admission。

2.4 vs MUSE-Autoskill — 已有 library vs 动态创建 #

MUSE-Autoskill 的核心 delta 是将 skill 创建嵌入 ReAct runtime loop [2605.27366],在 35 task 上自生成 skill 达 87.94% 超越人工 skill ceiling [2605.27366]。SkillsInjector 完全假设 skill library 预先存在且冻结——planner 和 renderer 都不修改 skill body [2605.29794]

两者的 bottleneck 互补:

MUSE 的 catalog progressive disclosure [2605.27366](仅注入 name+desc YAML catalog)与 SkillsInjector 的 rendered context 形成对比——MUSE 依赖 agent 按需 read_skill,SkillsInjector 预先为 agent 构建完整上下文。

§3 可攻击面 #

3.1 $\Delta$ 信号的 scalability 瓶颈 #

SkillsInjector 声称执行效用 $\Delta(t,s)$ 是更好的排序信号 [2605.29794],但这个信号的获取成本极高:82 skills × 50 tasks × 5 seeds = 20,500 rollouts(仅 tau2-airline 一个 domain)[2605.29794]。SkillRouter 在 80K pool 上运行 [2603.22455]——同等规模下 SkillsInjector 需要 80,000 × 50 × 5 = 20M rollouts,每个 rollout 涉及 multi-turn 235B model interaction。这使 $\Delta$ 信号在 production-scale skill pool 上不可行。

论文将此定性为"supervision-bottlenecked"(encoder scaling 0.6B→8B 仅 ≤1.9 pp gain)[2605.29794],但未讨论 $\Delta$ 的 sample efficiency 或 transfer across domains。每个 domain 需要独立的 $\tau^\star_d$ [2605.29794],意味着新 domain 从零开始。

3.2 实验 scale 与 SkillRouter 不可比 #

SkillsInjector 在 tau2-bench(~50–82 skills per domain)和 ALFWorld(LLM-distilled skills)上评测 [2605.29794]。SkillRouter 在 ~80K pool 上评测 [2603.22455]。两者虽共享 SkillsBench,但 SkillsInjector 从未在 1000+ skill pool 上验证。当 candidate pool 规模增加 3 个数量级时,planner 的 MLP scorer 是否仍能从 0.6B embedding 中区分 execution utility 是未知的。

3.3 renderer 增写 vs less-is-more #

SkillReducer 以统计显著性 ($p = 0.002$) 证明了 less-is-more [2603.29919]:压缩后 skill 以 0.742 超越原始 0.722。SkillsInjector 的 renderer 向描述添加 scope clauses 和 role boundaries [2605.29794]。如果 less-is-more 在 SkillsInjector 的 benchmark 上也成立,renderer 的增写可能在减少 $\bar{M}$ 的同时引入了 attention dilution。Table 2 的 ablation 显示移除 renderer 的 pass-rate 影响较小(主要影响 $\bar{M}$)[2605.29794],这与 SkillReducer 的核心发现一致——但 SkillsInjector 未控制 rendered 描述的 token 长度变化。

3.4 compliance 的隐性违反 #

MOCHA 明确展示了 correctness gain 伴随 body compliance 从 .83 降到 .33 [2605.19330]——skill 优化几乎必然违反 platform 约束。SkillsInjector 的 renderer 改写 skill 描述但保留 body unchanged [2605.29794],表面上回避了 compliance 问题。但 rendered 描述本身的长度、格式、内容是否符合下游 agent 的 context budget 约束?论文未报告 rendered context 的 token 统计。在 tau2-bench 的 50-step 环境限制下,一次性注入的 rendered context 占了多少 context window?

3.5 消融交互效应未隔离 #

Table 2 ablation 分别移除 planner、renderer、adaptive budget [2605.29794],但 planner 和 renderer 的交互效应未被隔离——两者总是 co-occur [2605.29794]。如果 planner 选出的 skill set 质量很高(低 overlap),renderer 的 disambiguation 可能是冗余的。反之如果 planner 选出高 overlap set,renderer 的贡献可能被放大。缺少 planner-quality × renderer-presence 的 2×2 factorial 分析。

3.6 frozen agent 假设的局限 #

SkillsInjector 假设 agent 冻结——技能上下文一次性注入 system prompt,agent 无法请求更多 skill 或拒绝 injected skills [2605.29794]。MUSE-Autoskill 的 progressive disclosure [2605.27366] 允许 agent 按需加载 skill,SkillReducer 的 on-demand reference modules [2603.29919] 也采用类似策略。Single-shot injection 在长交互中可能导致 stale context——任务 midway 发现注入的 skill 不对但无法替换。

§4 生态位 #

Skill pipeline 定位 #

SkillsInjector 占据 skill pipeline 中一个特定位置:given a curated skill library, select and present the optimal subset per task。在更完整的 skill lifecycle 中:


MUSE-Autoskill (创建)
  → SkillReducer (压缩)
    → SkillRouter (检索 top-K from large pool)
      → SkillsInjector (精选 + 改写 for specific task)
        → MOCHA (优化 skill text post-hoc)
          → Agent (执行)

SkillsInjector 的独特价值在于execution-grounded selection + set-aware rendering 的组合——pipeline 中唯一同时考虑"选什么"和"怎么呈现"的组件。SkillRouter 只管选,SkillReducer 只管压缩,MOCHA 只管优化 skill 文本本身,MUSE 只管创建和维护。

范式转移指标 #

SkillsInjector 引入的范式转移是:skill injection 从 retrieval 问题变为 context construction 问题

这个转移的证据是 insurance distractor case:surface similarity 高但 $\Delta = -0.20$ [2605.29794],直接否定了 retrieval-as-selection 的充分性。

采用障碍 #

相比之下,SkillReducer 的 build-time 方案成本低(~$14–18/600 skills [2603.29919]),SkillRouter 的 retrieval 方案在 80K 上验证 [2603.22455]——两者的 adoption barrier 显著低于 SkillsInjector。

§5 未探索方向 #

5.1 SkillRouter retrieval + SkillsInjector reranking 的两阶段融合 #

SkillRouter 的 bi-encoder retrieves top-20 from 80K [2603.22455];SkillsInjector 的 planner 在 ≤82 skill pool 上 scoring [2605.29794]。自然融合:SkillRouter 先从 80K 缩至 top-20,SkillsInjector 的 execution-grounded scorer 再从 20 精选 adaptive subset。这避开了 $\Delta$ 在 80K 上的 scalability 瓶颈——只需为 SkillRouter 的 recall set(~20 skills × task distribution)计算 $\Delta$。SkillRouter 的 listwise reranking 优化 top-1 accuracy [2603.22455],而 SkillsInjector 的 threshold 方案优化 adaptive set size——两者的目标互补。

5.2 SkillReducer 预压缩 + SkillsInjector 后改写 #

SkillReducer 的 taxonomy-driven compression 将 body 分为 core/background/example/template [2603.29919],SkillsInjector 的 renderer 改写 description [2605.29794]。未探索的组合:renderer 不仅改写 description,还根据 task 从 SkillReducer 的 on-demand modules 中选择性加载——将 SkillReducer 的 progressive disclosure 与 SkillsInjector 的 task-aware selection 融合。具体地,planner 可以同时预测"需要哪些 skill"和"每个 skill 需要哪些 content modules",实现 skill-level 和 module-level 的双层 adaptive budgeting。

5.3 MOCHA 多目标框架 + SkillsInjector planner #

SkillsInjector 的 planner 优化 single scalar $\mathcal{U}$ [2605.29794],MOCHA 证明多目标 Chebyshev scalarization 在 non-convex Pareto regions 更有效 [2605.19330]。将 planner 的训练目标从 $\mathcal{U}$ 扩展为 (pass rate, $-\bar{M}$, -token cost) 三目标,用 MOCHA 的 HVC-gated exploration 搜索 skill set configurations 的 Pareto front。产出不是单一 "best" set 而是 Pareto-optimal sets——用户可按场景需求(低延迟 vs 高准确)选择。MOCHA 发现 body compliance 从 .83 降到 .33 [2605.19330]——在 skill selection 场景中,类似 trade-off 可能出现在 pass rate vs context window consumption。

5.4 MUSE 动态 skill 创建 + SkillsInjector 动态注入 #

MUSE 在 runtime 创建 skill [2605.27366],SkillsInjector 在 task 开始前一次性注入 [2605.29794]。未探索的融合:SkillsInjector 的 planner 在每个 agent turn 重新评估 skill utility,mid-task 动态增删 skill context。MUSE 的 per-skill .memory.md [2605.27366] 可以作为 $\Delta$ 信号的 cheap proxy——如果一个 skill 在相似任务上积累了正面 memory,planner 无需 rollout 即可估算 utility。这绕过了 $\Delta$ 的 combinatorial data-generation bottleneck。

5.5 $\Delta$ 信号的 transfer learning #

当前每个 domain 独立计算 $\Delta$ 且 $\tau^\star_d$ 不跨域迁移 [2605.29794]。MUSE 的 cross-agent transfer 实验 [2605.27366] 证明 skill 作为外部化知识可零修改迁移。类推:$\Delta$ 信号中的 skill-task 交互模式是否跨 domain 共享?如果 planner 学到的不是 domain-specific mapping 而是"skill X 对 task pattern Y 有帮助"的通用 pattern,一个在多 domain 联合训练的 planner 可能实现 zero-shot transfer to new domains。SkillRouter 的 SkillBench-Supp 实验 [2603.22455](同一 checkpoint 在新 benchmark 上 without retuning)提供了 generalization 的正面信号,但 SkillsInjector 的 execution-grounded 信号比 embedding similarity 更 domain-specific,transfer 难度更高。