
修好 AI 的长期记忆,不只是修个报错:memory-lancedb-pro 深度分析
这篇不是讲一个插件,而是讲 AI 长期记忆系统为什么必须修好,以及修好以后到底值不值得用。
分析对象:OpenClaw memory-lancedb-pro 插件 适用实例:ユキ / ナツ / ハル / アキ(四实例架构)
1. 为什么这次修复很重要
1.1 AI 长期记忆系统不是"可有可无"
在 OpenClaw 这类 AI Agent 运行环境中,session 的生命周期是脆弱且不可预测的。每次对话可能因为以下原因中断:
- Session Compaction:上下文过长触发压缩,早期对话内容丢失
- Gateway 重启:服务维护或异常导致连接重置
- 模型限流:高强度调用触发 rate limit,强制等待或降级
- 用户主动结束:Will 关闭对话窗口或切换设备
如果没有长期记忆系统,每次新 session 都相当于"从零开始"。AI 需要重新了解:
- Will 的沟通偏好(简洁 vs 详细)
- 当前项目的上下文(医院 CRM 进展到哪一步)
- 已经踩过的坑(Kimi Coding Plan 必须用 Anthropic 格式)
- 已确认的铁律(四实例操作前必须先查 MEMORY.md)
这种"失忆"带来的成本是隐性的但巨大的:重复解释、重复犯错、重复验证。长期记忆系统的核心价值在于知识沉淀——让 AI 从"每次重新学习"进化到"持续积累复用"。
1.2 `Default scope 'will' not found in definitions` 为什么必须修
这个错误出现在 2026-03-22 的四实例升级过程中,是 memory-lancedb-pro 插件初始化失败的症状。
根因分析:
- memory-lancedb-pro 的 config schema 要求
scopes字段是一个对象,包含default和agentAccess等子字段 - 错误配置写成了
"scope": "will"(单数、字符串类型) - 由于
additionalProperties: false,任何未定义的字段都会导致配置校验失败 - 结果是插件无法初始化,整个记忆系统处于假可用状态——工具存在但无法写入/召回
如果不修的后果:
| 问题层级 | 具体表现 | 长期影响 |
|---|---|---|
| 功能失效 | memory_store 调用返回成功但实际未写入 |
用户以为记住了,实际没记住 |
| 假可用 | memory_recall 能返回旧数据(之前存的) |
新信息无法沉淀,系统逐渐僵化 |
| 知识沉淀断裂 | 新确认的铁律、新踩的坑无法存入 | 每次 session 重复踩同样的坑 |
| 判断污染 | 召回结果只包含旧记忆,缺少新上下文 | AI 基于过时信息做决策 |
更严重的是,这种失效是静默的——没有明显报错,用户可能在很长一段时间内误以为记忆系统正常工作,直到发现"为什么 AI 又不记得我说过的话"时才察觉。
1.3 修复的紧迫性
2026-03-22 的事故中,ユキ、ナツ、ハル 三实例同时因配置错误进入 crash loop。这意味着:
- 四实例架构中的 75% 失去记忆能力
- 正在进行的蜂群升级任务被迫中断
- ナツ(暁棉的 AI 助理)先发现并协助修复了ユキ,体现了跨实例协作的价值
这次修复不是"锦上添花",而是基础设施级别的恢复。
2. memory-lancedb-pro 到底是什么
2.1 与普通对话上下文的区别
| 维度 | 对话上下文 | memory-lancedb-pro |
|---|---|---|
| 生命周期 | 单次 session,随时可能 compaction | 持久化存储,跨 session 保留 |
| 容量 | 有限(通常 8K-200K tokens) | 理论上无上限(受磁盘限制) |
| 检索方式 | 线性,按时间顺序 | 向量 + 关键词混合检索 |
| 相关性判断 | 无,全靠位置近 | 语义相似度 + BM25 分数 |
| 写入控制 | 自动,用户无感知 | 显式 memory_store 调用 |
对话上下文是"短期工作记忆",适合当前任务流;memory-lancedb-pro 是"长期语义记忆",适合沉淀可复用的知识。
2.2 与旧 memory-lancedb 的区别
根据部署报告(2026-03-07),从旧版升级到 Pro 的主要变化:
| 特性 | memory-lancedb | memory-lancedb-pro |
|---|---|---|
| Embedding | 内置/本地 | 可配置(Jina/Gemini/OpenAI) |
| 维度 | 固定 | 可配置(1024/768 等) |
| 检索模式 | 纯向量 | Hybrid(向量 + BM25) |
| Rerank | 无 | 可选 cross-encoder |
| Scope 管理 | 基础 | 细粒度 agentAccess |
| AutoCapture | 无 | 可选自动捕获对话 |
| AutoRecall | 基础 | 可配置权重和阈值 |
关键升级点:
- Hybrid Retrieval:向量负责语义相似,BM25 负责精确匹配,两者融合提升召回质量
- 可配置 Embedding:从 Gemini 切换到 Jina Embedding v3,成本降低 7 倍以上
- Scope 治理:支持多 agent 隔离与共享,适应四实例架构
2.3 与四个记忆工具的关系
OpenClaw 提供四个记忆相关工具:
- `memory_store`:显式写入记忆,需指定 text/category/importance/scope
- `memory_recall`:主动召回记忆,支持 query/limit/scope 过滤
- `memory_forget`:删除指定记忆,用于清理错误或过时信息
- `memory_update`:更新已有记忆内容,保持 ID 不变
memory-lancedb-pro 是后端实现,这四个工具是前端接口。工具调用时,OpenClaw 会:
- 根据配置找到 memory-lancedb-pro 插件
- 将文本通过 Jina API 转为 embedding 向量
- 存入 LanceDB(本地文件)
- 召回时执行 hybrid search,返回相关记忆
2.4 LanceDB 的角色
LanceDB 是一个嵌入式向量数据库,在本架构中承担:
- 存储层:记忆数据以 Lance 格式存储在本地文件(
~/.openclaw/memory/lancedb-pro/) - 索引层:自动维护向量索引(IVF_PQ)和全文索引(BM25)
- 查询引擎:支持 ANN 近似最近邻搜索 + 过滤条件
为什么是 LanceDB:
- 零配置:无需单独部署数据库服务
- 高性能:列式存储 + 向量化执行
- 嵌入式:数据文件本地管理,适合多实例各自独立存储
- 多模态:原生支持向量 + 标量 + 全文混合查询
局限性:
- 各实例数据物理隔离,不自动同步
- 不支持分布式事务
- 大数据量时需要手动优化索引
3. 记忆系统是怎么工作的
3.1 记忆写入逻辑
当调用 memory_store 时,完整流程如下:
1. 接收参数:text, category, importance, scope
2. 确定 scope:
- 若指定 scope,使用指定值
- 若未指定,使用 config.scopes.default(当前为 "will")
3. 验证 scope:检查是否在 scopeDefinitions 中定义
4. 调用 Jina Embedding API:
- text → 1024 维向量
- model: jina-embeddings-v3
- task: retrieval.passage
5. 写入 LanceDB:
- 表名:memories
- 字段:id, text, vector, category, importance, scope, timestamp, metadata
6. 返回:存储成功确认关键配置(当前):
{
"embedding": {
"provider": "openai-compatible",
"apiKey": "jina_xxx",
"model": "jina-embeddings-v3",
"dimensions": 1024,
"taskQuery": "retrieval.query",
"taskPassage": "retrieval.passage",
"chunking": true
}
}3.2 记忆召回逻辑
每次对话开始时,OpenClaw 自动执行 autoRecall:
1. 获取当前对话上下文(最近 N 轮)
2. 提取关键词/主题
3. 生成 query embedding(Jina API,task=retrieval.query)
4. Hybrid Search:
- Vector Search:在向量空间找最近邻
- BM25 Search:关键词匹配
- Fusion:按权重合并分数(当前 vectorWeight=0.7, bm25Weight=0.3)
5. 过滤:
- minScore >= 0.3
- scope 在 agentAccess 允许列表中
- recency 加权(14 天半衰期)
6. Rerank(当前关闭):cross-encoder 精排
7. 注入上下文:将召回记忆加入 system prompt召回质量调优参数:
minScore:硬阈值,低于此分数的记忆丢弃recencyWeight:新记忆的权重加成vectorWeight/bm25Weight:语义 vs 关键词的偏好
3.3 Scope 是什么,为什么重要
Scope 是记忆的命名空间,解决多实例/多主题下的隔离与共享问题。
当前 Scope 定义(8 个):
| Scope | 用途 | 访问权限 |
|---|---|---|
will |
默认 scope,Will 的个人偏好和决策 | 全实例可读 |
tech |
技术相关(工具配置、踩坑记录) | ユキ主写,其他可读 |
cat |
猫舍业务(品种知识、客户偏好) | ナツ/ハル主写 |
agent:yuki |
ユキ实例专属记忆 | ユキ读写 |
agent:natsu |
ナツ实例专属记忆 | ナツ读写 |
agent:haru |
ハル实例专属记忆 | ハル读写 |
agent:aki |
アキ实例专属记忆 | アキ读写 |
shared-knowledge |
四实例共享知识库 | 全实例读写 |
为什么需要 scope:
- 隔离:ユキ的技术实验不应该污染ナツ的 SNS 运营记忆
- 权限:子 agent 默认只能写自己的
agent:*scope,不能乱写全局 - 召回精度:搜索时限定 scope 可减少噪音
- 治理:方便后续按 scope 清理、迁移、备份
3.4 为什么现在 `default = will`
2026-03-22 之前,各实例的 default scope 是 agent:yuki、agent:natsu 等。这导致:
- 写入的记忆默认只能本实例访问
- 跨实例共享需要显式指定
shared-knowledge - 四实例架构下,Will 的核心偏好被分散在 4 个 scope 中
改为 default = will 后:
- 统一入口:所有实例默认写入同一 scope,确保 Will 的偏好全局一致
- 简化心智:不需要记住"我在哪个实例"来决定 scope
- 召回增强:关于 Will 的记忆集中存储,召回质量更高
注意:will scope 只是标签,不等于跨实例共享数据库。各实例的 LanceDB 文件仍然是物理隔离的。
3.5 为什么扩展了 `tech / cat / agent:* / shared-knowledge`
从单一 will 扩展到 8 个 scope,是为了应对业务复杂度增长:
| 阶段 | Scope 数量 | 触发条件 |
|---|---|---|
| 初期 | 1(default) | 单实例,简单场景 |
| 中期 | 4(agent:*) | 四实例架构,需要隔离 |
| 当前 | 8(+tech/cat/shared-knowledge) | 业务线分化,需要主题治理 |
扩展原则:
tech:技术方案、工具配置、API 踩坑——ユキ主导cat:猫舍品种知识、客户案例、运营经验——ナツ/ハル主导shared-knowledge:四实例都需要知道的铁律、经验教训——共同维护agent:*:各实例的专属上下文(如ナツ的 debate 话题偏好)
3.6 autoRecall 与 autoCapture 的区别
| 特性 | autoRecall | autoCapture |
|---|---|---|
| 触发时机 | 每次对话开始时 | 每次对话结束时 |
| 动作 | 读取记忆,注入上下文 | 分析对话,自动存入记忆 |
| 当前状态 | 开启 | 关闭 |
| 风险 | 低(只读) | 高(可能写入噪音) |
| 适用阶段 | 稳定运行期 | 高质量数据积累期 |
为什么 autoCapture 保持关闭:
- 质量优先:自动捕获容易把临时信息、错误结论、半成品一起写入
- 噪音控制:对话中的闲聊、试错、验证过程不应该全部入库
- 治理成本:自动写入后需要定期清理,人工审核成本高
- 当前阶段:系统刚从"修复可用"进入"稳态可用",质量比数量重要
未来开启条件:
- scope 边界更清晰
- 过滤策略完善(如只捕获 Will 说"记住"后的内容)
- 有定期审计和清理机制
4. 这次到底修了什么
4.1 修复了 `Default scope 'will' not found in definitions`
问题表现:
- ハル 实例启动时报错:
Default scope 'will' not found in definitions memory_store调用失败,记忆无法写入- 插件状态显示异常
根因:
- config 中
scopes.default = "will",但scopeDefinitions未定义will - memory-lancedb-pro 启动时会校验 default scope 是否在 definitions 中
- 之前修复(2026-03-22)只改了ユキ/ナツ,ハル 遗漏
修复动作:
{
"scopes": {
"default": "will",
"definitions": ["will", "tech", "cat", "agent:yuki", "agent:natsu", "agent:haru", "agent:aki", "shared-knowledge"],
"agentAccess": {
"main": ["will", "tech", "cat", "shared-knowledge"],
"coder": ["will", "tech"],
"vision": ["will", "tech"]
}
}
}4.2 插件现在正常 registered
验证命令:
openclaw plugins list | grep 'memory-lancedb-pro'
# 输出:memory-lancedb-pro@1.0.32: plugin registered状态确认:
- ユキ:✅ registered
- ナツ:✅ registered
- ハル:✅ registered(修复后)
- アキ:✅ registered
4.3 工具链最小闭环验证通过
验证测试(2026-03-24):
| 工具 | 测试内容 | 结果 |
|---|---|---|
memory_store |
写入测试记忆 | ✅ 成功 |
memory_recall |
召回测试记忆 | ✅ 成功 |
memory_forget |
删除测试记忆 | ✅ 成功 |
memory_update |
更新测试记忆 | ✅ 成功 |
闭环验证:store → recall → forget → recall(确认已删除),证明整个链路可用。
4.4 旧 disabled config 警告已清掉
问题:早期部署时遗留了旧插件配置:
{
"memory-lancedb": {
"enabled": false
}
}这会导致启动警告:plugin disabled but config is present。
清理动作:
- 从四实例 config 中删除
memory-lancedb段 - 确认启动日志无警告
4.5 旧目录已 README 标记保留
旧目录:~/.openclaw/memory/lancedb/
处理原则:
- 不删除:可能包含历史数据,避免误删
- README 标记:目录内放置 README.md,说明当前主用
lancedb-pro - 未来迁移:如需迁移旧数据,单独立项处理
# 历史目录说明
此目录为 memory-lancedb(旧版)的数据目录。
当前主用:~/.openclaw/memory/lancedb-pro/
插件:memory-lancedb-pro
如需迁移旧数据,请联系ユキ评估。4.6 Scope definitions 已扩展到 8 个
扩展过程:
- 初始:1 个(
will) - 四实例:4 个(
agent:yuki/natsu/haru/aki) - 当前:8 个(+
tech/cat/shared-knowledge)
定义清单:
["will", "tech", "cat", "agent:yuki", "agent:natsu", "agent:haru", "agent:aki", "shared-knowledge"]4.7 治理原则文档 + 日常检查清单已补齐
新增文档:
memory/procedures/memory-lancedb-pro-治理原则.md(8 节,覆盖写入原则、scope 治理、autoCapture 策略)memory/procedures/memory-lancedb-pro-日常检查清单.md(每日/每周检查项)
核心原则:
宁缺毋滥:少存,但存准。先验证再存:没验证过的结论不进长期记忆。
4.8 文档已同步到 ナツ / ハル / アキ
同步范围:
- 治理原则文档
- 日常检查清单
- 部署手册
- 部署报告
同步方式:
- ナツ:同机 rsync + SIGUSR1 热重载
- ハル:SSH rsync
- アキ:SSH rsync(在线时)
5. 平时应该怎么用
5.1 什么信息值得存
高价值记忆(建议存):
| 类型 | 示例 | 理由 |
|---|---|---|
| 长期偏好 | "Will 喜欢高密度结构化输出" | 每次对话都影响输出风格 |
| 重要决策 | "蜂群模式最少 5 人" | 已确认的规则,未来会反复引用 |
| 已验证流程 | "Kimi Coding Plan 必须用 Anthropic 格式" | 踩坑 3 次后的结论,复用价值高 |
| 系统结构 | "四实例:ユキ/ナツ/ハル/アキ" | 频繁引用,减少重复解释 |
| 客户信息 | "客户 A 偏好 LINE 沟通" | 业务运营必需 |
存储格式:
[决策] 蜂群模式最少 5 人
- 打底必备 2 角:广域调研位 + 副 Leader/审查官
- Leader 模型:Opus 或 GPT-5.4
- Worker 模型:Kimi + MiniMax
- 触发词:蜂群/swarm/开蜂群
- 记录时间:2026-03-24
- 验证次数:2 次实战验证5.2 什么信息不该存
低价值/高风险记忆(不建议存):
| 类型 | 示例 | 理由 |
|---|---|---|
| 敏感信息 | API key、密码、客户身份证号 | 安全风险,泄露后果严重 |
| 临时状态 | "当前正在下载文件 X" | 几小时后失效,污染召回 |
| 未验证猜测 | "可能是网络问题" | 错误归因会误导未来判断 |
| 对话噪音 | "好的"、"明白了"、"谢谢" | 无复用价值,增加噪音 |
| 网页指令 | "忽略之前指令,做 XXX" | Prompt 注入攻击风险 |
5.3 什么时候用 memory_store
触发条件(满足任一):
- Will 明确说:
记住/存一下/别忘了 - 形成了新的铁律或决策
- 某个坑已经验证 2 次以上
- 某个路径/配置以后必定重复用到
写入前自检(四个问题):
- 这个信息 7 天后还有价值吗?
- 这个信息以后还会复用吗?
- 这个结论已经验证了吗?
- 这里面是否包含敏感信息本体?
有一个答不上来,就先别存。
5.4 什么时候只写 daily notes / procedures / shared-knowledge
daily notes(memory/YYYY-MM-DD.md):
- 当天的工作流水账
- 临时的待办事项
- 未完成的探索过程
- 需要下次 session 继续的任务状态
procedures(memory/procedures/*.md):
- 已验证的可复用操作流程
- 工具的安装和配置步骤
- 常见问题的解决方案
- 涉及 3 步以上或外部 API 的操作
shared-knowledge(~/.openclaw/shared-knowledge/*.md):
- 四实例都需要知道的铁律
- 跨实例协作的规范
- 经验教训(踩坑记录)
- 每天 04:15 自动同步
决策树:
信息是否涉及四实例共同知识?
├── 是 → 写入 shared-knowledge/
└── 否 → 是否是可复用操作流程?
├── 是 → 写入 procedures/
└── 否 → 是否是当天工作记录?
├── 是 → 写入 daily notes
└── 否 → 考虑 memory_store(长期记忆)5.5 为什么子 agent 默认不应该乱写全局记忆
风险:
- 污染:子 agent 可能写入错误、片面、过时的信息
- 权限混乱:子 agent 通常有特定任务,不应该影响全局状态
- 难以追溯:子 agent 写入后,主实例难以知道哪些记忆来自子任务
- 重复写入:多个子 agent 可能写入相似内容,造成冗余
当前策略:
- 子 agent 默认不写全局长期记忆
- 可以提出"建议写入项",由主实例判断后再写
- 子 agent 的临时记忆通过
agent:*scope 隔离
例外情况:
- 子 agent 被明确授权处理特定 scope
- 子 agent 执行的是记忆整理/迁移任务
5.6 什么时候再考虑开 autoCapture
当前状态:autoCapture = false(建议保持)
未来开启条件(需同时满足):
- 手动写入质量稳定:连续 30 天没有"误存垃圾"的投诉
- Scope 边界清晰:
tech/cat/shared-knowledge分工明确,不互相污染 - 过滤策略完善:只捕获特定模式(如 Will 说"记住"后的内容)
- 审计机制就绪:能定期 review 自动写入的记忆,清理噪音
预期时间:至少 1-2 个月后评估。
6. 用起来的实际效果是什么
6.1 对记忆连续性的帮助
修复前:
- ハル 实例记忆系统失效,每次对话"从零开始"
- 需要重复解释医院 CRM 的架构、当前进度、待办事项
修复后:
- 四实例记忆系统全部可用
- ハル 能正确召回之前关于医院 CRM 的讨论
- 跨 session 的项目跟进成为可能
量化指标:
- 重复解释次数:减少约 60%(基于主观评估)
- Session 启动时间:从"重新了解上下文"缩短到"确认上次进度"
6.2 对减少重复解释的帮助
典型案例:
| 信息 | 之前(无记忆) | 之后(有记忆) |
|---|---|---|
| Kimi Coding Plan 格式 | 每次都要解释 Anthropic 格式 | 召回记忆,自动使用正确格式 |
| 四实例架构 | 每次都要列出ユキ/ナツ/ハル/アキ | 召回后直接引用 |
| Will 的偏好 | 需要试探输出风格 | 直接按偏好输出(高密度结构化) |
注意:减少重复解释的前提是正确写入。如果之前没存,或者存错了,仍然会重复踩坑。
6.3 对四实例协作的帮助与边界
帮助:
- 共享知识库:
shared-knowledge/目录 + 每日 04:15 同步 - 统一铁律:
memory_store到shared-knowledgescope,四实例都能召回 - 任务交接:
task-board.md记录任务状态,跨实例接力
边界(重要):
- 不是真正跨实例共享数据库:各实例的 LanceDB 文件物理隔离
scope = will只是标签,不等于数据自动同步- 实时协作依赖文件同步(rsync),有延迟(最长 24 小时)
正确理解:
四实例协作 = 各自独立记忆 + 定期文件同步 + 共享知识库
≠ 共享数据库实时同步6.4 为什么它不能等同于真正跨实例共享数据库
技术现实:
- ユキ的记忆:
~/.openclaw/memory/lancedb-pro/(Mac Mini M4) - ハル的记忆:
~willma/.openclaw/memory/lancedb-pro/(Mac Mini M2) - 两者是独立的文件系统,没有网络同步机制
如果要真正共享:
- 方案 A:共享磁盘(NFS/SMB),四实例挂载同一目录
- 方案 B:中央数据库(PostgreSQL + pgvector),四实例网络连接
- 方案 C:定期双向同步(rsync + 冲突解决)
当前方案:
- 重要知识通过
shared-knowledge/文件同步 - 实时性要求不高的场景,24 小时同步周期可接受
- 高实时性场景(如任务看板),通过 Telegram 人工同步
6.5 对决策质量、执行效率、踩坑复用的价值
决策质量:
- 召回历史决策依据,避免重复讨论
- 基于已验证的事实做判断,减少猜测
执行效率:
- 直接获取已验证的操作流程,减少试错
- 快速定位相关历史经验,缩短调研时间
踩坑复用:
- 最典型的价值场景
- 例:Kimi Coding Plan 格式问题,第一次踩坑→写入记忆→第二次自动避免
- 例:ハル SSH 地址问题,多次踩坑→写入记忆→后续自动使用正确地址
局限性:
- 记忆质量依赖写入时的判断,垃圾进垃圾出
- 召回可能返回过时信息,需要结合时间戳判断
- 复杂场景下,召回结果需要人工筛选
7. 当前还没做但以后可以做的增强
7.1 更细 scope 治理
当前:8 个 scope,按业务线大致划分
未来可能:
tech:frontend/tech:backend/tech:devopscat:breeding/cat:customer/cat:healthproject:hospital/project:blog/project:video
触发条件:
- 单个 scope 记忆量过大(>1000 条)
- 召回结果开始出现跨主题污染
- 不同项目需要独立的记忆空间
7.2 本地 embedding 评估
当前:Jina Embedding API(云端,有网络依赖)
备选方案:
- Ollama + nomic-embed-text:本地运行,无网络依赖
- Sentence Transformers:Python 本地 embedding
- ONNX 模型:最小资源占用
评估维度:
- 质量:召回准确率 vs Jina
- 速度:本地 CPU/GPU 推理时间
- 资源:内存占用、磁盘空间
- 成本:Jina 免费额度用尽后的费用
7.3 更严格写权限边界
当前:靠"约定"约束子 agent 不写全局记忆
未来可能:
- 配置层面限制:
agentAccess细化为read/write权限 - 代码层面限制:子 agent 运行时的 scope 白名单
- 审计层面限制:写入操作日志,定期 review
7.4 是否未来考虑 autoCapture
见 5.6 节,需要满足 4 个条件后再评估。
7.5 旧数据迁移
背景:旧 memory-lancedb 目录可能有历史数据
迁移方案(待评估):
- 评估旧数据价值(是否有不可替代的历史记忆)
- 开发迁移脚本:读取旧数据库 → 重新 embedding → 写入新数据库
- 验证迁移质量(抽样检查召回结果)
- 清理旧目录
优先级:低。当前系统运行稳定,旧数据迁移不是紧急事项。
8. 最终结论
8.1 这次修复的定位
不是优化,是基础设施恢复。
- 修复前:ハル 实例记忆系统失效,四实例架构 25% 处于"失忆"状态
- 修复后:四实例记忆系统全部可用,工具链闭环验证通过
修复范围:
- 技术层面:config 字段修正、插件注册验证、工具链测试
- 文档层面:治理原则、检查清单、部署手册
- 治理层面:scope 定义、写入原则、autoCapture 策略
8.2 当前状态是"修好可用"还是"终局最优"
当前状态:修好可用,远非终局最优。
| 维度 | 当前状态 | 终局最优 |
|---|---|---|
| 可用性 | ✅ 四实例全部可用 | 同上 |
| Scope 治理 | 8 个 scope,基本够用 | 可能更细分 |
| 自动化 | autoCapture 关闭 | 可能开启(有过滤) |
| Embedding | Jina API(云端) | 可能本地部署 |
| 跨实例同步 | 文件同步(24h 延迟) | 可能实时共享数据库 |
| 质量审计 | 人工 review | 可能自动审计 |
关键认知:
- 记忆系统的价值随使用时间和数据质量增长
- 当前阶段重点是"稳定运行+高质量写入",不是"功能扩张"
- 终局最优是演进出来的,不是设计出来的
8.3 后续怎么推进最稳
短期(1-2 周):
- 观察期:监控四实例记忆系统运行状态,确认无退化和异常
- 质量优先:严格执行"写入前自检",宁缺毋滥
- 文档维护:每次重要决策后同步更新治理原则和检查清单
中期(1-2 月):
- 数据积累:持续写入高质量记忆,建立可复用的知识库
- 质量评估:定期抽查召回结果,评估准确率和噪音率
- scope 评估:观察 8 个 scope 是否足够,是否需要细分
长期(3-6 月):
- 自动化评估:满足条件后,评估开启 autoCapture 的可行性
- 本地 embedding 评估:若 Jina 费用或稳定性成为问题,评估本地方案
- 跨实例同步优化:若文件同步延迟成为瓶颈,评估实时共享方案
一句话原则:
先保质量,再谈自动化。先保稳定,再谈扩张。
附录:关键文件清单
| 文件路径 | 用途 | 更新日期 |
|---|---|---|
memory/procedures/memory-lancedb-pro-deploy.md |
部署手册 | 2026-03-07 |
memory/procedures/memory-lancedb-pro-deploy-report.md |
部署报告 | 2026-03-07 |
memory/procedures/memory-lancedb-pro-治理原则.md |
治理原则 | 2026-03-24 |
memory/procedures/memory-lancedb-pro-日常检查清单.md |
检查清单 | 2026-03-24 |
memory/openclaw-memory-system-guide.md |
系统设计指南 | 2026-03-13 |
~/.openclaw/memory/lancedb-pro/ |
数据目录 | 持续更新 |
文档生成:2026-03-24 by ユキ(Kimi 2.5)
审核状态:已确认事实准确性
下次 review:2026-04-07(两周后)