XSkill

"Continual Learning from Experience and Skills in Multimodal Agents"

Posted by zwt on March 17, 2026

论文信息

  • 标题:Continual Learning from Experience and Skills in Multimodal Agents
  • 方法名:XSkill
  • 领域:多模态 Agent / Agent Memory / Tool Use / Continual Learning
  • 结论一句话:这篇工作想解决多模态 agent 每次都像“失忆”一样重新做题的问题,提出把历史轨迹抽成两类外部知识——experienceskill,再在新任务上检索、改写、注入,做到不更新参数也能持续变强

这篇论文在做什么

这篇论文盯的是一个很实在的问题:现在多模态 agent 虽然已经能调工具、看图、搜网页、写代码,但大部分系统还是单回合、无记忆、无成长的。

具体表现为两类瓶颈:

  1. tool use 低效:简单题也会绕很多步,复杂题又容易探索不够。
  2. tool orchestration 不灵活:工具组合比较僵,遇到新场景很难把已有套路迁移过来。

作者认为,人类做题时会同时依赖两类知识:

  • experience:偏局部、偏战术的经验,比如“图像倒了先旋转”“目标很小先裁剪再识别”。
  • skill:偏全局、偏流程的技能,比如“这类题应该先分解任务,再搜图,再写代码验证”。

所以 XSkill 的核心想法其实挺直给:

不要只记完整轨迹,也不要只记一个统一 memory;而是把历史轨迹提炼成技能(skill)+经验(experience)两条知识流,分别负责高层规划和低层决策。

核心方法

先看论文里最重要的框架图,基本把整套方法都画出来了:

上图可以直接概括成一句话: 先从多条历史轨迹里抽 skill 和 experience,再在新任务上检索、改写、注入给 agent。

1. 双流知识库:Skill + Experience

XSkill 把外部知识库拆成两部分:

Skill Library

Skill 是任务级别的结构化知识,主要描述:

  • 这类任务通常怎么拆解
  • 工具调用流程怎么组织
  • 哪些代码模板可以复用

作者把它存成 Markdown 文档,里面包含:

  • 元信息(名字、描述、版本)
  • workflow sequence
  • reusable tool templates

你可以把它理解成: “这类题通常怎么做”的 SOP。

Experience Bank

Experience 是动作级别的短经验,结构更像条件-动作对:

  • condition:什么情况下触发
  • action:该怎么做

例如:

  • 如果图片方向异常,先做旋转校正;
  • 如果目标太小,先 crop 再识别;
  • 如果网页证据不一致,优先回到图像本身验证。

它本质上是面向执行时刻的 tactical prompt,而不是完整流程。

2. 两阶段框架

XSkill 分成 accumulation 和 inference 两个阶段。

Phase I:Accumulate(积累知识)

给定训练任务,agent 会做多条 rollout,然后从这些轨迹里抽知识。

a) Rollout Summary

对每个任务做多次 rollout,收集不同成功/失败路径。 然后用一个专门的知识管理模型去总结:

  • 哪些关键决策点起作用
  • 哪些 tool pattern 有用
  • 哪些失败是由视觉线索误判导致的

这里作者特别强调: 总结不是只看文字轨迹,而是要结合视觉观察一起做。

这点很关键。因为很多多模态任务里的成败信号,本来就来自图像本身:

  • 图是不是倒了
  • 对象是不是太小
  • 对比度是不是太低
  • 当前视觉上下文是不是和旧经验匹配

b) Cross-Rollout Critique

然后让系统对不同 rollout 做对比分析:

  • 成功轨迹为什么成功
  • 失败轨迹为什么失败
  • 哪些经验应该新增
  • 哪些旧经验应该改写

这一步的产物主要是新的或修改后的 experience。

c) Knowledge Consolidation

为了避免知识库越来越乱,作者又加了 consolidation:

  • 相似 experience 先做 merge
  • 低质量、低泛化性的经验会被删掉
  • skill 文档过长也会被压缩、抽象和去冗余

所以它不是简单“越记越多”,而是试图把 memory 做成一个可维护的知识库。

Phase II:Inference(用知识做题)

到测试时,XSkill 不是把整个知识库硬塞给模型,而是做三步:

a) Task Decomposition Retrieval

先把当前任务分解成若干子任务,再针对每个子任务检索相关 experience。

这比直接拿原始 query 去检索更合理,因为复杂任务往往同时需要多个局部能力:

  • 图像增强
  • 几何比较
  • 搜索网页证据
  • 错误恢复

b) Experience Rewrite

检索到的经验不会直接用,而是会结合当前图像和任务上下文重写。

比如原始经验可能只是:

当图像方向异常时先校正再识别。

在当前任务里会被改写成更具体的版本:

当前图像存在上下颠倒,先旋转 180 度再做物体识别。

这一步解决的是: 经验得可迁移,但落地时又得足够具体。

c) Skill Adaptation

全局 skill 文档也会根据当前任务裁剪、改写,并把刚刚改写好的 experiences 融进去。

最后把这个 adapted skill 注入给执行模型,作为一个非强制参考

也就是说,XSkill 不是把 agent 变成固定脚本,而是给它一个更贴题的“作战手册”。

这篇方法为什么有价值

我觉得这篇论文最值钱的地方,不是“又做了一个 memory”,而是把 agent 的外部知识拆成了两种粒度:

  1. skill 管高层流程
  2. experience 管局部战术

这比很多把所有历史信息混成一个向量库/轨迹库的做法更合理。

因为真实 agent 失败,往往就败在两个层面:

  • 要么流程没想对,比如本该先搜图后访问网页,结果直接瞎搜;
  • 要么局部动作没做对,比如该裁剪没裁剪,该旋转没旋转。

XSkill 相当于把这两个问题分开建模了。

另外,多模态场景里作者强调“visual grounding”也是对的。很多 text-only memory 的方法迁到图像任务上,都会碰到同一个问题: 文字很难完整表达当时真正触发决策的视觉线索。

实验结果

作者在 5 个 benchmark 上评测,覆盖三类任务:

  • visual agentic tool use
  • multimodal search
  • comprehensive multimodal reasoning

并在 4 个 backbone 上做实验:

  • Gemini-2.5-Pro
  • Gemini-3-Flash
  • GPT-5-mini
  • o4-mini

主要结论

  1. 相对 tool-only baseline,XSkill 一直有提升。 Average@4 提升大约 2.58 到 6.71 个点。

  2. 相对已有 learning-from-experience baseline,多数设置下更强。 尤其在复杂视觉推理和多步工具组合任务上优势更明显。

  3. 跨模型迁移有效。 有些模型直接使用 Gemini-3-Flash 累积的知识,也能得到增益。

这说明它学到的不只是某个模型私有的 prompt hack,而更像是可以转移的外部知识结构。

消融实验说明了什么

作者做的消融基本支持了论文主张。

1. skill 和 experience 缺一不可

去掉任意一个都会掉点:

  • 去掉 experience:性能下降
  • 去掉 skill:性能也下降,而且下降还更明显一些

这说明两条流不是重复建设,而是确实互补。

2. skill 更像是在“减少执行错误”

作者分析发现,skill 能明显减少:

  • syntax error
  • tool name error
  • runtime 级别的执行错误

这很符合直觉: skill 本质上就是结构化 workflow + template,对执行鲁棒性帮助很大。

3. experience 更像是在“改变工具选择策略”

experience 的加入会让 agent 更偏向用更合适的工具,例如:

  • 在视觉推理任务中更频繁调用 code interpreter
  • 在 multimodal search 中更愿意调用 image search

也就是说,它提升的不是“写代码语法正确率”,而是: 当前这个题,应该先用什么手段试。

我的判断:这篇论文真正的增量在哪里

我认为这篇工作的真实增量有三点。

增量 1:把记忆分成 task-level 和 action-level

这是最核心的设计点,也是最像“一个对 agent 有用的 memory system”的地方。

很多 memory paper 的问题是: 记了很多,但不知道这些 memory 到底服务于哪一级决策。

XSkill 至少在结构上回答了这个问题。

增量 2:强调视觉 grounding,而不是只做 text memory

这使它比很多纯文本 agent memory 方法更适合多模态场景。

如果 retrieval 和 rewrite 不能看当前视觉上下文,那么很多所谓经验在图像任务里其实是没法对齐的。

增量 3:强调 knowledge adaptation,而不是生硬拼接

检索后先 rewrite,再注入 skill,这条链路是合理的。

因为 raw memory 直接拼 prompt 经常有两个问题:

  • 不够贴当前任务
  • 干扰项太多

XSkill 至少在框架上认真处理了这个问题。

这篇论文的局限

虽然我觉得思路不错,但也有几个明显边界。

1. 还是强依赖知识管理模型本身的能力

XSkill 的关键步骤——summary、critique、merge、rewrite、adapt——几乎都靠 MLLMkb 完成。

这意味着:

  • 如果知识管理模型不够强,抽出来的经验可能很虚;
  • merge / rewrite 也可能带来信息漂移;
  • 整个系统的效果很依赖 prompt engineering 和管理模型质量。

换句话说,它虽然是“training-free”,但不是“cost-free”或“pipeline-free”。

2. benchmark 证明了有效,但离真实长周期在线学习还有距离

论文现在展示的主要还是: 先 accumulate 一批,再 test。

作者说架构支持 continual loop,这在逻辑上没问题; 但它还没有真正展示一个持续数周/数月、知识不断演化的真实在线系统会不会:

  • memory 爆炸
  • 经验污染
  • 旧经验过时
  • 错误经验反复被强化

3. 知识质量评估还是偏 heuristic

什么叫“高质量 experience”、什么叫“泛化性强的 skill”,现在更多还是让模型自己判断。

这在小规模实验里可行,但真到大规模长期积累时,很可能会变成瓶颈。

4. 与参数更新路线的关系还没完全说透

这篇论文强调 non-parametric continual learning,这当然很实用; 但从长期看,外部知识库和参数内化之间怎么配合,依然是开放问题。

也许更现实的方向不是二选一,而是:

  • 在线阶段靠 XSkill 这种外部知识库快速适配
  • 离线阶段再把稳定模式蒸馏回模型参数

我觉得适合谁看

这篇论文比较适合以下几类人:

  1. multimodal agent / tool-use agent 的人
  2. 在想 memory 怎么设计,而不是只想“加个向量库” 的人
  3. 想做 test-time continual improvement 的人
  4. agent skill / workflow / experience 这类外部知识表示感兴趣的人

如果你做的是纯 LLM benchmark 刷分,这篇的吸引力可能一般; 但如果你关心“agent 怎么随着任务越做越强”,这篇是值得读的。

一句话评价

这篇论文不是在证明 agent 终于会“学习”了,而是在认真回答:一个多模态 agent 的外部知识,到底该按什么粒度组织,才能真正在下一题派上用场。

参考

  1. arXiv:2603.12056
  2. HTML 版本