SimpleMem 是 UC Santa Cruz、UNC Chapel Hill 等机构的研究团队于 2026 年 1 月发表的开源项目,提出了一种基于「语义无损压缩」的高效记忆框架,让 LLM Agent 能够在复杂环境中实现可靠的长期交互。
| 属性 | 详情 |
|---|---|
| **论文** | arXiv:2601.02553 |
| **代码** | https://github.com/aiming-lab/SimpleMem |
| **许可证** | MIT |
| **PyPI** | pip install simplemem |
SimpleMem 的设计深植于认知神经科学的 Complementary Learning Systems (CLS) 理论:
| 生物系统 | 功能 | SimpleMem 对应 |
|---|---|---|
| **海马体** | 快速学习、即时回忆 | 活跃记忆缓冲区、熵感知过滤 |
| **新皮层** | 慢速学习、结构化知识 | 递归记忆整合、抽象表征 |
将原始对话转化为自包含的事实单元:
输入: "他明天要见Bob"
↓ 指代消解
"张三明天要见Bob"
↓ 时间锚定
"张三将于2025-11-16T14:00:00见Bob"
熵感知过滤公式:
H(Wt) = α·|E_new|/|Wt| + (1-α)·(1-cos(E(Wt), E(H_prev)))
将相关记忆整合为高层次的抽象洞察:
| 原始记忆(30条) | 抽象记忆(1条) |
|---|---|
| "1月5日8:15点了拿铁" | |
| "1月6日8:03点了美式" | "用户有在工作日早晨(约8点)饮用咖啡的习惯,偏好奶咖类饮品" |
| "1月7日9:00点了卡布奇诺" |
压缩率:97%(30:1)
根据查询复杂度动态调整检索深度:
简单查询("你好")→ k=3,几乎不检索
复杂查询("对比我去年和今年的旅行偏好")→ k=20,扩展搜索
LoCoMo 是专为长程对话记忆设计的评测数据集(200-400轮对话,多会话)。
| 方法 | 平均 F1 | Token/Query | 构建时间 | 检索时间 |
|---|---|---|---|---|
| 全上下文 | 18.70% | 16,910 | - | - |
| Mem0 | 34.20% | 973 | 1350.9s | 583.4s |
| **SimpleMem** | **43.24%** ⭐ | **531** ⭐ | **92.6s** ⭐ | **388.3s** ⭐ |
| 任务类型 | SimpleMem | Mem0 | 提升 |
|---|---|---|---|
| 单跳推理 | 51.12% | 41.30% | +23.8% |
| 多跳推理 | 43.46% | 30.14% | **+43.8%** |
| 时间推理 | **58.62%** | 48.91% | +19.9% |
pip install simplemem
from main import SimpleMemSystem
# 初始化
system = SimpleMemSystem(clear_db=True)
# 添加对话
system.add_dialogue("Alice", "Bob, let's meet at Starbucks tomorrow at 2pm",
"2025-11-15T14:30:00")
system.finalize()
# 查询
answer = system.ask("When and where will Alice and Bob meet?")
# 输出: "16 November 2025 at 2:00 PM at Starbucks"
{
"mcpServers": {
"simplemem": {
"url": "https://mcp.simplemem.cloud/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
大家怎么看这个记忆系统的设计?欢迎在评论区讨论! 🤔