老板们,一定要搞定您公司的龙虾记忆分层

🧠 记忆分层架构(原生 3 层 + 我扩展的 2 层) 层级 存储形式 生命周期 用途 访问范围 0️⃣ 会话上下文 当前对话历史(数组) 单次会话 实时理解、即时决策 当前 session 1️⃣ 每日日志 memory/YYYY‑MM‑DD.md 永久(文件) 原始事件记录、原始决策、待办 当前 agent(main session) 2️⃣ 长期记忆 MEMORY.md 永久(文件) 精炼知识、经验总结、偏好、教训 仅 main session(安全隔离) 3️⃣ 结构化知识 Ontology 知识图谱(可选技能) 永久(图谱文件) 实体关系、项目依赖、跨技能状态共享 安装了 ontology 技能时 4️⃣ 跨会话索引 已索引的会话记录(内部存储) 永久(索引) 搜索历史对话、跨会话回忆 通过 memory_search 工具 5️⃣ 外部补充 Compiled‑wiki 补充资料(可注册) 永久(外部) 额外文档、知识库 memory_search corpus=wiki 📂 各层详情 0️⃣ 会话上下文(Session Context) 内容:本次对话的最近数十条消息。 特点:临时性,session 结束后自动消失(除非显式持久化)。 用途:维持对话连贯、处理指代。 1️⃣ 每日日志(每日日志) 路径:<workspace>/memory/YYYY‑MM‑DD.md 写入时机: 重要事件发生后(如完成任务、发布博客) Heartbeat 检查时归档临时信息 示例: ## 2026‑04‑29 - 解读 browser-use 仓库 - 创建 DeepSeek V4 博客文章 - 更新 TOOLS.md(新增 browser-use 技能笔记) 安全:仅在 main session(直接对话)自动加载,群聊、共享环境不读取。 2️⃣ 长期记忆(MEMORY.md) 路径:<workspace>/MEMORY.md 本质:策划后的精华记忆,相当于人类的长期记忆。 存放: 用户偏好(如“主人喜欢简洁技术总结”) 重要决策(如“默认模型改为 GLM‑4.7”) 经验教训(如“避免在群聊中加载 MEMORY.md”) 项目上下文(如“blog‑demo 使用 Hugo + PaperMod”) 维护:Heartbeat 定期回顾最近的每日日志,提炼有价值信息写入。 3️⃣ 结构化知识(Ontology) 技能:ontology(如果已安装) 模型:实体(Person、Project、Task、Event、Document)+ 关系(link、depends_on 等) 好处:跨技能共享状态、约束检查、依赖可视化,适合复杂业务工作流。 4️⃣ 跨会话索引(Session Transcripts) 机制:OpenClaw 为每个会话生成 sessions/YYYY‑MM‑DD‑<slug>.md 并自动建立向量+BM25 混合索引。 检索:memory_search(query, corpus="all") 自动搜索这些索引。 检索原理: 向量搜索(70% 权重)捕捉语义相似度 BM25(30% 权重)保证精确关键词匹配 每块约 400 token,80 token 重叠,SHA‑256 去重 5️⃣ 外部补充(Compiled‑wiki) 用途:接入公司内部 Wiki、产品手册、行业文档等外部知识库。 访问:同样通过 memory_search corpus="wiki" 检索。 🔍 原生检索机制 向量 + BM25 融合(70%/30%) 块分割:400 token 块 + 80 token 重叠,防止上下文丢失 去重:块 SHA‑256 哈希,已有向量直接命中缓存 压缩触发:当会话快达到上下文上限时,系统会让模型在压缩前把关键信息写入 memory/*.md 或 MEMORY.md(即所谓的 “Dreaming”) 📦 实际操作示例 # 查看今天的日志 cat $(date +%Y-%m-%d).md # 向长期记忆写入关键结论(示例) cat >> MEMORY.md <<EOF - 结论:使用向量+BM25 的混合检索可以兼顾概念关联和精确匹配。 EOF # 用 ontology 记录项目关系 ontology create entity Project name="blog-demo" ontology create relationship link source=Project target=Document name="deepseek-v4.md" 🔐 记忆安全与隔离(简要回顾) 文件系统权限:700 目录、600 文件,仅当前 agent 可读写。 会话层隔离:MEMORY.md 只在 主私人会话 加载,避免在群聊泄露。 审计日志:每次写入都会记录在 memory/heartbeat-state.json,可追溯。 子代理 sandbox:默认只读工作区,写入必须显式声明。 可选加密:若有合规需求,可对 MEMORY.md 进行 AES‑256‑GCM 加密。 🎯 小结 OpenClaw 的记忆分层把 即时日志、长期精华、结构化实体、跨会话索引 和 外部 Wiki 五层有机结合,兼顾 可检索性、安全性 与 可维护性。 通过 混合向量+BM25 检索、块去重 与 Dreaming 机制,保证重要信息不被上下文压缩遗失。 正确使用 memory_search、memory_get、ontology 等工具,可以让企业 AI 助手在 千余次会话 后仍保持对关键业务的清晰记忆。 #openclaw #龙虾 #memory ...

阅读全文 →