分身聊了十次同一个客户,前九次得出的结论各不相同,第十次才定下来。但检索时,这十条结论被一视同仁地喂给大模型——旧的「死记忆」照样和新结论抢召回。v0.5.2 给 RAG 记忆装上了「时效」和「作废」两个概念,让它能像人一样:最新的话优先听、过期的自己主动忘。

四个治理点

顺带清理与加固

会话详情页和仪表盘里,钉钉 / 飞书的媒体占位符噪声(如 [视频消息](mediaId=...))被剥离,只留真实文字;app 类消息的裸 JSON 也做了拆壳提取。依赖层面把 nanoid、vitest 各升一档,修掉两个 CVE。

升级注意

无破坏性变更,无新增必填配置。记忆检索更智能了,但对外接口与配置项完全不变——你什么都不用改就能直接受益。

完整变更见 CHANGELOG;这套记忆治理是怎么从根因改起的,有一篇工程长文 《让 RAG 记忆学会忘掉过期的自己》 讲得很细。代码在 GitHub。