技能还是跳过?通过双粒度偏好学习在智能体任务中学习选择性技能调用

arXiv cs.CL 论文

摘要

提出了SelSkill,一个双粒度偏好学习框架,学习在智能体任务中何时调用技能,在ALFWorld上将任务成功率提升10.9%,在BFCL上提升5.7%。

arXiv:2606.00510v1 公告类型:新论文 摘要:智能体技能是可调用的程序模块,为复杂的智能体任务提供可复用的知识和执行策略。然而,现有方法主要关注选择相关技能或改进技能本身,而忽略了在当前决策点是否应该实际调用该相关技能。无益的调用可能会引入无关上下文,并破坏原本正确的执行流程。为解决这一问题,我们提出了SelSkill,一个用于选择性技能调用的双粒度偏好学习框架。SelSkill将技能使用表述为技能或跳过的决策,利用预测不确定性优先处理候选决策点,并从共享轨迹前缀构建受控的调用-跳过偏好对。它进一步结合了回合级结果偏好与步骤级调用偏好,以捕捉整体轨迹质量和技能调用的局部有效性。在ALFWorld上使用Qwen3-8B,SelSkill将任务成功率提高10.9个百分点,执行精度提高29.1个百分点。在BFCL上,它将任务成功率提高5.7个百分点,执行精度提高29.5个百分点。在Tau-bench和PopQA上的零样本结果进一步表明,学习到的调用策略可以迁移到包含前所未见技能的新领域。
查看原文
查看缓存全文

缓存时间: 2026/06/02 15:37

# 技能还是跳过?通过双粒度偏好学习在智能体任务中学会有选择地调用技能 来源:https://arxiv.org/html/2606.00510 陈秋水1,2林嘉业1††thanks:同等贡献。孙特3王俊熙2 杨毅1,4秦聪1,5胡彦根1潘璐1曾柯1 1美团2复旦大学3上海交通大学 4南京大学5北京大学 \{chenchishui, linjiaye\}@meituan\.com ###### 摘要 智能体技能是可调用的程序化模块,为复杂智能体任务提供可重用知识和执行策略。然而,现有方法主要关注选择相关技能或改进技能本身,而忽略了在当前的决策点上是否应该实际调用某个相关技能。无帮助的调用可能会引入无关上下文,从而破坏原本正确的执行过程。为了解决这个问题,我们提出SelSkill,一种用于选择性技能调用的双粒度偏好学习框架。SelSkill将技能使用形式化为“技能或跳过”决策,利用预测不确定性来优先考虑候选决策点,并从共享轨迹前缀构建受控的“调用-跳过”偏好对。它进一步将回合级结果偏好与步骤级调用偏好相结合,以捕捉整体轨迹质量和技能调用的局部有效性。在ALFWorld上使用Qwen3-8B,SelSkill将任务成功率提高了10.9个百分点,执行精度提高了29.1个百分点。在BFCL上,它将任务成功率提高了5.7个百分点,执行精度提高了29.5个百分点。在Tau-bench和PopQA上的零样本结果进一步表明,习得的调用策略可以迁移到具有先前未见技能的新领域。技能还是跳过?通过双粒度偏好学习在智能体任务中学会有选择地调用技能 陈秋水1,2††thanks:同等贡献。林嘉业1††thanks:通讯作者。孙特3王俊熙2杨毅1,4秦聪1,5胡彦根1潘璐1曾柯1 1美团2复旦大学3上海交通大学4南京大学5北京大学 \{chenchishui, linjiaye\}@meituan\.com ††footnotetext:代码:GitHub仓库 (https://github.com/ChenChiShui/selective-skill-invocation)

## 1 引言

随着智能体系统越来越多地应用于长期、高度交互的任务中,依赖模型在每一步从头开始规划和执行可能会低估先前经验,并导致低效的探索(Wang等,2025b (https://arxiv.org/html/2606.00510#bib.bib58))。在此背景下,智能体技能在网页交互和软件工程等场景中受到越来越多的关注(Wang等,2025a (https://arxiv.org/html/2606.00510#bib.bib57);Ling等,2026 (https://arxiv.org/html/2606.00510#bib.bib56);Li等,2026 (https://arxiv.org/html/2606.00510#bib.bib64))。作为可调用的程序化模块,智能体技能封装了领域知识、适用条件和可重用的执行策略,为复杂任务求解提供可重用的支持(Jiang等,2026 (https://arxiv.org/html/2606.00510#bib.bib30);Wang等,2026 (https://arxiv.org/html/2606.00510#bib.bib31))。

现有方法主要关注识别有用技能或改进其构建和使用。有些方法根据当前任务上下文从库中检索相关技能(Zheng等,2026 (https://arxiv.org/html/2606.00510#bib.bib32);Su等,2026 (https://arxiv.org/html/2606.00510#bib.bib42)),而另一些则从外部知识和交互轨迹中构建或细化技能,有时将其集成到智能体策略优化中(Xia等,2026 (https://arxiv.org/html/2606.00510#bib.bib2);Tu等,2026 (https://arxiv.org/html/2606.00510#bib.bib3))。然而,这些方法大多假设相关技能应当被调用,而忽略了一个更基本的问题:即使技能是相关的,智能体是否真的应该在当前决策点上调用它?在任务执行过程中,无帮助的调用可能会引入无关上下文,从而破坏原本正确的执行过程。

通过分析,我们揭示了技能在任务执行过程中的两个重要特性:(I)**技能收益高度集中**。图1 (https://arxiv.org/html/2606.00510#S1.F1)(a)–(b) 表明,有效的技能使用并不意味着每当技能看起来相关时就调用它。图1 (https://arxiv.org/html/2606.00510#S1.F1)(a) 中的案例研究表明,一个看似相关的技能调用仍然可能产生不必要地宽泛且次优的响应。在多个基准测试中,图1 (https://arxiv.org/html/2606.00510#S1.F1)(b) 的反事实结果显示,启用技能访问在大约14%的成对轨迹中改善了最终结果,在大约78%的轨迹中没有明显效果,并在大约8%的轨迹中使结果变差。进一步分析表明,有害调用在语义上通常与相同上下文中的有效技能使用非常接近。因此,**技能的价值集中于狭窄的状态集,需要精确调用,而不是每当技能看起来相关时就调用**。

(II)**轨迹级模糊性**。图1 (https://arxiv.org/html/2606.00510#S1.F1)(c) 表明,仅凭回合级反馈很难确定单个技能调用的效果。例如,一次技能调用可能有助于完成任务、可能是一步无帮助的操作,或者其负面效果可能被后续操作纠正。最终结果并不能可靠地指示在当前的决策点上调用技能是否有帮助。这使得仅从回合级反馈中学习技能调用或通过简单的基于检索的规则来解决此问题变得不足。因此,**技能调用的效果应在决策点级别进行评估**。

因此,学习有效的技能调用策略需要考虑技能使用的集中收益和轨迹级反馈的模糊性。这要求学习信号不仅能捕捉技能使用对任务完成的整体效用,还能捕捉在特定决策点调用技能的局部有效性。为此,我们提出SelSkill,一种用于选择性技能调用的偏好学习框架。SelSkill利用模型的预测不确定性来指导候选技能决策点的选择,并通过在这些点上比较技能调用与跳过来构建对比训练对。此外,SelSkill结合了回合级结果偏好与步骤级调用偏好,使智能体能够更准确地确定何时调用技能以及何时跳过技能。

总之,本文的主要贡献如下:
- **系统分析**。我们详细分析了现有技能调用方法的局限性,并将选择性技能调用形式化为每个决策点上的“技能或跳过”问题,确定智能体是否应在当前状态下调用技能。
- **新颖优化框架**。我们提出SelSkill,一种用于选择性技能调用的偏好学习框架,通过构建调用-跳过对比对并结合回合级和步骤级偏好来优化技能调用策略。
- **强大实证结果**。在ALFWorld基准测试上,SelSkill将任务成功率提高了10.9个百分点,执行精度提高了29.1个百分点。在BFCL基准测试上,SelSkill将任务成功率提高了5.7个百分点,执行精度提高了29.5个百分点。

## 2 相关工作

### 2.1 从工具和经验到技能

语言智能体通常使用外部工具和过去的经验来扩展基础模型。先前的工作研究了API调用、函数选择和参数生成(Schick等,2023 (https://arxiv.org/html/2606.00510#bib.bib36);Patil等,2024 (https://arxiv.org/html/2606.00510#bib.bib37))。后来的工作将工具链或交互轨迹抽象为可重用的程序化表示(Chen等,2026 (https://arxiv.org/html/2606.00510#bib.bib38))。基于这些抽象,技能提供了一种紧凑的可重用经验形式,同时保留了工具的部分可执行性。它们封装了领域知识、适用条件以及可执行或文本化的程序(Jiang等,2026 (https://arxiv.org/html/2606.00510#bib.bib30);Ling等,2026 (https://arxiv.org/html/2606.00510#bib.bib56))。它们还可以组织成结构化库,以支持在智能体执行过程中进行检索和受控注入(Wang等,2026 (https://arxiv.org/html/2606.00510#bib.bib31))。

### 2.2 技能集成与优化

现有的基于技能的智能体方法主要通过三种方式利用技能。首先,基于路由的方法通过使用路由器、检索器或基于图的表示将当前上下文与少量候选技能匹配,来解决大型库中的技能选择问题(Zheng等,2026 (https://arxiv.org/html/2606.00510#bib.bib32);Liang等,2026 (https://arxiv.org/html/2606.00510#bib.bib33);Liu等,2026 (https://arxiv.org/html/2606.00510#bib.bib39))。其次,技能库管理方法通过基于环境交互添加、修订或修剪技能来维护和扩展库(Yang等,2026 (https://arxiv.org/html/2606.00510#bib.bib40);Ni等,2026 (https://arxiv.org/html/2606.00510#bib.bib4);Mi等,2026 (https://arxiv.org/html/2606.00510#bib.bib35);Ouyang等,2026 (https://arxiv.org/html/2606.00510#bib.bib41))。第三,在动态维护的技能或经验库的基础上,强化学习方法使用检索到的可重用知识来指导探索,并在策略优化期间提供行为先验(Xia等,2026 (https://arxiv.org/html/2606.00510#bib.bib2);Tu等,2026 (https://arxiv.org/html/2606.00510#bib.bib3);Lu等,2026 (https://arxiv.org/html/2606.00510#bib.bib1);Shi等,2026 (https://arxiv.org/html/2606.00510#bib.bib51))。然而,现有工作主要研究如何获取、维护或使用技能,而一个相关技能在特定的决策点上可能仍然是不必要的甚至是有害的,这一担忧在最近对基于技能的智能体的分析中也得到了关注(Li等,2026 (https://arxiv.org/html/2606.00510#bib.bib64);Su等,2026 (https://arxiv.org/html/2606.00510#bib.bib42))。

### 2.3 相关智能体设置中的选择性

相关研究已在访问外部资源的智能体中识别出选择性问题。在工具增强的智能体中,模型可能在工具无帮助时调用它们,或者未能有效利用工具结果(Chen等,2025 (https://arxiv.org/html/2606.00510#bib.bib7);Xu等,2025 (https://arxiv.org/html/2606.00510#bib.bib46);Ross等,2025 (https://arxiv.org/html/2606.00510#bib.bib44))。在记忆增强的智能体中,检索到的经验可能与当前任务上下文不匹配(Xiong等,2025 (https://arxiv.org/html/2606.00510#bib.bib47))。并行工作进一步通过成对的检索/无检索轨迹来学习在动态经验库上的主动检索(Cai等,2026 (https://arxiv.org/html/2606.00510#bib.bib63))。这些研究共同表明,实践中不应不加区分地使用外部辅助。

## 3 预备知识

我们考虑一个在多步环境中执行任务的智能体。在步骤$t$,智能体基于轨迹前缀$h_t$生成动作$a_t$。前缀$h_t$可能包含任务指令、交互历史、环境观察以及先前返回的工具或技能输出。除了普通动作,智能体可以访问固定的技能库$\mathcal{S}$。每个技能$s \in \mathcal{S}$是一个可调用的程序化模块,带有轻量级元数据$m_s$和完整的技能内容$c_s$。元数据包括技能名称和简短描述,而完整内容包含可重用知识、约束、过程或动作策略。我们将技能库的可见元数据表示为$M_{\mathcal{S}} = \{m_s: s \in \mathcal{S}\}$。在决策时,智能体策略写作$\pi_\theta(a_t \mid h_t, M_{\mathcal{S}})$,其中$a_t$可以是普通环境动作或技能调用。完整的技能内容$c_s$默认不注入模型上下文;只有在模型显式调用相应技能后才被加载或执行。具体而言,*记忆型技能*返回文本信息,如策略提示或API文档,而*可执行技能*封装动作或工具调用序列。本文不研究如何生成、修改或改进技能本身。相反,给定一个固定的技能库,我们研究*选择性技能调用*:决定是否以及在何时相关技能应干预多步轨迹。

每个基准测试的技能库是从训练集中离线构建的,并在训练和评估过程中保持不变;构建细节见附录A (https://arxiv.org/html/2606.00510#A1)。

## 4 方法论

### 4.1 概述

SelSkill的概述如图2 (https://arxiv.org/html/2606.00510#S3.F2) 所示。我们的框架构建了两种互补的偏好信号,即回合级偏好和局部决策点偏好。这两种信号指导智能体平衡整体任务效用与技能调用的局部有效性,详细内容如下所述。

### 4.2 偏好构建

#### 回合级偏好。
回合级偏好提供全局任务结果信号。对于相同任务,我们采样多个完整轨迹并根据最终任务成功与否进行分组。如果一个轨迹成功而另一个失败,我们构建一个偏好对:
\[
(\tau^+, \tau^-),
\]
其中$\tau^+$表示成功轨迹,$\tau^-$表示失败轨迹。该对表明模型应该偏好解决任务的完整行为序列。这个信号约束了技能调用的整体下游效用。它不直接确定单个技能调用是否必要,但识别了哪些完整轨迹最终更有效。

#### 局部决策点偏好。
回合级偏好的一个局限性在于它只提供轨迹级别的成功或失败反馈,使得难以将功劳归因于特定的技能调用决策。为了直接优化局部调用决策,我们进一步构建局部决策点偏好。具体来说,对于每次 rollout,我们在生成期间记录 token 级别的对数概率,并计算候选技能决策点处的预测熵。这些候选点覆盖技能调用后和普通生成期间的不确定状态。给定轨迹前缀$h_t$,预测熵定义为:
\[
H(h_t) = -\sum_v p_\theta(v \mid h_t) \log p_\theta(v \mid h_t),
\]

相似文章