2026-02-07
今日关键结论(建设性)
- OpenClaw 的 session start 会注入工作区 bootstrap 上下文:默认建议读取
memory/今天 + memory/昨天;MEMORY.md 只在 main/private session 加载。
- 这一步是“读文件→注入(可能截断)”,不是向量检索;不会全量加载
memory/*.md 历史。
memory_search / recall 才是“按需检索注入片段”的链路;设置 memory.backend="qmd" 主要优化这条检索链路(BM25+向量+重排),而不是优化 session start 注入。
- 不触发 recall 时,QMD 多数情况下不会直接影响回答;触发 recall 时 QMD 才可能降低无关片段/减少注入长度,从而省 token。
- token 的主要开销来自“最终注入到 prompt 的记忆片段长度/数量”,而不是 backend 名字。
决策 & 理由
- 采用“分层记忆”策略:
- 日常建设性内容写进
memory/YYYY-MM-DD.md(短、要点化,供 session start 读入)。
- 跨日/月仍成立的稳定偏好/事实写进
MEMORY.md(长期记忆;也更适合被 QMD 索引检索)。
- 避免把大量闲聊/原文全文塞进 memory 文件,以免拖慢检索、增加噪音与 token。
偏好/默认值变更
- 每天的 memory 文件只记录“有意义/建设性”的要点;一般内容按日期留存但不扩展成巨长日志。
进行中(下一步)
- 以后遇到“需要回忆/查历史”的问题:优先用
memory_search(QMD)按需召回片段,而不是扩大 session start 注入。
风险/踩坑记录
- 可能出现“启动注入 + 检索注入”重复导致 token 增加:需要控制 daily memory 的长度,并在 recall 侧限制 topK/截断,必要时做去重策略。