不解决长期记忆问题,任何Agent都不配叫个人助理
不解决长期记忆问题,任何Agent都不配叫个人助理
By @lemondooe | Sun Feb 22 12:41:42 +0000 2026 Likes: 179 | Retweets: 33 | Views: 56858 Words: 254
我从 openclaw 在华语区有声量的第一天就开始使用。各种配置的坑都是小事,唯独长期记忆是最让我头疼的。因为它当时最吸引我的点就是这个—本地存储记忆(不依赖单一大模型客户端)+长期记忆能力。但真正使用过后才发现,即使到了最近的更新版本(2.19)也依然解决不了这个问题。直到。。。
一、真正的问题是什么
大模型有个根本性缺陷:没有跨会话的长期记忆。每次打开新对话,一切从零开始。你用 Claude 谈了两小时商业战略,下次它什么都不记得。你在 Gemini 做了市场分析,换到 ChatGPT 又要重新建立语境。
更本质的问题是:每个 AI 是一座数据孤岛。
二、探索解决方案
第一阶段:纯 Markdown 文件
最早的方案极简:把重要内容手动写成 .md 文件,统一放一个目录,需要时贴进对话。
优点:
-
任何 AI 都能读,零绑定
-
数据完全属于自己
-
0成本 0配置
致命缺陷:
-
全靠手动维护,懒一次就破功
-
文件一多,不知道该贴哪个
-
AI 看到的是孤立文档,不知道文档之间的关联
-
没有智能检索,只能靠记忆自己找
这套方案撑了一段时间,随着信息量增长越来越难用。
第二阶段:OpenViking——字节火山引擎的开源方案
字节火山引擎(Volcengine)开源了 OpenViking(github.com/volcengine/OpenViking),一个专为 AI Agent 设计的 Context 数据库,GitHub 上积累了 2.9k stars。它的核心创新是文件系统范式——放弃了传统 RAG 的碎片化向量存储,改用类似本地文件系统的方式统一管理:
L0 — 极简摘要(几十 token,永远在上下文里)
L1 — 结构化大纲(按需加载)
L2 — 完整内容(用时才拉取)
这个设计很聪明——按需分层加载,大幅节省 token。它还支持目录递归检索,把语义搜索和路径定位结合,可以追踪检索轨迹(出了问题知道哪里错了)。但我用了一天后最终放弃了它,原因有三:
① 接口与平台深度绑定
所有操作走私有 CLI 命令 viking_search / viking_add。系统配置文件、skill 文件全嵌入了这套接口。一旦 OpenViking 出问题,或者想换工具,牵一发动全身。今天清配置时,光找散落在各地的 viking_* 引用就花了半小时。
② 定位是开发者工具,不是个人记忆系统
OpenViking 解决的是"开发者如何给 Agent 管理上下文",不是"用户的跨AI知识如何统一"。两个场景有本质区别。
③ 跨 AI 共享目前还做不到,只能配置本地记忆文件
Claude Code、Gemini、ChatGPT 想用同一份记忆,需要各自单独对接,不是原生设计。
第三阶段:Nowledge Mem
放弃 OpenViking 之后,找到了 Nowledge Mem(github.com/nowledge-co/nowledge-mem),独立团队做的产品。一句话打中痛点: "Stop opening 5 AI apps to find that one conversation."
核心差异:知识图谱 vs 文件索引
| 维度 | OpenViking | Nowledge Mem |
|------|-----------|--------------|
| 存储结构 | 文件系统 + 分层索引 | 知识图谱(节点 + 关系边)|
| 检索方式 | 语义 + 目录路径 | 5信号融合打分 |
| 记忆间关联 | 靠目录结构隐式表达 | 显式连边,可跨主题跳跃 |
| 跨AI支持 | 需要各自对接 | 原生多AI设计 |
| 数据归属 | 半透明私有格式 | 本地优先,完全透明 |
| 时间感知 | 无 | 双时态(事件时间 + 记录时间)|
Nowledge Mem 的 5 信号检索
每次搜索同时跑:
-
语义向量相似度
-
BM25 关键词精确匹配
-
图谱关系传播(相邻节点加分)
-
社区聚类(同话题簇优先)
-
时间衰减 + 重要性权重
效果:我搜"产品方向",它能同时找出我之前 vibe 的所有相关项目记忆,因为这几个项目在图谱里有连边——这是文件索引做不到的。
三、最终架构
输入来源
Claude Code / Gemini / ChatGPT / TARS
↓
Nowledge Mem(统一记忆层)
本地图谱 · 5信号检索 · 自动提炼
↓
OpenClaw + TARS(Mac Mini 24h运行)
调用记忆 → 响应 → 写回记忆
四条设计原则:
数据主权第一 — 所有记忆存本地图谱,不锁任何云服务,明天换 AI 工具记忆还在。
跨AI而非绑AI — Claude、Gemini、Chatgpt 往同一个图谱写入,记忆是共享资产不是某个工具的私有物。
不过度工程化 — 放弃了自建 Chroma 向量库、QMD 等方案。现成的成熟产品,不重复造轮子。
四、一个独立团队为什么能打败字节
这个问题值得单独说。
字节做 OpenViking 的出发点是解决开发者的 Agent 工程问题,目标用户是要给自己产品集成记忆的开发者,所以设计自然偏工具化、接口化。
Nowledge Mem 的出发点是让普通用户的知识跨AI流通,目标用户是像我这样同时用 5 个 AI 工具的人,所以设计天然就是跨平台、本地优先、用户数据完全透明。不同的用户画像,决定了完全不同的产品。
记住,记忆是你的,不是任何 AI 的。