特性: 检索分数的时间衰减
作者: skylabby创建于 2026年8月7日更新于 2026年8月11日
-- -- . . . 标题: "Feature: Timoral 衰变用于检索分数" 标签: ["增强","记忆"]. -- -- . . .
□ 问题
memU的检索不分年龄对所有片段一视同仁. 6个月前的一个事实,即0.82的相似性得分高于昨天的0.81,即使旧事实已被取代。
** 生产用途的真正例子(赫尔姆斯剂,235个部分,每天使用7周):**
当询问"homelab服务器的SSH密码"时,memU会返回关于SSH证书的片段. 它们都来自同一进口日期(2026-07-31),因此它们的时间重量相同. 但在实际操作中,密码会改变,主机会退役,偏好会逐渐演变. 没有时间信号,陈旧的信息就与当前信息平等竞争.
** 在使用六个月后:** 取回商店会包含关于已不存在的主机的事实,已经旋转过的密码,以及用户从此改变的偏好. 每一个这些僵化的事实,对于相关的询问,仍然会得到高的相似分数,挤出更新的,正确的信息.
□ 建议的解决办法
在检索查询中添加一个可选的“recency bias”参数,该参数将指数衰减适用于基于分龄的类似分数:
已调整 分数 = 相似度 分数 × 0.5^ (年龄 日 / 半衰期 日)- 默认`半衰期'=0'(残疾——现有用户的行为不变)
- 通过`MEMU-RECENCY-HALF-LIFE' env var,实现人均检索或全球检索
- 应用在向量存储层的查询时间(而不是作为后处理),从而影响哪个区段进入上-N,而不仅仅是其最终排名
一个原型包装器(仅后处理,并带有所隐含的限制)证实了这个概念的作品:在60天的半衰期,7天的分会获得0.922×的乘以,而排名保持稳定. 在180天时,同一段将降至0.77×.
□ 执行说明
- ** 何处:** `Memory Service. depressive retrieve ()' 或基本的向量存储查询
- ** 费用:** 每个候选部分乘以一-可忽略不计
- ** 背向相容性:** 默认残疾(半衰期=0)
- 相接表面:
MEMU RECENCY HALF-LIFE'在config.env中,或Memu取回'上的`半生N' - ** 为什么查询时间,而不是索引时间:** 衰变曲线应为每个查询上下文的可捕性。 关于"二月到底发生了什么"的询问,希望比起"目前的设置是什么"来减少衰变.
□成功标准
在使用90天半衰期后:
- 超过90天的部分按其原始相似性分数的50%加权
- 上星期的片段加权为95%
- 查询当前状况("我的SSH设置是什么")
- 关于历史状态("旧防火墙配置是什么")的查询仍然有效(查询语义自然符合更老的部分)
- 没有可以衡量的延迟增加
内容来源: NevaMind-AI/memU