# 记忆系统评估记录 > 记录对记忆系统的正式评估。每轮评估结论与当时的改进优先级都完整保留,后续改造从这里取上下文。 ## 评估轮次 | 轮次 | 日期 | 范围 | 结论摘要 | |---|---|---|---| | 第 1 轮 | 2026-08 | 五层记忆 + 注入 + 写回 + 控制面 | 架构 8.5 分;读/写/管三大瓶颈;给出 P0-P2 改进方向 | | 第 2 轮 | 2026-08 | 引入 Dual RAG 与 ISM 两篇论文 | 把 P0 从“方向”升级为“规格”;形成 v2 方案 | --- ## 第 1 轮:全系统评估(2026-08) ### 总体结论 **架构方向正确、工程实现扎实,但当前是“规则注入型记忆”,不是“检索型记忆”。** 三大瓶颈同源——记忆的读、写、管几乎全部押在主对话模型的自律上: - **读**:每轮把约 19K 字符的六份索引摘要 + 问答线索全量、无条件注入,不管与当前问题是否相关;索引超预算从头截断,无优先级——库越大越“失忆”。 - **写**:靠 AGENTS.md“三写协议”让模型每轮自觉收尾;没有钩子、校验、确定性去重,用户打断或模型偷懒,记忆就丢。 - **管**:用户只有“已记录:2 条”的知情度,没有查看、纠正、遗忘入口,也没有回答溯源。 ### 分维打分 | 维度 | 分数 | 说明 | |---|---|---| | 设计理念 | 8.5/10 | 分层、证据链、版本化、fail-closed 都对 | | 检索与注入 | 5/10 | 全量注入 + 线性扫描 + 字面 grep | | 写回可靠性 | 5/10 | 纯 prompt 自律,无校验无去重 | | 用户透明度/控制面 | 3/10 | 零透明、零控制、无溯源 | ### 优点(保留项) 1. 五层分层 + 粗到细路由 + “检索不到就明说没有,不要编造”——防幻觉做得最好; 2. 证据链与版本化:record.source 必指 episode;冲突 superseded + 旧值→新值(日期),从不静默删除; 3. 安全边界:fail-closed(approval: never)、无删除工具、归档由插件托管、笔记工具走 ctx.fs 沙箱; 4. 防打扰:捕获须 ask_user 同意;提醒每天每条最多一次、每轮最多 2 条;note_create 拒绝覆盖; 5. 工程细节:路径无关 vault 解析、双层缓存 + fingerprint、zstd 拼接帧容错、/open 链接跳转。 ### 问题清单(按体验影响排序) 1. **每轮全量注入**:约 19K 字符固定开销 ≈ 5-8K token;无关内容全注入;clip() 从头截断丢重要旧记录; 2. **对话索引质量低**:用户消息只配“其后第一条 assistant 消息”(常是“我先查一下”开场白);扫描全部 profile 的会话、未按 vault 过滤(噪音 + 机器内隐私面); 3. **写回无保证**:三写是 prompt 指令;无 schema 校验、无确定性去重、无冲突检测;与主回答同轮执行拖慢回复; 4. **提醒只有时间维度**:候选按天数排序取 top3,无相关性信号;last_reminded 依赖模型执行; 5. **检索无索引**:note_search/note_links 每次全库扫描;纯子串对 LaTeX/中文同义改写命中差; 6. **零透明零控制**:无记忆浏览、无溯源、无纠正/遗忘入口;冷启动体验差; 7. **生命周期**:归档仅 Obsidian 启动时执行;单 vault 假设。 ### 当时的改进优先级 - **P0-1 检索式记忆注入**:静态摘要瘦身(1.5-2K 字符)+ 本地 embedding/BM25 索引 + 按问题 top-k 注入,LaTeX 归一化; - **P0-2 异步确定性固化流水线**:turn/session 结束钩子触发独立固化 pass(候选生成 → embedding 去重 → schema 校验 → 写 episode 引用)+ 会话结束“记忆 diff”; - **P0-3 记忆控制面**:记忆面板(浏览/搜索/编辑/溯源)、回答溯源、反馈按钮(错/不再适用/记住/忘记)、捕获策略分级、冷启动 onboarding。 - P1:对话索引质量、相关性提醒、增量索引、索引智能剪枝。 - P2:记忆健康巡检、记忆回归基准、成本工程、六指标监控(recall@k / 幻觉率 / 首 token 延迟 / 每会话成本 / 提醒采纳率 / 用户纠正次数)。 --- ## 第 2 轮:结合两篇论文的评估(2026-08) ### 论文输入 1. [Retrieval-Augmented Language Models are Mimetic Theorem Provers](https://aclanthology.org/2025.findings-emnlp.1162/)(EMNLP 2025 Findings,Dual RAG)——详见 [references.md](references.md); 2. [ISM: Self-Improving Strategy Memory for Continual Mathematical Reasoning](https://arxiv.org/abs/2606.31191)——详见 [references.md](references.md)。 ### 关键判断 现有设计已预埋两篇论文的方向,但都停在 prompt 软要求、没变成引擎机制: | 论文机制 | 助手现状 | 差距 | |---|---|---| | 检索证明/技巧而非字面 | note_search 子串匹配;grep episodes 字面 | 无“挑战/技巧”表示,语义远但策略近的知识必然漏检 | | 查询增强(挑战描述 + 证明草图) | “问题蒸馏”靠模型自觉 | 蒸馏结果不参与任何索引 | | 上下文增强(应用场景 + 关键技巧标注) | records 有 source、无技巧标注 | 卡片缺“这份内容能用来做什么” | | feature hook + 两级检索 | 无 | 无算子类型/结构模式/成功率等可过滤字段 | | 七机制维护循环 | 三写协议 + 90 天归档 | 无审计/合并/剪枝/强化/反模式;index 靠 clip() 硬截断 | | 对称学习(成功 + 失败都沉淀) | artifact 反例手记 | 失败沉淀无机制保证 | | 验证门控 | source 指向 episode(很好) | 无验证等级,一句断言与用户确认事实平级 | ### 修正后的改进方案(= v2-proposal.md 的雏形) - P0-1 改为:hook frontmatter + 两级检索(算子硬过滤 + 加权软打分)——**不依赖 embedding 也能落地**; - P0-2 改为:ISM 七机制的本土化确定性维护 pass(审计/合并/剪枝/强化/反模式 + 验证等级); - P0-3 不变,但反馈按钮获得新用途:Demote/Promote 信号源 + Antipattern 触发器 + 验证等级升级通道;回答溯源升级为验证等级徽标(✅用户确认 / ⚖️互证 / ❓单一来源)。 ### 明确不照搬的部分 1. ISM 有可验证答案可全自动 promote/merge;笔记场景必须把用户确认纳入闭环; 2. Dual RAG 依赖 embedding;隐私约束下先做 hook 字段 + token 加权,embedding 后置可选; 3. ISM 为精简压到几百 schema;我们有完整 vault 当证据层,精简只作用于注入摘要与索引,不动证据; 4. 两篇都针对证明类任务;理结构/补细节/偏好记忆等高频场景不套用证明导向。 ### 结论 两篇论文把 P0 从方向升级为规格。最省事且收益最大的起步改造(已实现):hook frontmatter + 两级检索 note_retrieve + 带验证等级的维护 pass——三者均不需 embedding 或额外服务,与 AGENTS.md 增量兼容。