论文

SkillGate: 面向长程智能体的策略内技能选择训练

SkillGate: 面向长程智能体的策略内技能选择训练

Agent 框架越来越倾向于将程序性知识打包为技能:智能体按需读取的指令文件,而公开库中已有数千个此类技能。读取哪个技能由此成为策略本身在回合中途做出的决策,但现有信号并未对此进行训练。本文表明,默认的补救措施——基于结果奖励的强化学习(outcome-rewarded RL, 作用于候选集)无法学会这一决策,其根源在于一种被识别并命名为 选择器信用饥荒(selector credit starvation)的结构性问题:在广播式、序列级优势函数下,少数几个命名所选技能的 token 仅承担损失的极小份额,且随着轨迹变长,它们继承的信用越来越趋向错误符号。只要执行后续失败,正确选择也会受到惩罚,尽管该选择本身是轨迹中最有价值的决策之一。对已运行训练产物的审计证实了上述三个属性,且每个属性都随视界单调恶化。SkillGate 从结构上消除了这一失败:它将 token 支持集划分为两个不相交的信用通道——结果信用仅流向执行 token,而独立的动作局部优势恰好作用于技能命名 token,仅当轨迹中的单次读取为正确选择时为正。在五个智能体基准上与 16 个候选技能竞争时,SkillGate 将 9B 策略 的成功率从 40.8% 提升至 53.2%,远超将相同预算仅用于结果奖励的效果,同时将误导性候选的暴露减少三分之二,并读取更少的技能。

论文精读

TL;DR SkillGate 分离执行 token 与技能命名 token 的奖励通道,为后者引入局部 advantage,根治长程 agent 技能选择中的 credit starvation,将 9B 模型成功率从 40.8% 提升至 53.2%,并减少误选。

问题

问题背景

Agent 框架越来越多地将程序性知识封装为 skills——按需读取的指令文件,公共库已有数千个。选择读取哪个 skill 已成为策略在 episode 中自身做出的决策,但缺乏专门的训练信号。

现有方法局限

默认做法是对候选 skill 列表做 outcome-rewarded RL,即用最终结果奖励来训练选择行为。论文发现这在结构上不可行,称之为 selector credit starvation:

  1. 序列级 advantage 广播下,命名所选 skill 的极少数 token 在损失中占比趋近于零,梯度几乎不更新选择策略。
  2. 少数到达选择 token 的 credit 随轨迹变长符号错误率单调上升——只要后续执行失败,正确的 skill 选择也会被惩罚,即使该选择是轨迹中最有价值的决策之一。
  3. 审计训练工件确认:选择 token 的梯度份额小、信号错误多、但决策本身价值高,三个问题都随 horizon 单调恶化。

这意味着结果奖励不能教会 agent 选择正确的 skill,而只能教会执行已选 skill。

为什么这个问题难且重要

长时序、稀疏奖励场景下,token 级信用分配本来就很困难;而 skill 选择发生在轨迹早期,其影响要经过大量执行 token 才能体现。序列级 advantage 无法区分“选择正确但执行失败”与“选择错误但偶然成功”。在真实 agent 系统中,skill 选择直接决定下游工具调用、知识检索的可靠性和 token 效率,选错 skill 会导致浪费上下文、执行误导性指令。业界对多步 agent 的可扩展技能检索与决策训练有迫切需求,但缺乏专门的优化目标。

行业类比

类似 RAG 检索器与生成器耦合 的端到端优化:最终答案质量高,不代表检索步骤正确;如果只用答案奖励训练检索器,检索器可能永远得不到有效梯度,必须引入分解的信用信号。

核心洞察

  • Selector credit starvation 是长程 agent 技能选择训练的结构性失败模式:在广播式 sequence-level advantage 下,技能命名 token 只占轨迹极少 token,梯度份额随轨迹变长而消失,且正确选择会因后续执行失败而被错误惩罚。该概念解释了为何 outcome-rewarded RL 在候选技能 slate 上无法教会政策选择技能,与现有默认做法形成根本差异——传统方法假设奖励能沿轨迹均匀传播,但论文对训练 artifact 的审计证明信号不仅微弱且符号错误,并随 horizon 单调恶化。
  • SkillGate 通过将 token 支持划分为两个不相交的信用通道——执行 token 仅接收 outcome credit,技能命名 token 接收独立的 action-local advantage(仅当该轨迹的唯一读取是正确的技能时为正)——从构造上消除 selector credit starvation。相比统一 advantage 或单独训练 selector 的 baseline,该设计保持单一策略但分离梯度流,使技能选择决策获得直接、无冲突的训练信号。实验在 16-candidate slate 下将 9B 策略成功率从 40.8% 提升至 53.2%,远超同等预算的 outcome reward,同时将误导性候选技能暴露降低三分之二。

方法

输入与问题定义

输入为候选技能列表(skill slate,如 16 个候选)和一个多步交互环境。Agent 在每个 episode 中先从 slate 中选择一个技能(产生少量 skill-naming tokens),然后执行该技能(产生大量 execution tokens)。传统 outcome-rewarded RL 将基于最终成功与否的 sequence-level advantage 广播到所有 token,导致 skill-naming tokens 的梯度占比随轨迹长度单调递减,且正确选择常因后续执行失败而被错误惩罚——即 selector credit starvation。

关键模块:双通道信用分配

SkillGate 的核心是将 token 支持集划分为两个互不相交的信用通道:

  • Outcome credit channel:仅作用于 execution tokens,使用任务结果奖励(如 trial success)计算 advantage,并通过掩码屏蔽 skill-naming tokens,避免选择信号被因果混淆。
  • Action-local advantage channel:专门为 skill-naming tokens 设计,基于“该次读取是否为正确技能”构造局部优势信号,仅在正确读取时为正。该信号不依赖整个轨迹的成败,因此消除了错误符号惩罚。

实现上,通过 token-level 掩码矩阵将两条通道的损失分别计算并合并;同时引入归一化(如在各自通道内做 advantage 标准化)以平衡梯度尺度。训练目标为两个通道的加权和,策略仍保持单一网络,但梯度来源清晰分离。

输出与效果

训练后的策略在保持执行能力的同时,显著提升技能选择的正确率。在 5 个 agentic benchmarks、16 候选 slate 下,9B 模型 trial success 从 40.8% 提升到 53.2%,且错误技能暴露减少约 2/3,读取技能数下降。

与同类方法差异

与仅用 outcome reward 对整个轨迹做 RL 或额外训练独立 selector 不同,SkillGate 通过构造性分离信用,在同一策略内为选择和执行提供不同的训练信号,避免 selector 信用饥饿。

实验

实验设计

论文在 5 个 agentic benchmarks 上评测,使用 16-candidate skill slate 与 9B policy,对比 SkillGate 与 outcome-only RL 等同预算基线。评估指标包括 trial success、技能访问可靠性、误导候选暴露率等。消融研究涵盖信用设计各组件、独立 selector、选择纯度代价等。

关键发现

SkillGate 将 9B 策略的成功率从 40.8% 提升至 53.2%(+12.4pp),同时减少误导技能暴露约三分之二,读取技能数更少。论文指出:模型规模不能单独解决 in-policy skill selection,可靠技能访问是实质指标。审计训练工件证实,outcome-only 信用下选择 token 获得梯度占比随 horizon 单调下降且信噪比恶化。

与基线对比解读

与 outcome-only RL 相比,SkillGate 通过将执行 token 与技能命名 token 分入两个不相交信用通道,为选择动作提供 action-local advantage,避免了 broadcast 序列级 advantage 造成的 selector credit starvation。相同预算下 SkillGate 优势显著,表明该失败是结构性的,靠增加样本或模型容量难以弥补,需专门设计 token 级信用分配。

行业影响

落地场景

SkillGate 直接适用于长程智能体(long-horizon agents)在技能库(skill library)中做在策略选择(in-policy selection)的产品形态,例如:企业级 RAG 助手从数千份操作手册中按需读取、电商客服 Agent 从产品政策与售后流程技能中挑选、代码生成 Agent 从 API 使用说明库中选择。当候选技能数量达到十几乃至几十个时,原有 outcome-rewarded RL 会让选择 token 的梯度信号被淹没,SkillGate 能显著提升任务成功率。

商业价值

核心价值在降本与可靠性:读取更少技能、减少误导性技能暴露,直接降低推理 token 成本;同时任务成功率从 40.8% 提升到 53.2%,减少人工介入与错误执行带来的返工。在客服、运维、代码助手等按次计费或按任务计费的场景中,成功率每提升一个点都对应可量化的收入或成本节约。

与现有产品/工作流的接口

SkillGate 可作为 RLHF/GRPO 训练栈中的一个信用屏蔽与归一化模块,在 token 级 loss 计算阶段对技能命名 token 与执行 token 使用两套优势通道。它能直接嵌入 TRL、OpenRLHF 等主流框架,通过自定义 per_token_loss 与 advantage 实现;无需改变推理端。企业可将现有 outcome reward 模型保留,仅替换训练时的信用分配策略。

具体落地 use case

  • 电商客服 Agent:从退货政策、物流查询、优惠规则等 16 个技能中选择正确一个;SkillGate 减少错误政策读取造成的客诉升级,降低平均对话轮次。
  • 企业 IT 运维助手:从数千条故障排查 runbook 中选择;正确选择可避免误导性命令执行,减少系统风险与人工复核成本。

SkillGate 代码库

局限

  • 论文方法需要为每个候选技能提供“正确与否”的二值判断,即 `action-local advantage` 仅在读取正确技能时为正。在开放技能库中,这种技能级监督通常不可用;即使可用,也需要额外的验证器或 oracle,部署成本较高。相比之下,纯 outcome reward 只需轨迹最终成功信号,更通用。此局限限制了 SkillGate 在无显式技能级反馈场景中的直接应用。
  • 实验仅在 5 个 agentic benchmarks、16 候选 slate、9B 模型上进行。现实技能库可能包含数千个候选,检索或预筛后候选集合更大的场景未得到验证;更大模型(如 70B、MoE)下 scaling 特性未知。16 个候选的设定较为简化,可能掩盖了大规模候选下的选择难度和 token 长度对 credit starvation 的放大效应。
  • SkillGate 的构造目前面向每轨迹单次技能选择;实际 agent 可能在长任务中多次读取不同技能,甚至组合技能。论文未讨论多次读取情况下的 credit 分配与优势构造如何扩展。如果多次读取,每次选择的正确性定义和序列中多个 skill-naming token 的处理会显著增加设计复杂度,现有方法可能不直接适用。
论文Qingyao Li2026-08-19原文

相关内容