#2433·airi

功能建议:记忆的"淡忘"机制——让 AI 伴侣的记忆像人一样有层次

Author: Zhaohaoyang625Created Sep 1, 2026Updated Sep 12, 2026
Labelsscope/agentfeature

Clear and concise description of the problem

作为使用这个项目的开发者,我希望 AIRI 的记忆模块支持"分层 + 淡忘"机制,这样 AI 伴侣的记忆会像真人一样有层次、更可信。

背景

我是 AIRI 用户 + AI 伴侣自研项目作者(此前已提交 #2431 声音克隆、#2432 双轨对话两个建议)。在自研项目中实现并验证了一套"分层 + 会淡忘"的记忆系统,希望为 AIRI 正在开发的记忆模块(Alaya)提供方向参考。

现状问题

  1. "记住一切"不等于"记得好":如果 AI 伴侣把所有对话都原样记下来,检索时会互相干扰,回答会像"念档案"而不是"聊天"——真人记忆是有层次的:重要的永不忘、最近的在脑中、太久的慢慢淡忘
  2. AIRI 的记忆模块(Alaya)正在开发中,此时提供经过实战验证的设计方向,正好能融入
  3. 记忆的"提取"环节很花钱:每条对话都让 LLM 提取记忆,token 消耗可观,需要低成本兜底

Suggested solution / Ideas

期望功能

  1. 三层记忆结构
    • 贴身记忆(人设):名字、关系、重要承诺——永远不删
    • 档案记忆(核心事实):用户的喜好、习惯、个人信息——带重要度评分,太久不提及会随时间衰减
    • 聊天记忆:近期对话上下文——自然滚动淘汰
  2. 重要性评分 + 时间衰减("淡忘"机制):每条档案记忆有 importance(1~10)和最后提及时间;重要度随时间衰减,衰减到 0 才删除。"生日"这类高重要度的永不忘,随口一提的"最近在追的剧"过几周自然淡忘
  3. 低成本提取(双通道):LLM 提取为主 + 本地规则(正则)兜底——LLM 没提取到或想省钱时,本地规则自动抓"我叫XX""我喜欢XX"这类模式,不额外花 API 钱
  4. 检索按重要度加权:回复时相关记忆按"相关度 × 重要度"排序,高重要度记忆优先出现在上下文里

接入建议

  1. 与 Alaya 模块开发结合,先落地"三层结构 + 重要度评分",再补"时间衰减"
  2. 提取双通道可以做成可插拔:默认 LLM 提取,配置 low-cost mode 时用本地规则
  3. 记忆数据格式建议字段:{content, category, importance, confidence, last_mentioned_at, created_at}——未来可平滑迁移到向量检索

Alternative

低成本提取(双通道):LLM 提取为主 + 本地规则(正则)兜底——LLM 没提取到或想省钱时,本地规则自动抓"我叫XX""我喜欢XX"这类模式,不额外花 API 钱 备选:先只做三层记忆结构,不做时间衰减;或接入现有 RAG 方案,不自定义衰减

Additional context

参考实现(我的实战验证)

我的项目 memory.py 已实现并稳定运行:

  • 设计依据:MISS MemoryScorer(记忆带 importance/confidence,本地评分不花 API 钱;重要度随时间衰减,衰减到 0 删除)+ UTSUWA 三层记忆模型
  • 提取兜底示例(本地正则,零成本):"我喜欢喝奶茶" → 自动提取为 ("他喜欢喝奶茶", "喜好"),匹配身份/生活/喜好/喜恶/个人信息/工作学习/习惯 7 类模式
  • 噪音过滤:太泛泛的废话("嗯""好")不记
  • 检索:本地关键词匹配(向量检索留作后续升级)

附加价值

  • "她会淡忘"本身就是仿真感的一部分:她记得你的生日,但会忘了上周随口说的剧——和真人一样,反而更可信
  • 配合 #2432 双轨机制:内心话可以引用记忆("上次他说那家烧烤很好吃…(心里)真想一起去"),记忆是"活人感"的地基

如需我提供 memory.py 的完整实现、衰减公式或实际对话样例,随时可以补充。谢谢!

Validations