Enhanced Memory

Polar Sponsor
爱发电 赞助
.NET 9.0

增强型记忆搜索,采用混合向量+关键词评分、时序路由、文件路径评分、自适应加权、伪相关反馈、显著性评分及知识图谱交叉引用。以四信号融合检索系统取代默认记忆搜索。适用于记忆搜索、索引记忆文件、构建交叉引用或评估记忆显著性。需 Ollama 及 nomic-embed-text 模型。

增强内存 : Drop- in增强 OpenClaw 的内存系统. : 换上平面矢量搜索, 并使用4个信号混合检索管道, 实现了 0. 782 MRR( vs~

功能概述

增强内存 : Drop- in增强 OpenClaw 的内存系统. : 换上平面矢量搜索, 并使用4个信号混合检索管道, 实现了 0. 782 MRR( vs~是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

增强型记忆系统

OpenClaw 记忆系统的即插即用式增强模块。以四信号混合检索流水线替代原有的扁平向量搜索,MRR 达到 0.782(基线纯向量检索约为 0.45)。

安装配置

# 安装 Ollama 并拉取嵌入模型
ollama pull nomic-embed-text

# 索引你的记忆文件(请在 workspace 根目录下执行)
python3 skills/enhanced-memory/scripts/embed_memories.py

# 可选:构建跨引用图谱
python3 skills/enhanced-memory/scripts/crossref_memories.py build

当 memory 文件发生显著变更时,请重新运行 embed_memories.py。

脚本说明

scripts/search_memory.py — 主检索脚本

具备自动适配能力的四信号混合检索:

python3 skills/enhanced-memory/scripts/search_memory.py "query" [top_n]

融合的四大信号:

  1. 向量相似度(权重 0.4)—— 基于 nomic-embed-text 嵌入向量的余弦相似度
  2. 关键词匹配(权重 0.25)—— 查询词与文本块内容的重叠程度
  3. 标题匹配(权重 0.1)—— 查询词是否出现在章节标题中
  4. 路径评分(权重 0.25)—— 查询词与文件名或目录名的匹配程度

自动行为特性:

  • 时间路由(Temporal routing)—— 对包含日期指代(如“昨天”、“2 月 8 日”、“上周一”)的查询,匹配文件得分提升至 3 倍
  • 自适应加权(Adaptive weighting)—— 当关键词重叠率较低时,自动将向量权重提升至 85%
  • 伪相关反馈(Pseudo-relevance feedback, PRF)—— 当最高得分低于 0.45 时,从初始结果中提取扩展词项重构查询,并重新打分

scripts/enhanced_memory_search.py — JSON 兼容检索

采用相同检索流程,输出格式为 JSON,与 OpenClaw 的 memory_search 工具兼容:

python3 skills/enhanced-memory/scripts/enhanced_memory_search.py --json "query"

返回结构:{results: [{path, startLine, endLine, score, snippet, header}], ...}。

scripts/embed_memories.py — 索引构建

对 memory/ 目录下所有 .md 文件,以及核心 workspace 文件(如 MEMORY.md、AGENTS.md 等),按 Markdown 标题切分文本块并完成嵌入:

python3 skills/enhanced-memory/scripts/embed_memories.py

输出文件为 memory/vectors.json。嵌入过程按每批 20 条进行批量处理,单个文本块截断长度为 2000 字符。

scripts/memory_salience.py — 显著性评分

识别陈旧/重要记忆条目,用于心跳机制下的自提示(self-prompting):

python3 skills/enhanced-memory/scripts/memory_salience.py          # 生成人类可读提示
python3 skills/enhanced-memory/scripts/memory_salience.py --json   # 输出结构化 JSON
python3 skills/enhanced-memory/scripts/memory_salience.py --top 5  # 返回更多条目

评分公式为 importance × staleness,综合考量:文件类型(主题类 > 核心类 > 日常类)、文件大小、访问频率及与历史查询间隔的相关性。

scripts/crossref_memories.py — 知识图谱构建

基于嵌入相似度,在记忆文本块之间建立跨引用链接:

python3 skills/enhanced-memory/scripts/crossref_memories.py build          # 构建索引
python3 skills/enhanced-memory/scripts/crossref_memories.py show     # 查看某文件的引用关系
python3 skills/enhanced-memory/scripts/crossref_memories.py graph          # 输出图谱统计信息

采用“文件代表性”策略(每文件选取 top 5 文本块为代表),将原始 O(n²) 复杂度降至可管理规模。相似度阈值设定为 0.75(余弦相似度)。

配置参数

所有可调常量均位于各脚本顶部。关键参数如下:

参数 默认值 所属脚本 用途
VECTOR_WEIGHT 0.4 search_memory.py 向量相似度权重
KEYWORD_WEIGHT 0.25 search_memory.py 关键词重叠权重
FILEPATH_WEIGHT 0.25 search_memory.py 路径匹配权重
TEMPORAL_BOOST 3.0 search_memory.py 时间匹配文件的得分倍增系数
PRF_THRESHOLD 0.45 search_memory.py 触发 PRF 的最低得分阈值
SIMILARITY_THRESHOLD 0.75 crossref_memories.py 跨引用链接所需的最小相似度
MODEL nomic-embed-text 所有脚本 Ollama 使用的嵌入模型

若需更换嵌入模型(例如使用 mxbai-embed-large),请修改各脚本中的 MODEL 常量,并重新运行 embed_memories.py。

集成方式

如需替换默认记忆检索功能,请将 agent 的搜索工具指向上述脚本。这些脚本依赖以下前提条件:

  • workspace 根目录下存在 memory/ 目录,其中包含若干 .md 文件
  • 已通过 embed_memories.py 生成 memory/vectors.json
  • Ollama 在本地 11434 端口运行

所有脚本仅依赖 Python 标准库及 Ollama HTTP API,无需额外 pip 安装依赖。

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习