我使用艾宾浩斯遗忘曲线为 AI 代理构建了记忆衰减

发布: (2026年3月15日 GMT+8 16:35)
3 分钟阅读
原文: Dev.to

Source: Dev.to

问题

大多数 AI 记忆系统对每个事实都一视同仁,永久保存。
如果你告诉 Claude 你使用 React,六周后又说你改用了 Vue,这两个事实仍然以相同的权重保存在记忆中。系统无法判断哪个是当前的,所以你要么手动删除旧的,要么模型会感到困惑。

解决方案 – YourMemory

YourMemory 是一个 MCP 记忆服务器,它在检索时应用艾宾浩斯遗忘曲线。记忆会根据重要性和被召回的频率随时间衰减。经常访问的记忆保持强度,而从未重新访问的记忆会逐渐消失并自动被裁剪。

检索分数

score = cosine_similarity × Ebbinghaus_strength
strength = importance × e^(−λ_eff × days) × (1 + recall_count × 0.2)

基准测试

我在 Snap Research 的 LoCoMo 数据集(200 条问答对,覆盖 10 组多月对话样本)上将 YourMemory 与 Mem0 进行了对比。

指标YourMemoryMem0
[在此插入具体指标值][value][value]

实现

YourMemory 提供了三个 MCP 工具:

  • recall_memory
  • store_memory
  • update_memory

将其添加到你的 Claude settings.json 中,以在会话之间持久化上下文:

{
  "mcpServers": {
    "yourmemory": {
      "command": "yourmemory"
    }
  }
}

Claude 随后在每个任务上遵循 召回 → 存储 → 更新 工作流。它频繁呈现的记忆会被强化;从未触及的记忆则会衰减。

技术栈

  • PostgreSQL + pgvector 用于向量存储
  • Docker + Ollama 用于部署(目前为手动搭建)

当前状态与反馈征集

  • 早期阶段;核心衰减模型已基本完成。
  • 部署仍需手动步骤。

我期待大家对衰减参数的反馈,以及这种方法在大规模场景下是否可行的意见。

链接

  • GitHub 仓库:
  • 完整的基准测试方法论:
0 浏览
Back to Blog

相关文章

阅读更多 »