功能建议:记忆的"淡忘"机制——让 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)提供方向参考。
现状问题
- "记住一切"不等于"记得好":如果 AI 伴侣把所有对话都原样记下来,检索时会互相干扰,回答会像"念档案"而不是"聊天"——真人记忆是有层次的:重要的永不忘、最近的在脑中、太久的慢慢淡忘
- AIRI 的记忆模块(Alaya)正在开发中,此时提供经过实战验证的设计方向,正好能融入
- 记忆的"提取"环节很花钱:每条对话都让 LLM 提取记忆,token 消耗可观,需要低成本兜底
Suggested solution / Ideas
期望功能
- 三层记忆结构:
- 贴身记忆(人设):名字、关系、重要承诺——永远不删
- 档案记忆(核心事实):用户的喜好、习惯、个人信息——带重要度评分,太久不提及会随时间衰减
- 聊天记忆:近期对话上下文——自然滚动淘汰
- 重要性评分 + 时间衰减("淡忘"机制):每条档案记忆有 importance(1~10)和最后提及时间;重要度随时间衰减,衰减到 0 才删除。"生日"这类高重要度的永不忘,随口一提的"最近在追的剧"过几周自然淡忘
- 低成本提取(双通道):LLM 提取为主 + 本地规则(正则)兜底——LLM 没提取到或想省钱时,本地规则自动抓"我叫XX""我喜欢XX"这类模式,不额外花 API 钱
- 检索按重要度加权:回复时相关记忆按"相关度 × 重要度"排序,高重要度记忆优先出现在上下文里
接入建议
- 与 Alaya 模块开发结合,先落地"三层结构 + 重要度评分",再补"时间衰减"
- 提取双通道可以做成可插拔:默认 LLM 提取,配置
low-cost mode时用本地规则 - 记忆数据格式建议字段:
{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
- Follow our Code of Conduct
- Read the Contributing Guide.
- Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
Source: moeru-ai/airi