MemHarness:GRPO驱动的开源LLM智能体记忆重构框架

AI新闻 AI工具集
60

MemHarness是什么

MemHarness是一套面向LLM Agent的开源记忆增强完整工程框架。传统智能体检索历史记忆后直接把原始片段送入提示词,旧经验与当前环境不匹配时会误导决策。MemHarness借鉴人类重构式记忆认知理论,在记忆检索和动作生成之间增加校验、改写重构步骤,不直接复用原始记忆,输出适配当下环境的经验指引。

项目基于Python开发,Apache‑2.0协议,底层依托verl‑agent强化学习基座,使用Milvus向量库存储交互轨迹,已适配ALFWorld、WebShop两大Agent标准评测环境,同时开放Hugging Face预训练权重,可完整复现论文全部实验结果。

MemHarness(图1)

功能特色

  1. 记忆重构而非原文回放:新增校验‑重构中间环节,对检索得到的历史记忆做有效性判断、改写适配,过滤冲突过时信息。

  2. 双阶段训练流程:支持SFT冷启动 + GRPO端到端强化学习,仅依靠环境奖励信号,无需人工标注重构样本。

  3. 内置完整记忆生命周期管理:包含记忆检索、轨迹摘要、语义去重、低效用记忆修剪整套能力,基于BGE‑M3做向量嵌入。

  4. 优秀的OOD分布外鲁棒性:面对从未见过的环境布局、任务,能够抑制负迁移,维持较高任务完成成功率。

  5. 推理增益效果:即使关闭记忆模块,经过重构任务训练后的模型本身推理能力也得到提升。

  6. 开箱即用工程配套:提供Docker配置、全套训练评估脚本、单元测试,公开ALFWorld、WebShop两套预训练权重。

  7. 模块化易二次开发:检索、重构、训练、环境交互模块解耦,可以替换基座大模型、向量数据库与仿真环境。

技术细节

整体执行链路

观测环境状态 → 记忆检索召回历史轨迹 → 记忆校验(Critique) → 记忆重构(Reconstruction) → 生成动作 → 轨迹回写修剪记忆库

  1. 记忆检索层
    采用Milvus向量数据库存储历史交互轨迹;使用BGE‑M3作为Embedding模型,vLLM部署向量推理服务,根据当前观测召回Top‑k历史经验。

  2. 校验与重构核心模块
    策略模型比对历史记忆对应的环境状态与当前实时状态,识别冲突、无关记忆;对有效记忆进行改写重组生成场景适配指引;完全不匹配时直接跳过记忆,使用模型原生推理。重构输出内容来源严格限定于检索记忆,减少幻觉生成。

  3. 训练机制:SFT冷启动 + GRPO强化学习

  • SFT冷启动(可选):构建交互与记忆重构格式数据集微调基座模型,做初始化对齐;

  • GRPO强化学习:基于verl框架实现分组相对策略优化,使用环境任务奖励作为唯一监督信号迭代策略模型,支持单机与Slurm集群训练。

  1. 记忆库维护
    任务结束后自动总结交互轨迹,语义去重写入向量库;依据经验效用评分定期修剪低价值记忆,控制记忆库规模。

  2. 实验基座
    默认基座Qwen2.5‑7B‑Instruct;测试环境为ALFWorld具身仿真、WebShop网页购物仿真;完整复现论文内各项基线对比实验。

MemHarness(图2)

应用场景

  1. 具身智能交互Agent:虚拟家居、仿真机器人任务,环境布局动态变化,需要复用历史操作经验同时规避过时经验干扰。

  2. 网页操作智能体:网页购物、网页自动化操作,页面、商品动态变化,防止旧页面记忆造成错误操作。

  3. 长时序复杂任务Agent:任务周期长,产生大量交互轨迹,原始记忆直接输入容易带来冲突与上下文膨胀。

  4. 分布外未知任务场景:智能体经常遇到训练未见过的环境,需要泛化历史经验,抑制负迁移。

  5. 科研算法复现:LLM智能体记忆算法研究,用于对比、开发新型记忆增强策略。

使用方法

  1. 环境准备
    创建Python3.12 conda环境,安装vLLM、FlashAttention2、pymilvus等依赖,执行pip install -e .完成项目本地安装;单独配置ALFWorld、WebShop仿真环境,WebShop建议Python版本≤3.10。

  2. 启动向量嵌入服务
    通过vLLM部署BGE‑M3嵌入模型,提供API接口,用于记忆向量的生成与检索。

  3. 数据预处理
    运行examples/data_preprocess下脚本,生成Parquet格式训练、测试数据集。

  4. 模型训练(二选一)

  • 方案A:直接使用Hugging Face公开预训练权重跳过训练;

  • 方案B:先运行SFT冷启动微调,再执行run_scripts目录下GRPO训练脚本,可配置模型路径、Milvus地址、记忆开关、检索参数。

  1. 评估推理
    加载权重运行评估脚本,输出任务成功率、分布外场景指标,验证记忆重构效果。

提示:可修改各模块配置,替换基座大模型、向量数据库,适配自定义Agent任务。

竞品对比

项目 核心范式 训练方式 负迁移处理 OOD泛化能力 是否需要大量人工标注
MemHarness 检索‑校验‑重构‑决策,记忆重构范式 SFT冷启动+GRPO强化学习 显式校验过滤冲突记忆,改写适配场景 优秀
Mem0 检索‑总结‑原文注入,记忆摘要回放 提示工程、少量微调 依靠摘要间接降低冲突,无显式校验逻辑 一般
Reflection Agent 事后反思总结记忆,检索反思文本 提示工程为主,少量微调 依赖Prompt规避冲突,无专门校验模块 一般 需要设计大量提示模板

MemHarness(图3)

常见问题解答

Q:MemHarness和RAG检索增强有什么本质区别?

A:传统RAG多用于静态问答,直接把检索原文放入提示词。MemHarness面向动态交互Agent,增加校验重构环节,会结合实时环境状态改写历史经验,专门解决动态任务下经验错配、负迁移问题。

Q:MemHarness可以直接用于普通聊天机器人吗?

A:项目目标是交互决策类智能体,例如具身仿真、网页操作。普通闲聊对话收益有限,更适合需要持续执行动作、环境不断变化的Agent场景。

Q:MemHarness对硬件算力有什么要求?

A:7B模型完整GRPO训练需要多张GPU;仅做推理评估,单张高显存GPU即可运行,向量库可部署本地Milvus。

Q:记忆重构会不会产生幻觉编造不存在的经验?

A:框架做了内容来源约束,重构生成内容素材全部来自检索召回的记忆片段,不允许引入记忆库以外的知识,以此降低幻觉风险。

Q:是否可以更换Qwen2.5基座为其他大模型?

A:模块化设计支持替换基座大模型,但是需要重新做SFT格式对齐,再执行GRPO强化学习训练。

Q:MemHarness与论文版本是否完全一致?

A:该开源仓库是论文配套官方实现,可以完整复现论文ALFWorld、WebShop全部实验指标。

Q:可以不用Milvus向量数据库吗?

A:检索模块做了解耦,可以替换其他向量库,需要自行适配检索接口。

相关链接

  1. GitHub开源仓库:https://github.com/KnowledgeXLab/MemHarness

  2. arXiv论文页面:https://arxiv.org/abs/2607.28272

  3. Hugging Face模型库:https://huggingface.co/KnowledgeXLab/MemHarness

总结

MemHarness是KnowledgeXLab团队发布的开源LLM智能体记忆重构工程,打破传统记忆直接回放的模式,实现检索‑校验‑重构‑决策完整链路,依托Milvus向量库与GRPO强化学习,无需大量人工标注,在具身、网页交互任务上有效抑制负迁移,提升分布外场景的泛化能力,为动态交互大模型智能体提供一套可直接复现、支持二次开发的记忆增强落地方案。

打赏
THE END
作者头像
AI工具集
工具不孤岛,AI集大成——这里有你要的一切智能解法