拆解再复用:大模型智能体的跨任务技能迁移

拆解再复用:大模型智能体的跨任务技能迁移

论文来源:arXiv:2608.20274v1

摘要

大语言模型智能体可以从已经完成的任务中归纳技能,存入技能记忆库,后续任务复用这些技能,实现随经验不断提升能力。但实践中,智能体归纳得到的技能跨任务迁移效果很不稳定,甚至会损害后续任务表现。智能体归纳的技能在什么条件下可以可靠地跨任务复用,是一个尚未被充分解答的问题

本文开展一套全面、受控的对照研究,分析技能归纳方式如何影响跨任务迁移性能。重点对比两大设计维度:归纳层级(任务级 vs 子任务级)技能存储格式(文本格式 vs 代码格式)

实验发现:任务级归纳得到的技能,平均来看会拉低智能体性能,低于无记忆基线;而子任务级归纳的技能平均可以带来性能增益。同等归纳层级下,文本格式技能迁移效果优于代码格式技能。

为解释实验现象,本文解析技能的两项互补属性:**特异性(specificity)**衡量技能与真实任务的匹配紧密程度;抽象性(abstractness)衡量技能相关性可以均匀覆盖多少不同任务。单一维度无法预测任务成功率;将二者相乘得到技能效用分数(skill utility score) ,该分数可以稳定预测技能迁移带来的任务收益;子任务级、文本格式的技能普遍拥有更高的技能效用分数。

计算该分数仅需要技能文本与任务描述,不需要实际运行任何任务,可以在执行新任务之前,作为技能记忆库的轻量诊断指标。

关键词:大语言模型智能体;技能记忆;跨任务迁移;子任务分解;技能归纳;智能体评测

1 引言

LLM智能体被广泛应用于个人助手、办公自动化、科研仿真等场景。原生智能体每一个任务都从零开始求解,无法从过往经验中获得能力增长。越来越多研究让智能体从已完成轨迹中归纳技能,存入技能记忆,遇到新任务检索并复用。如果技能可以良好跨任务迁移,智能体就能够随经验积累变得越来越强。

但是现实场景下,从完整任务轨迹归纳出的技能迁移可靠性很差:

  1. 基于完整任务轨迹归纳的技能高度绑定源任务,泛化到新任务表现不佳;
  2. 不相关、错位匹配的技能会成为噪声上下文,干扰模型,还会把源任务中的错误传播到新任务。

因此,技能能不能带来收益,很大程度取决于技能是如何被归纳出来的 。核心研究问题:智能体归纳的技能,在什么条件下可以可靠实现跨任务迁移?

已有部分工作提出子任务层级的技能归纳:复杂任务拆解成多个子过程,从每一个子任务子轨迹分别生成技能,而不是对整条任务轨迹只生成一个技能。现有结果显示该方案效果更好,但实验局限在少量领域、少数模型,并且大多只使用文本格式技能,缺少系统对照。

本文在严格控制变量条件下,对比归纳层级(任务级 / 子任务级)、**技能存储格式(文本 / 代码)**两个核心维度。实验使用3个长时序智能体基准、11个闭源+开源模型。

主要实验发现:

  1. 归纳层级决定技能能否带来收益:子任务级技能平均高于无记忆基线;任务级技能大多会损害性能。
  2. 存储格式决定收益幅度:同一归纳层级下,文本格式技能迁移整体优于代码格式技能。
  3. 提出技能效用分数,由特异性与抽象性相乘得到;仅使用文本信息即可计算,无需运行任务;分数越高,技能迁移带来任务成功率提升越明显;子任务级、文本技能的效用分数整体更高。

本文给工程实践者三条启示:

  1. 将任务拆解为子任务,从子任务轨迹做技能归纳,可以改善跨任务迁移;
  2. 同等条件下,文本形式技能比代码形式迁移效果更好;
  3. 技能效用分数可以作为轻量化诊断工具,无需运行任务,即可评估技能记忆库质量。

图1:不同任务共享子任务的示例。任务X:把购物车全部举重凳下单;任务Y:把购物车里全部食品加工机移入愿望清单。任务级技能是对整条轨迹做总结,高度绑定源任务,难以复用到另一个任务;子任务级归纳为每个子过程生成独立技能,登录、查看购物车这类共享子任务的技能可以在两个任务之间迁移复用。
表1:现有技能归纳相关工作调研汇总,对比归纳层级、存储格式、评测领域、提示词组件(指令、示例、抽象规则)

工作 技能归纳层级 技能格式 领域 指令 演示示例 抽象规则
AutoManual 规则级 Text 家居、网页
DynaSaur Step步骤级 Code 助手、数学QA
Reflexion Task任务级 Text QA、家居、代码 ×
ExpeL Task任务级 Text QA、家居、网页 ×
CLIN Task任务级 Text 科学仿真、家居 ×
AWM Task任务级 Text 网页
Memp Task任务级 Text 旅行、家居 ×
Voyager Task任务级 Code 游戏
TroVE Task任务级 Code 数学、表格、视觉 ×
ASI Task任务级 Code 网页
SSO Subtask子任务级 Text 科学仿真、游戏 ×
MUSE Subtask子任务级 Text 生产力 ×
Shen et al.2026 Subtask子任务级 Text 软件工程 n/r n/r n/r
本文工作 Task / Subtask Text / Code 助手、办公、数据科学

n/r:论文未公开提示词;✓代表包含该组件;×代表不包含。

2 相关工作

2.1 智能体中的技能记忆研究

大量工作将智能体的历史经验整理成显式技能记忆库。主要存在三个设计轴:

  1. 归纳层级:从完整任务轨迹、单步step、规则、子任务子轨迹做归纳;
  2. 技能存储格式:自然语言文本、可执行代码函数;
  3. 归纳提示:包含指令、演示样例、用于去除实例细节的抽象规则。

部分工作使用强化学习训练记忆操作与技能增强策略;另一类方案不做归纳,直接检索原始交互片段。本文在统一提示词模板下,只改变归纳层级、存储格式两个变量,隔离二者的影响。

2.2 跨任务技能迁移研究

大量任务级技能迁移工作在网页、GUI、具身仿真、软件智能体开展实验。但是子任务层级迁移的研究还比较有限:

  • 现有子任务相关实验大多局限少数领域;
  • 端到端指标掩盖了每一条技能本身的贡献;
  • 部分论文展示增益,也有论文指出无关记忆会降低模型性能、错误会传播。

本文系统对比任务级/子任务级、文本/代码,跨多个基准、多个模型,同时提出单技能层面的效用打分指标。

2.3 长时序智能体的子任务分解

很多长时序智能体会把复杂问题拆解为原子子问题,以此缩短上下文、分块求解长任务。但多数工作分解只服务于当前任务,不把子过程产出可以跨任务复用的技能;少数子任务技能迁移论文领域覆盖狭窄。本文对比两套归纳层级,横跨两种技能格式、三个基准、十一个模型。

3 跨任务技能迁移形式化

图2:两套智能体架构示意图。

1)任务级智能体:完整任务生成一条交互轨迹,从整条轨迹归纳得到一条技能 存入记忆;

2)子任务级智能体:任务被拆解成若干子任务,每个子任务生成子轨迹,从每一条子轨迹分别归纳一条技能存入记忆;

后续新任务执行前,检索记忆中相关技能注入上下文。

实验对比条件:无记忆、任务级+文本、任务级+代码、子任务级+文本、子任务级+代码。

3.1 两类智能体实现

智能体在部分可观测环境求解任务。任务给出自然语言目标和初始环境状态;每一步大模型策略π\piπ生成动作ata_tat,环境返回观测oto_tot;智能体标记完成或者到达最大步数后,评估器给出奖励r∈(0,1)r\in(0,1)r∈(0,1)。

任务级智能体 :标准ReAct循环。把全部动作、观测追加进上下文,得到完整任务轨迹τ\tauτ,任务结束后从整条轨迹归纳生成单一技能

子任务级智能体:使用三类角色循环执行:

  1. 规划器Planner:读取目标与运行时摘要,提出下一个子任务,或者宣布任务完成;
  2. 执行器Executor :对当前子任务运行ReAct循环,产出子轨迹τk\tau_kτk;
  3. 摘要器Summarizer:把子轨迹压缩成运行摘要,交给下一轮循环。

循环直到规划器判定任务结束,得到完整任务轨迹τ=(τ1,...,τK)\tau=(\tau_1,\dots,\tau_K)τ=(τ1,...,τK)。

任务级智能体等价于子任务智能体的特例:整个任务作为唯一一个子任务,只运行执行器。

3.2 技能记忆模块

技能记忆库MMM保存智能体历史经验产出的技能,供后续任务检索复用。包含归纳算子、检索算子。

技能格式

每个技能包含简短自然语言描述(用于检索嵌入);主体内容分两种格式:

  1. 文本技能:工作流笔记,记录操作流程与环境注意事项;
  2. 代码技能:Python函数,实例相关数值设置为参数,环境注意事项写进注释。

技能归纳

  • 任务级归纳:从完整任务轨迹τ\tauτ生成1条技能;
  • 子任务级归纳:每一条子轨迹τk\tau_kτk生成1条技能。>

两套层级使用完全相同的归纳提示词,保证变量隔离;完整提示词见附录A。技能示例见附录C。

技能检索

使用all‑MiniLM‑L6‑v2做嵌入;用任务/子任务查询文本做相似度匹配,取top‑k相关技能注入上下文。文本、代码技能使用完全一致的检索逻辑,只匹配技能描述字段。

  • 任务级智能体:使用任务指令作为查询,检索一次;
  • 子任务级智能体:每一个子任务,使用子任务描述做一次检索。

代码技能除注入描述与函数文本,还会加载进执行命名空间,可以直接调用。记忆模块还会清理加载失败的代码技能,对高相似度的重复描述做合并/丢弃;附录B完整描述记忆处理逻辑。附录E.6验证:不同条件性能差异来源于技能本身质量,而不是检索效果差异。

3.3 跨任务技能迁移定义

智能体依次求解任务序列T1,T2,...,TnT_1,T_2,...,T_nT1,T2,...,Tn,共享同一份技能记忆库。完成一个/子任务之后写入技能;执行新任务之前检索技能。从早期任务归纳的技能被后续任务检索使用,称为跨任务技能迁移

本实验控制变量:

  1. 归纳层级:任务级 / 子任务级;
  2. 技能格式:无记忆 / 文本 / 代码。

两套智能体仅在归纳层级、子任务规划‑摘要模块存在区别;提示词、记忆检索全部保持一致。评估时,每个开启记忆的智能体,和它自身关闭记忆的版本做对照,消除智能体架构本身带来的影响,只看技能带来的增益。

4 实验设置

4.1 评测基准

选用3个长时序智能体基准,覆盖不同应用领域:

  1. AppWorld:多应用工具调用仿真,9个模拟应用,API接口;测试集417条任务;
  2. OfficeBench:办公文档工作流,包含邮件、Word、Excel、PDF等;300条任务;
  3. KramaBench:数据科学流水线,来自6个真实科学领域文件;92条确定性评分任务。

全部任务使用基准自带官方评估器,输出分数范围(0,1)(0,1)(0,1)。

4.2 测试模型

共11个模型,包含MoE稠密开源模型与一个商用模型:

  • MoE:Qwen3‑235B‑A22B、GPT‑OSS‑120B、Nemotron‑Super‑120B
  • 稠密:Qwen3‑4B / 8B /14B /32B;Gemma‑3‑4B /12B /27B
  • 商用:Gemini‑3.1‑Pro

部署:MoE模型使用Amazon Bedrock;Gemini‑3.1‑Pro使用谷歌云API;稠密模型使用vLLM运行在单张96GB GH200显卡。保持服务商默认采样参数;单轮生成上限8192token;全部模型使用同一套提示词。

消融:对3个MoE模型、Qwen3‑32B,使用两套精简归纳提示(L1最简指令、L2指令+示例)对比完整提示L3。附录A完整提示。

4.3 实验对比条件

两个变量做全组合,共6组实验条件:

Task(无记忆)Task+TextTask+CodeSubtask(无记忆)Subtask+TextSubtask+Code

  • +Text:存储自然语言工作流笔记;
  • +Code:存储Python函数;

约束:任务级智能体单任务最多50步ReAct;子任务级智能体最多15个子任务,整体ReAct执行预算上限同样50步。

4.4 评估指标

  1. 任务成功率 :官方评估器给出(0,1)(0,1)(0,1)平均分;
  2. 效率指标:单任务墙钟延迟latency;dependency指标,用来衡量上下文带来的计算开销(附录D)。

5 技能归纳层级与格式如何影响迁移效果

核心结论:子任务层级归纳的技能平均带来性能提升;任务级归纳大多会损害性能。同一层级,文本技能迁移效果优于代码技能。
表2:三大基准下11个模型的任务成功率(%),括号95%任务bootstrap置信区间。

任务级:None(无记忆) / +Text / +Code;子任务级:None / +Text / +Code。

绝大多数模型与基准下最优结果出现在子任务‑技能列;开启记忆后,任务级大多性能下降,子任务级大多上升。

5.1 子任务层级的技能可以带来收益

性能(任务成功率)

对比同一个智能体开启/关闭记忆:

  • 任务级:开启文本技能,平均下降1.2个百分点;开启代码技能,平均下降4.1个百分点;全部三个基准都观察到下降。
  • 子任务级:开启文本技能,平均提升1.9个百分点;开启代码技能平均提升0.5个百分点。文本技能在全部三个基准都正向增益;代码在两个基准提升,KramaBench小幅下降‑1.4。

补充验证:把子任务归纳产出的技能拿给任务级智能体使用,性能同样优于任务级自己归纳的技能(附录E.2);效果来源于技能本身,而不是智能体架构。源任务本身是否成功完成,对归纳出来技能质量影响不大(附录E.3)。不同提示词配置下该结论依然成立。

效率(延迟与dependency开销)

在相同计算开销预算下:

  • 小预算场景,任务级无记忆方案占优,可以低成本解决简单任务;
  • 中等、大预算区间,开启记忆的子任务级智能体在同等开销下可以解决更多任务;>

该优势不是靠消耗更多算力换来。同等开销对比,子任务+记忆的曲线始终高于自身无记忆基线;任务级+记忆低于自身无记忆基线。

任务难度分层验证

将任务划分为简单、中等、困难(使用基准自带难度标签)。

在几乎全部难度分层:

  1. 任务级开启记忆普遍降低成功率;
  2. 子任务级开启记忆普遍提升成功率;
  3. 同一层级,文本≥代码。

5.2 文本格式技能迁移整体优于代码格式

同一归纳层级内部对比:

  • 子任务层级:文本技能相比代码技能,平均高出2.9个百分点;
  • 任务层级:文本技能相比代码技能,平均损失少1.4个百分点。

无论看成功率、延迟/dependency开销、任务难度分层,文本技能整体表现都等于或者优于代码技能。

6 什么样的技能才具备良好迁移能力

把视角从智能体转向技能本身 。本文提出:一个可迁移技能需要同时具备特异性抽象性 ;二者单一维度无法预测任务表现,二者乘积定义技能效用分数Skill Utility 。该分数仅依赖技能描述、任务文本,不需要运行任务,可以作为预诊断指标。

图5可视化结果:

(a) 检索得到技能平均效用分数越高,任务成功率越高;

(b) 只看单一维度(特异性/抽象性),成功率先上升后下降,单一维度无法预测;

(c‑e):子任务级、文本格式的技能中位数效用分数整体更高。

6.1 技能效用分数定义

令cjc_jcj为技能sss与第jjj个任务指令的嵌入余弦相似度。

特异性 specificity(s)

衡量技能和最匹配任务的贴近程度。计算概率:该技能与最接近任务的相似度,大于随机抽取两个任务互相之间的相似度。特异性惩罚完全不匹配任何任务的技能,奖励至少匹配部分真实任务的技能。

specificity(s)=Pr⁡max⁡jcj≥cos⁡(ti,tk) \mathrm{specificity}(s)=\Pr\big\\max_{j}c_{j}\\geq\\cos(t_{i},t_{k})\\big specificity(s)=Prjmaxcj≥cos(ti,tk)

抽象性 abstractness(s)

衡量技能相关性可以均匀分布在大量任务,而不是只集中少数任务。对相似度分布做softmax,计算熵,再归一化。τ=0.1\tau=0.1τ=0.1温度系数。

abstractness(s)=exp⁡(H(softmax(c/τ)))N \mathrm{abstractness}(s)=\frac{\exp\big(H(\mathrm{softmax}(c/\tau))\big)}{N} abstractness(s)=Nexp(H(softmax(c/τ)))

技能效用分数(Skill Utility)

技能需要同时兼顾:和真实任务足够相关(特异性),同时可以适配足够多不同任务(抽象性)。单一维度高没有意义。

utility(s)=specificity(s)⋅abstractness(s) \boldsymbol{\mathrm{utility}(s)=\mathrm{specificity}(s)\cdot \mathrm{abstractness}(s)} utility(s)=specificity(s)⋅abstractness(s)

6.2 技能效用分数可以预测任务收益

  1. 将任务按照检索到技能的平均效用分桶;随着效用分数升高,任务成功率单调上升;
  2. 单一维度(只看特异性 / 只看抽象性):成功率呈现先升后降;只靠其中任意一个指标不能预测成功;必须二者乘积;
  3. 子任务层级、文本格式归纳得到技能,中位数效用分数普遍高于任务级、代码格式技能,和实验性能结果完全对应。

附录E.4因果验证:把同一个技能库按照效用中位数切分,高效用子集运行得到更高任务成功率。

6.3 技能效用分数与真实复用行为对齐

定义迁移密度Transfer Density :把任务流切分为50个时间bin;统计"在更早bin归纳出的技能,被后面bin检索复用"的配对占比。

D=1(n2)∑i<jrij D=\frac{1}{\binom{n}{2}}\sum_{i<j}r_{ij} D=(2n)1i<j∑rij

rij=1r_{ij}=1rij=1代表i bin产出的技能被j bin任务复用,否则0。

图6:三大基准迁移密度热力图。蓝色三角=子任务级,绿色三角=任务级。子任务级的迁移密度全部高于任务级。

效用分数更高的技能集合,真实跨任务复用频次也更高,指标和真实行为匹配。

7 结论

本文在3套基准、11个模型下系统研究大模型智能体跨任务技能迁移。

  1. 归纳层级至关重要:子任务层级归纳技能平均带来性能增益;任务级从完整轨迹归纳,往往会降低智能体表现。
  2. 技能格式有明显影响:同等归纳层级,文本格式技能整体迁移优于代码格式。
  3. 提出技能效用分数,由特异性 × 抽象性构成;仅依靠文本信息计算,无需运行任务;分数越高对应任务成功率越高;子任务级、文本技能效用整体更高,可以作为技能记忆库的轻量化诊断指标。

局限性

  1. 实验局限AppWorld、OfficeBench、KramaBench这三套基准;计算机GUI操作、代码智能体、网页浏览等其他场景行为可能不一样;
  2. 本研究的记忆模块使用固定的归纳、检索、去重逻辑;部分前沿系统允许智能体在运行过程修改迭代技能库,这类动态记忆需要进一步单独研究;
  3. 评测只看最终环境状态得分,没有子步骤级别的真值;细粒度中间行为分析需要依赖模型裁判。

伦理说明

本研究探究智能体如何复用自己过往经验生成的技能。该机制同样存在被注入恶意技能、引导智能体执行有害行为的风险。本实验全部技能均由智能体在沙盒基准内部生成,没有引入外部恶意样本。如何检测、拒绝恶意技能,留给未来研究。

附录A 提示词模板

A.1 子任务级智能体提示

A.2 任务级智能体提示

A.3 文本技能归纳提示

A.4 代码技能归纳提示

包含AppWorld / OfficeBench / KramaBench三套环境的系统提示、用户提示、角色块;任务级是子任务智能体去掉规划器、摘要器,把完整任务当作唯一子目标。

归纳提示在两个归纳层级之间完全一致,只有读取的轨迹跨度不一样。

附录B 技能记忆完整处理逻辑

  1. 嵌入模型all‑MiniLM‑L6‑v2;检索取top‑5,相似度阈值0.3;
  2. 代码技能加载失败直接删除;级联删除依赖被删函数的其他代码技能;
  3. 文本技能:描述相似度>0.85判定重复,做内容合并;
  4. 代码技能:函数名重复覆盖;描述相似度>0.85丢弃重复项。

附录C 归纳得到的技能样例

AppWorld购物车任务示例,对比任务级生成一条大而全的技能,对比子任务级拆分为登录、筛选购物车、下单三条独立可复用技能。

附录D 评测指标

D.1 性能打分

  • AppWorld:状态单元测试,全部通过得1,否则0;
  • OfficeBench:沙盒应用状态检查器,全部通过得1;
  • KramaBench:官方确定性评分器,连续分数,排除需要LLM裁判的样本。

D.2 开销指标

  1. latency:单任务墙钟时间;
  2. dependency:衡量上下文注意力计算开销,公式:
    dependency=∑c(2pc+oc),oc2 \mathrm{dependency}=\sum_{c}\frac{(2p_c+o_c),o_c}{2} dependency=c∑2(2pc+oc),oc
    pcp_cpc输入token长度,oco_coc输出token长度;单位109 token210^9\ \mathrm{token}^2109 token2。

附录E 补充分析

E.1 全部11模型完整数值结果表

E.2 将子任务技能给到任务级智能体的对照实验

E.3 源任务成功/失败对归纳技能质量的影响

E.4 技能效用分数的因果对照(按中位数切分库)

E.5 复用频次与技能格式统计

E.6 检索质量有效性验证,排除检索差异带来的混淆


相关推荐
QC777LX1 小时前
大模型、RAG、Agent和云平台方向,如何组合认证构建AI工程师的复合竞争力?
人工智能
WL_arm1 小时前
Vibe Coding(氛围编程)入门
javascript·css·人工智能·html5
YH55269841 小时前
ChatGPT Plus 与 OpenAI API 的区别:API Key、Token 和计费机制详解
人工智能·chatgpt
计算机魔术师1 小时前
第二届世界人形机器人运动会开幕:2056 台机器人齐聚“冰丝带“,666 支队伍竞技 51 赛项
数据库·人工智能·机器人
Brilliantwxx1 小时前
【Linux】 进程(4)七大进程状态深度解析
linux·运维·算法
飞猫的边缘AI1 小时前
边缘AI-5: 了解最灵活的计算芯片FPGA
人工智能·fpga开发·ai芯片·边缘ai·计算芯片·边缘ai芯片·titanium edge
auto_go1 小时前
大模型实战指南(4)——Embedding 与向量检索:让模型“记住”百万篇文章的秘密
人工智能·embedding
程序猿编码1 小时前
扔掉特征工程!我用三个LSTM“栈“写了一个依存句法分析器,句子结构一眼看穿
人工智能·深度学习·lstm·transformer·大模型推理