Command Palette
Search for a command to run...
MemSkill:面向自演化智能体的内存技能学习与演化
MemSkill:面向自演化智能体的内存技能学习与演化
Haozhen Zhang Quanyu Long Jianzhu Bao Tao Feng Weizhi Zhang Haodong Yue Wenya Wang
摘要
大多数大型语言模型(LLM)代理的记忆系统依赖于一组少量、静态且人工设计的操作来提取记忆。这些固定的操作流程将人类先验知识硬编码于记忆的存储与更新机制中,导致其在面对多样化的交互模式时缺乏灵活性,并在处理长时记忆序列时效率低下。为此,我们提出 MemSkill,将这些记忆操作重新构想为可学习且可进化的“记忆技能”——即结构化、可复用的程序化流程,用于从交互轨迹中提取、整合与修剪信息。受代理技能设计思想的启发,MemSkill 采用一个控制器,学习从一组候选技能中选择最相关的少数技能;同时结合一个基于大语言模型(LLM)的执行器,生成由所选技能引导的记忆内容。除学习技能选择之外,MemSkill 还引入一个“设计者”模块,该模块定期审视那些因所选技能导致记忆错误或不完整的困难案例,并通过提出改进方案或新增技能来持续演化技能集合。由此,MemSkill 构建了一个闭环机制,能够同步优化技能选择策略与技能本身。在 LoCoMo、LongMemEval、HotpotQA 和 ALFWorld 等多个基准任务上的实验表明,MemSkill 在任务表现上显著优于多个强基准模型,并展现出良好的跨场景泛化能力。进一步的分析揭示了技能演化过程的内在规律,为实现更自适应、自我演进的 LLM 代理记忆管理提供了重要洞见。
一句话总结
张浩臻等人提出了 MemSkill,一种面向大语言模型代理的自我演进记忆系统,通过控制器-执行器-设计者循环学习可复用的记忆技能,在长时任务中通过基于失败案例动态优化技能,超越静态方法,实现更自适应的记忆管理。
主要贡献
- MemSkill 将静态记忆操作重新定义为可学习、可复用的技能,用于从交互轨迹中提取和修订记忆,支持基于所选技能的灵活、跨片段级记忆构建,而非固定回合式启发式方法。
- 它引入了一个闭环系统:强化学习控制器选择技能,基于大语言模型的设计者通过分析失败案例演进技能库,从而持续改进技能选择策略与技能集本身。
- 在 LoCoMo、LongMemEval、HotpotQA 和 ALF-World 上评估,MemSkill 超越强基线方法并在任务间泛化,证明其自我演进记忆框架对大语言模型代理的有效性。
引言
作者认为,大语言模型代理的记忆不应依赖僵化的手工操作,而应从可学习、可复用的记忆技能构建——即提取、整合和修剪交互轨迹的结构化例程。先前方法受限于硬编码启发式,难以扩展至长或多样历史,亦无法适应任务需求变化。MemSkill 引入闭环系统:控制器从共享技能库中选择相关技能,大语言模型执行器单次生成技能引导的记忆,设计者基于困难案例迭代优化或新增技能,逐步提升选择策略与技能质量。该方法在 LoCoMo 和 ALF-World 等基准上实现更自适应、可扩展的记忆管理,推动代理不仅学会如何使用记忆,更学会如何改进记忆构建方式。
数据集

-
作者使用多个数据集训练和评估 MemSkill,包括 LoCoMo、LongMemEval、ALFWorld 和 HotpotQA,每个数据集均经调整以测试长上下文推理、记忆构建及分布偏移下的迁移能力。
-
LoCoMo:包含 10 个长交互样本,每个样本约含 200 个训练查询。按样本划分为 6/2/2(训练/验证/测试)。移除对抗性查询,避免因缺失证据导致的噪声监督。
-
LongMemEval:使用 LongMemEval-S 分割,包含超长对话(每段约 100K token)。评估时采用分层抽样约 100 个案例(占数据集五分之一),覆盖多样化问题类型。
-
ALFWorld:转换为离线协议,使用训练集专家轨迹。轨迹按任务类型(如 PICK & PLACE、CLEAN & PLACE)分组构建特定类型记忆库。每类任务使用不重叠轨迹子集:一组用于记忆构建(经验语料库),另一组用于评估,强制在任务模板内泛化。
-
HotpotQA:用于研究分布偏移下的迁移能力。评估三种上下文长度设置:50、100 和 200 个拼接文档(eval_50、eval_100、eval_200)。使用 LLaMA 作为基础模型;结果报告大语言模型评判得分。
-
处理:评估时按片段级(默认 512 token)构建记忆,以减少大语言模型调用并提升效率。训练使用 NVIDIA A6000 GPU;模型通过 NV NIM 和 Together API 访问;GPT-OSS-120B 作为大语言模型评判器。
方法
作者利用 MemSkill 框架,通过两个交织过程优化代理记忆:学习使用技能库,以及基于困难案例演进该库。架构将轨迹特定记忆与可复用记忆管理知识解耦,维护两个独立存储。记忆库为轨迹特定,存储为每个训练轨迹(如长对话)构建的记忆。技能库则跨所有轨迹共享,包含可复用记忆技能。训练期间,控制器与执行器与每条轨迹交互构建其记忆库,而设计者在阶段间更新共享技能库。该交替过程逐步改进技能选择策略与记忆构建技能库。
如框架图所示,MemSkill 按片段处理交互轨迹。控制器基于当前文本片段和检索到的记忆,从共享技能库中选择 Top-K 子集技能。大语言模型执行器随后单次应用所选技能,更新轨迹特定记忆库。所构建记忆在依赖记忆的训练查询上评估,为优化控制器提供任务奖励,而以查询为中心的失败案例则记录到滑动困难案例缓冲区。周期性地,设计者挖掘代表性困难案例,精炼现有技能并提出新技能,形成技能使用与技能演进的交替阶段。

技能库初始化包含四个基本原语:INSERT、UPDATE、DELETE 和 SKIP。每个技能 s∈S 包含简短描述用于表示和选择,以及详细内容规范指导执行器如何执行记忆提取或修订。设计者逐步精炼现有技能并通过提出新技能扩展库,以应对未覆盖的失败模式。
控制器在每次记忆构建步骤中,为当前上下文选择一小部分相关记忆技能。作者将每条交互轨迹分割为连续文本片段并顺序处理。对每个片段,控制器基于当前文本片段和检索到的现有记忆进行选择。为兼容可变大小技能库,控制器通过测量当前状态表示与技能表示之间的语义距离对每个技能评分。状态嵌入计算为 ht=fctx(xt,Mt),其中 xt 为当前文本片段,Mt 为检索到的记忆。技能嵌入计算为 νi=fskill(desc(si)),基于技能描述。控制器通过 zt,i=ht⊤ui 对每个技能评分,概率分布为 pθ(i∣ht)=softmax(zt)i。控制器无放回选择有序 Top-K 技能集 At=(at,1,…,at,K)(例如通过 Gumbel-Top-K 采样),仅将选定技能传递给执行器。
执行器(固定大语言模型)通过条件化当前文本片段、检索到的记忆项和选定技能构建记忆更新。这类似于代理系统中的技能条件推理,其中少量相关技能指导当前上下文的行为。执行器以结构化格式输出记忆更新,经解析后应用于更新轨迹的记忆库。通过为同一文本片段组合多个技能并在一次大语言模型调用中提取记忆,MemSkill 减少每回合重复处理,可扩展至长交互历史。
控制器通过强化学习训练,使用下游任务表现作为技能选择的反馈。对于每条训练轨迹,控制器做出一系列 Top-K 选择,同时执行器逐步构建轨迹特定记忆库。构建完成后,结果记忆库在轨迹的依赖记忆训练查询上评估,任务表现(如 F1 或成功率)用作奖励。无放回 Top-K 选择的联合对数概率计算为 πθ(At∣st)=∏j=1K1−∑ℓ<jpθ(at,ℓ∣st)pθ(at,j∣st)。作者使用近端策略优化(PPO)优化控制器,将标准单动作对数概率替换为 Top-K 联合对数概率。同时学习价值函数并包含熵奖励以促进探索。
除学习从固定技能集选择外,MemSkill 还通过基于大语言模型的设计者在训练期间周期性演进技能库。设计者维护一个滑动窗口缓冲区,记录最近观察到的挑战性案例。每个案例以查询为中心,记录查询、真实答案、元数据和摘要统计。缓冲区使用过期规则跟踪近期失败模式,避免无限增长。为聚焦于有影响的失败,设计者将案例聚类为反映不同查询或错误类型的组,并使用难度评分优先选择代表性案例,该评分随任务表现低和重复失败而增加。设计者分两阶段更新技能库:首先分析选定困难案例,识别缺失或误指定的记忆行为;其次提出对现有技能的具体修改并引入新技能。作者维护表现最佳技能库的快照,若更新导致性能下降则回滚,并在重复更新未改善训练信号时提前停止。每次演进步骤后,偏向选择新引入的技能,鼓励控制器尝试它们。
MemSkill 在学习选择和应用技能构建记忆库与基于最近训练步骤挖掘的困难案例演进技能库之间交替。每个周期始于当前技能库上的控制器训练,期间执行器构建记忆并积累挑战性案例。随后设计者使用代表性困难案例更新技能库,若更新退化可选择回滚至先前快照。下一周期在更新后的技能库上恢复控制器训练,附加探索以鼓励早期使用新技能。通过重复周期,MemSkill 逐步改进技能使用与可用于记忆构建的技能库。
实验
- MemSkill 在对话式(LoCoMo、LongMemEval)和具身式(ALFWorld)基准上超越多个强基线,展现卓越的记忆构建与决策能力。
- 它在不同基础大语言模型(从 LLaMA 到 Qwen)间有效泛化,无需重训练,表明所学技能捕捉了可复用的记忆行为。
- 技能在相同设置内(LoCoMo 到 LongMemEval)及显著分布偏移下(LoCoMo 到 HotpotQA)成功迁移,尽管输入格式和上下文长度不同,仍保持强性能。
- 消融研究证实,学习控制器(用于技能选择)与技能设计者(用于演进)均至关重要,技能演进对性能贡献更大,尤其在新模型或新上下文中。
- 演进技能具领域适应性:对话任务优先考虑时序与活动结构,具身任务聚焦动作约束与对象状态,反映任务特定记忆需求。
- 在更长、更嘈杂上下文中,选择更多技能可提升性能,表明 MemSkill 从组合式技能使用中受益,无需任务特定调优。
作者通过消融评估 MemSkill 核心组件,表明用于技能选择的学习控制器与用于技能演进的设计者均显著贡献于性能。移除任一组件均导致结果下降,静态技能导致最大降幅——尤其在 Qwen 上——表明演进技能库对泛化至关重要。精炼现有技能有帮助,但不及完整系统,确认引入新技能带来超越单纯精炼的额外价值。

MemSkill 在对话式与具身式交互任务上始终超越所有对比方法,在多种基础模型下实现最高的记忆质量与任务成功率。该方法展现强泛化能力,迁移所学技能至不同数据集和基础大语言模型时无需重训练仍保持优越性能。结果证实,其自适应技能选择与演进机制相比固定或手工设计方法能更有效地构建记忆。
