MemHarness:GRPO驱动的开源LLM智能体记忆重构框架
MemHarness是什么
MemHarness是一套面向LLM Agent的开源记忆增强完整工程框架。传统智能体检索历史记忆后直接把原始片段送入提示词,旧经验与当前环境不匹配时会误导决策。MemHarness借鉴人类重构式记忆认知理论,在记忆检索和动作生成之间增加校验、改写重构步骤,不直接复用原始记忆,输出适配当下环境的经验指引。
项目基于Python开发,Apache‑2.0协议,底层依托verl‑agent强化学习基座,使用Milvus向量库存储交互轨迹,已适配ALFWorld、WebShop两大Agent标准评测环境,同时开放Hugging Face预训练权重,可完整复现论文全部实验结果。

功能特色
记忆重构而非原文回放:新增校验‑重构中间环节,对检索得到的历史记忆做有效性判断、改写适配,过滤冲突过时信息。
双阶段训练流程:支持SFT冷启动 + GRPO端到端强化学习,仅依靠环境奖励信号,无需人工标注重构样本。
内置完整记忆生命周期管理:包含记忆检索、轨迹摘要、语义去重、低效用记忆修剪整套能力,基于BGE‑M3做向量嵌入。
优秀的OOD分布外鲁棒性:面对从未见过的环境布局、任务,能够抑制负迁移,维持较高任务完成成功率。
推理增益效果:即使关闭记忆模块,经过重构任务训练后的模型本身推理能力也得到提升。
开箱即用工程配套:提供Docker配置、全套训练评估脚本、单元测试,公开ALFWorld、WebShop两套预训练权重。
模块化易二次开发:检索、重构、训练、环境交互模块解耦,可以替换基座大模型、向量数据库与仿真环境。
技术细节
整体执行链路
观测环境状态 → 记忆检索召回历史轨迹 → 记忆校验(Critique) → 记忆重构(Reconstruction) → 生成动作 → 轨迹回写修剪记忆库
记忆检索层
采用Milvus向量数据库存储历史交互轨迹;使用BGE‑M3作为Embedding模型,vLLM部署向量推理服务,根据当前观测召回Top‑k历史经验。校验与重构核心模块
策略模型比对历史记忆对应的环境状态与当前实时状态,识别冲突、无关记忆;对有效记忆进行改写重组生成场景适配指引;完全不匹配时直接跳过记忆,使用模型原生推理。重构输出内容来源严格限定于检索记忆,减少幻觉生成。训练机制:SFT冷启动 + GRPO强化学习
SFT冷启动(可选):构建交互与记忆重构格式数据集微调基座模型,做初始化对齐;
GRPO强化学习:基于verl框架实现分组相对策略优化,使用环境任务奖励作为唯一监督信号迭代策略模型,支持单机与Slurm集群训练。
记忆库维护
任务结束后自动总结交互轨迹,语义去重写入向量库;依据经验效用评分定期修剪低价值记忆,控制记忆库规模。实验基座
默认基座Qwen2.5‑7B‑Instruct;测试环境为ALFWorld具身仿真、WebShop网页购物仿真;完整复现论文内各项基线对比实验。

应用场景
具身智能交互Agent:虚拟家居、仿真机器人任务,环境布局动态变化,需要复用历史操作经验同时规避过时经验干扰。
网页操作智能体:网页购物、网页自动化操作,页面、商品动态变化,防止旧页面记忆造成错误操作。
长时序复杂任务Agent:任务周期长,产生大量交互轨迹,原始记忆直接输入容易带来冲突与上下文膨胀。
分布外未知任务场景:智能体经常遇到训练未见过的环境,需要泛化历史经验,抑制负迁移。
科研算法复现:LLM智能体记忆算法研究,用于对比、开发新型记忆增强策略。
使用方法
环境准备
创建Python3.12 conda环境,安装vLLM、FlashAttention2、pymilvus等依赖,执行pip install -e .完成项目本地安装;单独配置ALFWorld、WebShop仿真环境,WebShop建议Python版本≤3.10。启动向量嵌入服务
通过vLLM部署BGE‑M3嵌入模型,提供API接口,用于记忆向量的生成与检索。数据预处理
运行examples/data_preprocess下脚本,生成Parquet格式训练、测试数据集。模型训练(二选一)
方案A:直接使用Hugging Face公开预训练权重跳过训练;
方案B:先运行SFT冷启动微调,再执行run_scripts目录下GRPO训练脚本,可配置模型路径、Milvus地址、记忆开关、检索参数。
评估推理
加载权重运行评估脚本,输出任务成功率、分布外场景指标,验证记忆重构效果。
提示:可修改各模块配置,替换基座大模型、向量数据库,适配自定义Agent任务。
竞品对比
| 项目 | 核心范式 | 训练方式 | 负迁移处理 | OOD泛化能力 | 是否需要大量人工标注 |
|---|---|---|---|---|---|
| MemHarness | 检索‑校验‑重构‑决策,记忆重构范式 | SFT冷启动+GRPO强化学习 | 显式校验过滤冲突记忆,改写适配场景 | 优秀 | 否 |
| Mem0 | 检索‑总结‑原文注入,记忆摘要回放 | 提示工程、少量微调 | 依靠摘要间接降低冲突,无显式校验逻辑 | 一般 | 否 |
| Reflection Agent | 事后反思总结记忆,检索反思文本 | 提示工程为主,少量微调 | 依赖Prompt规避冲突,无专门校验模块 | 一般 | 需要设计大量提示模板 |

常见问题解答
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:检索模块做了解耦,可以替换其他向量库,需要自行适配检索接口。
相关链接
GitHub开源仓库:https://github.com/KnowledgeXLab/MemHarness
arXiv论文页面:https://arxiv.org/abs/2607.28272
Hugging Face模型库:https://huggingface.co/KnowledgeXLab/MemHarness
总结
MemHarness是KnowledgeXLab团队发布的开源LLM智能体记忆重构工程,打破传统记忆直接回放的模式,实现检索‑校验‑重构‑决策完整链路,依托Milvus向量库与GRPO强化学习,无需大量人工标注,在具身、网页交互任务上有效抑制负迁移,提升分布外场景的泛化能力,为动态交互大模型智能体提供一套可直接复现、支持二次开发的记忆增强落地方案。
版权及免责申明:本文由@AI工具集原创发布。该文章观点仅代表作者本人,不代表本站立场。本站不承担任何相关法律责任。
如若转载,请注明出处:https://www.aipuzi.cn/ai-news/memharness.html

