Production-grade long-term memory system for OpenClaw AI agents with hybrid vector+BM25 retrieval, LLM-powered Smart Extraction, and Weibull decay lifecycle management.
基本信息
- 技能名称?memory-lancedb-pro
- 中文名称?AI代理的长期记忆中枢
- 作者?aaronx-hu
- 分类?专业技能
- 版本?1.0.0
- 标签?mcp, lancedb, vector-database, memory-management, retrieval-augmented-generation, openclaw, embedding, bm25, self-improvement, ollama
使用方法
使用说明
memory-lancedb-pro 综合评估
核心用法
memory-lancedb-pro 是专为 OpenClaw AI 代理设计的生产级长期记忆 MCP 插件,基于 LanceDB 向量数据库构建。核心功能包括:
- 智能记忆提取(Smart Extraction) :通过 LLM 自动从对话中提取 6 类结构化记忆(preference/fact/decision/entity/reflection/other),支持 L0/L1/L2 分层内容生成
- 混合检索(Hybrid Retrieval) :融合向量相似度(70%)与 BM25 全文搜索(30%),配合交叉编码器重排序(cross-encoder reranking)实现高精度召回
- 记忆生命周期管理 :基于 Weibull 分布的三层衰减模型(Core/Working/Peripheral),支持访问强化和自动晋升/降级
- 多作用域隔离 :支持 global、agent: 、project: 等多级记忆隔离
- 自我改进治理 :内置 LEARNINGS.md/ERRORS.md 日志系统和技能提取工具
MCP 工具集 : memory_recall 、 memory_store 、 memory_forget 、 memory_update 、 memory_stats 、 memory_list 为核心工具; self_improvement_log 、 self_improvement_extract_skill 、 self_improvement_review 为治理工具(需启用管理工具)。
显著优点
检索精度领先 :Jina v5 任务感知嵌入 + Jina reranker v3 交叉编码器组合,在 MTEB 基准上表现优异
全自动记忆流水线 :autoCapture(自动提取)+ autoRecall(自动注入)实现零手动干预
生产级可靠性 :支持多密钥故障转移、详细的配置验证、一键迁移工具
隐私友好选项 :完整支持 Ollama 本地部署,无需任何外部 API
灵活配置 :4 种预设配置方案(Full Power/Budget/Simple/Fully Local)适配不同场景
潜在缺点与局限性
配置复杂度较高 :20+ 个配置字段,新手容易遗漏 baseURL 大小写、 /v1 后缀、 plugins.allow 等关键细节
本地模式性能 trade-off :Ollama 方案无交叉编码器重排序,检索精度显著低于云端方案
资源消耗 :推荐配置需同时维护 Jina + OpenAI 两个付费 API;本地模式需 8-16GB VRAM
Smart Extraction 依赖 LLM 质量 :本地 LLM 可能出现 JSON 结构化输出失败,需降级为 smartExtraction: false
网关重启依赖 :任何配置变更都需要重启 OpenClaw Gateway,不支持热更新
适合人群
AI 代理开发者 :需要为 OpenClaw 代理添加长期记忆能力的开发者
多代理系统架构师 :需要跨代理共享知识同时保持隔离的复杂场景
隐私敏感用户 :通过 Plan D(Ollama 本地方案)实现完全离线部署
成本敏感团队 :Plan B/C 提供逐步降级的成本优化路径
常规风险
API 密钥泄露风险 :配置文件中需嵌入 ${ENV_VAR} 格式密钥,需确保网关进程环境变量正确设置
数据迁移风险 :从旧版 memory-lancedb 迁移时需使用专用命令,直接复制数据库文件会导致 schema 不兼容
jit 缓存污染 :修改插件源码后必须清除 /tmp/jiti/ 缓存,否则可能运行旧代码
记忆注入泄露 :若代理提示词未正确设置,可能将 内容直接输出给用户
作用域配置错误 :multi-scope 需要显式配置 scopes.agentAccess ,否则代理只能访问 global 作用域
💬 评论 (0)
📭 还没有评论,快来抢沙发吧!