DeepSeek Harness 长期记忆插件:dsh-memory-amem

前言

DeepSeek Harness(DSH)拥有内置的聊天代理,但每个新会话都从零开始。dsh-memory-amem 插件向 DSH 注入 A-MEM 风格的长期代理记忆。每条用户消息都被捕获为结构化笔记,自动通过 LLM 驱动的演化步骤链接到现有记忆,并在每一轮重新注入到系统提示中,使模型能够回忆先前的对话。

核心功能与架构

该插件实现了 A-MEM 的核心流程,并将 DSH 的会话事件与系统提示注入机制结合,构建了一个完整的记忆闭环。

工作流程

记忆引擎的运行分为六个步骤:
1. 准入门:首先通过规则过滤器(如敏感词、过大文本块)和语义去重、信任分数判断来过滤噪音。不符合条件的消息会直接终止流程。
2. 分析内容:利用 LLM 提取消息的关键词、一句话上下文和标签。如果 LLM 输出不可用,会回退到 TF 算法。
3. 检索邻居:基于存储的笔记文档集进行检索,混合使用 BM25(k₁=1.5, b=0.75)和 TF-IDF 的余弦相似度,返回 Top-K 相关笔记。
4. 决定演化:LLM 根据分析结果和检索结果,选择 NO_EVOLUTION、STRENGTHEN、UPDATE_NEIGHBOR 或 STRENGTHEN_AND_UPDATE 之一。
5. 应用演化:STRENGTHEN 增加链接和标签,UPDATE_NEIGHBOR 重写相关笔记的上下文和标签。
6. 持久化笔记:将笔记写入 ~/.dsh/memory-amem/notes/*.json,每 5 秒刷新一次,索引在下次初始化时重新加载。

混合检索与防御

  • 混合检索:结合 BM25 和 TF-IDF,在实体提升等策略下,显著提升了多跳推理场景下的召回率。
  • 提示注入防御:插件内置了针对系统提示注入的防御机制,确保记忆内容的安全注入。

面向模型的工具

插件向 DSH 的模型暴露了四个工具:
* memory_search:搜索记忆库。
* memory_add:手动添加记忆。
* memory_recent:获取最近的记忆。
* memory_stats:记忆库统计信息。

安装与启用

该插件遵循 DSH 的社区插件标准模型。安装时需要指定 --profile web 参数,以便通过 dsh plugin 命令读取包配置并注入到 DSH 主进程和 Web GUI 中。

dsh plugin --profile web add

LoCoMo 基准评估

作者在 LoCoMo 数据集(1 对话 × 199 QA 对)上进行了评估,使用 deepseek-chat 和 deepseek-reasoner 作为下游模型。

评估结果 (v0.2.0):

类别 描述 deepseek-chat deepseek-reasoner
1 单跳事实 21.9% 25.0%
2 多跳推理 45.9% 37.8%
3 时间/反事实 0.0% 7.7%
4 是/否 44.3% 47.1%
5 开放式 4.3% 4.3%
Overall 总体 28.6% 29.1%

关键观察:
* 使用较小的 DeepSeek 模型即可超越 GPT-4 的闭卷基准表现(约 37%)。
* 多跳推理类别受益于 BM25 召回率提升和实体加权,从 0% 提升至 46%。
* 类别 3(时间/反事实)和类别 5(开放式)仍表现较弱。类别 3 的失败主要是因为 LoCoMo 标注答案具有相对性(如 “9 June 2023 前一周”),而检索器缺乏日期代数运算能力。

适用场景与注意

  • 适用场景:需要长上下文保持、多轮对话记忆以及基于历史信息进行推理的 DeepSeek Harness 场景。
  • 注意事项:该插件以当前 DSH 进程的权限运行,安装前建议检查源码与许可证(MIT)。由于存在准入门,某些特定类型的对话(如仅包含问候语)可能不会被捕获为结构化记忆。
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜