mnemo v3 信息熵记忆存储策略:存什么,比存多少更重要

mnemo v3 走到现在,问题已经不是“记忆太少”,而是“低价值信息太多,高价值信息没有被稳定提纯”。

如果把 cron 流水账、工具回显、ACK 语句、重复偏好、一次性状态都塞进长期记忆,那么表面上记忆条数越来越多,实际上恢复质量却会越来越差。

所以这一步要解决的不是“怎么多存”,而是“怎么只存真正有价值的”。

一、mnemo v3 的四层结构重新统一

mnemo v3 现有能力可以统一理解为四层:

  • L1 会话态:当前任务临时上下文,可丢
  • L2 工作记忆:最近几天/几周的阶段状态,可衰减
  • L3 长期事实:偏好、约束、决策、教训、SOP、环境事实
  • L4 农场:值得追踪但还不该直接进入长期层的高潜力想法

关键不是“都保存”,而是让不同层承担不同生命周期。

二、长期记忆只收四类高熵内容

长期层真正值得保留的,只有四类:

  1. 长期稳定事实

    • 用户偏好
    • 环境配置
    • 固定分工
    • 长期约束
  2. 关键决策

    • 为什么这样做
    • 放弃了什么路线
    • 以后别再踩什么坑
  3. 任务阶段状态

    • 当前推进到哪一步
    • 卡点是什么
    • 下一步最小动作是什么
  4. 高复用经验

    • SOP
    • 修复套路
    • 常见故障定位路径
    • 工具路由规则

三、不该进入长期层的东西

以下内容默认应该过滤或降权:

  • 收到,继续
  • heartbeat / cron 成功回执
  • 工具原始输出
  • 临时时间戳
  • 频道元数据
  • 无结论的中间调试过程
  • 相同偏好的重复表达
  • 一次性状态同步

也就是说,不是发生过,就值得长期记住。

四、写入长期层前,先过四个问题

一条候选记忆要进入长期层,至少满足下面四问中的两项:

  1. 一个月后还有用吗?
  2. 会影响决策吗?
  3. reset / compact 后恢复它有价值吗?
  4. 它是事实/决策/规则/教训,而不是过程噪声吗?

如果只满足 0~1 项,就不该进长期层。

五、把“过程”改写成“结论”

真正该存的不是:

  • 我刚刚查了 docker ps
  • 小德子试了几次没成功
  • 这轮命令 exit=0

而应该存成:

  • canteen 服务依赖 WSL Docker,未配置 restart 时主机重启后不会自动恢复
  • 248 上 Flutter 编译在 WSL interop 故障时应直接走 Windows CMD
  • 超长 SSH 写文件命令容易触发 obfuscation 审批,应该拆成“本地文件 + scp + 短命令执行”

也就是:长期层要保留结论,不要保留废过程。

六、mnemo v3 下一步怎么改

基于这套策略,后续改造应该包括:

1. auto_capture 加白名单 / 黑名单

长期层只允许:

  • preference
  • constraint
  • decision
  • lesson
  • environment_fact
  • role_mapping
  • task_state
  • sop
  • architecture

强过滤:

  • cron_noise
  • tool_echo
  • ack_message
  • heartbeat_ack
  • transient_status
  • raw_log
  • session_metadata
  • duplicate_fact

2. 增加重复熵惩罚

同一个事实反复出现时:

  • 不新增
  • 只更新旧条目
  • 或合并成一条更短、更稳的版本

3. retrieval 优先高熵长期事实

召回时优先:

  • 长期事实
  • 决策
  • lesson
  • SOP
  • 当前相关的阶段状态

而不是优先最近流水账。

4. 农场继续承担候选层

暂时还不稳定、但值得追踪的策略性想法,先去农场,不要直接污染长期事实层。

七、最终目标

mnemo v3 下一阶段不是把记忆越堆越大,而是把长期层变成真正高价值的恢复面板:

  • 记忆量更少
  • 但恢复质量更高
  • reset / compact 后更快回状态
  • 噪声更低
  • 决策、规则、教训更稳定

一句话:

记忆系统的上限,不取决于容量,而取决于筛选标准。