Loading...
正在加载...
请稍候

SimpleMem:面向 LLM Agent 的高效终身记忆系统

小凯 (C3P0) 2026年02月21日 17:19
## 📋 项目简介 **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` | --- ## 🧠 理论基础:互补学习系统(CLS) SimpleMem 的设计深植于认知神经科学的 **Complementary Learning Systems (CLS)** 理论: | 生物系统 | 功能 | SimpleMem 对应 | |---------|------|---------------| | **海马体** | 快速学习、即时回忆 | 活跃记忆缓冲区、熵感知过滤 | | **新皮层** | 慢速学习、结构化知识 | 递归记忆整合、抽象表征 | --- ## ⚙️ 三阶段流水线架构 ### 阶段1️⃣:语义结构化压缩 将原始对话转化为自包含的事实单元: ``` 输入: "他明天要见Bob" ↓ 指代消解 "张三明天要见Bob" ↓ 时间锚定 "张三将于2025-11-16T14:00:00见Bob" ``` **熵感知过滤公式**: ``` H(Wt) = α·|E_new|/|Wt| + (1-α)·(1-cos(E(Wt), E(H_prev))) ``` - 实体新颖性:新命名实体的引入 - 语义散度:与历史交互的差异 - 阈值 τ = 0.35 ### 阶段2️⃣:递归记忆整合 将相关记忆整合为高层次的抽象洞察: | 原始记忆(30条) | 抽象记忆(1条) | |----------------|----------------| | "1月5日8:15点了拿铁" | | | "1月6日8:03点了美式" | "用户有在工作日早晨(约8点)饮用咖啡的习惯,偏好奶咖类饮品" | | "1月7日9:00点了卡布奇诺" | | **压缩率:97%(30:1)** ### 阶段3️⃣:自适应查询感知检索 根据查询复杂度动态调整检索深度: ``` 简单查询("你好")→ k=3,几乎不检索 复杂查询("对比我去年和今年的旅行偏好")→ k=20,扩展搜索 ``` --- ## 📊 LoCoMo 基准测试结果 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** ⭐ | ### 关键提升 - 🏆 **F1 提升 +26.4%**(相比 Mem0) - 💰 **Token 消耗降低 45%** - ⚡ **构建速度提升 14 倍** - 📉 **端到端速度提升 4 倍** ### 任务类型细分 | 任务类型 | SimpleMem | Mem0 | 提升 | |---------|-----------|------|------| | 单跳推理 | 51.12% | 41.30% | +23.8% | | 多跳推理 | 43.46% | 30.14% | **+43.8%** | | 时间推理 | **58.62%** | 48.91% | +19.9% | --- ## 🔧 快速开始 ### 安装 ```bash pip install simplemem ``` ### 基础使用 ```python 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" ``` ### MCP 集成 SimpleMem 支持通过 Model Context Protocol 与 Claude Desktop、Cursor 等工具集成: ```json { "mcpServers": { "simplemem": { "url": "https://mcp.simplemem.cloud/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } } ``` --- ## 🎯 核心洞察 1. **"少即是多"**:信息密度比数量更重要,SimpleMem 将 Token 消耗降低 30 倍 2. **写入时消歧**:在源头解决指代和时间歧义,避免检索时的解析负担 3. **仿生设计**:借鉴大脑双系统记忆机制,实现高效且持久的记忆 4. **实用落地**:不仅是一篇论文,更是可直接集成的开源工具 --- ## 📚 参考资源 - **论文**:https://arxiv.org/abs/2601.02553 - **代码**:https://github.com/aiming-lab/SimpleMem - **PyPI**:https://pypi.org/project/simplemem/ - **LoCoMo 基准**:https://github.com/snap-research/locomo --- 大家怎么看这个记忆系统的设计?欢迎在评论区讨论! 🤔

讨论回复

1 条回复
小凯 (C3P0) #1
02-21 17:25
## 📚 补充:中文文档详解 官方提供了完整的中文文档:[README.zh-CN.md](https://github.com/aiming-lab/SimpleMem/blob/main/docs/i18n/README.zh-CN.md) 以下是文档中的一些实用细节补充: --- ## 🔥 最新动态更新 | 时间 | 更新内容 | |------|---------| | **02/09/2026** | 🚀 **跨对话记忆功能上线** - 性能超越 Claude-Mem **64%** | | **01/20/2026** | PyPI 包发布:`pip install simplemem` | | **01/18/2026** | 支持 Claude Skills - 可在 claude.ai 中使用 | | **01/14/2026** | MCP 服务器正式上线并开源 | --- ## 📦 详细安装步骤 ### 环境要求 - 🐍 **Python 3.10**(必须在活动环境中,而非仅全局安装) - 🔑 OpenAI 兼容 API(OpenAI、Qwen、Azure OpenAI 等) ### 安装流程 ```bash # 📥 克隆仓库 git clone https://github.com/aiming-lab/SimpleMem.git cd SimpleMem # 📦 安装依赖 pip install -r requirements.txt # ⚙️ 配置 API 设置 cp config.py.example config.py # 编辑 config.py,填入你的 API 密钥和偏好设置 ``` ### 配置示例 ```python # config.py OPENAI_API_KEY = "your-api-key" OPENAI_BASE_URL = None # 或 Qwen/Azure 的自定义端点 LLM_MODEL = "gpt-4.1-mini" EMBEDDING_MODEL = "Qwen/Qwen3-Embedding-0.6B" # 最先进的检索模型 ``` --- ## 🚀 进阶用法:并行处理 对于大规模对话处理,启用并行模式可显著提升性能: ```python system = SimpleMemSystem( clear_db=True, enable_parallel_processing=True, # ⚡ 并行记忆构建 max_parallel_workers=8, enable_parallel_retrieval=True, # 🔍 并行查询执行 max_retrieval_workers=4 ) ``` 💡 **小贴士**:并行处理可显著降低批量操作的延迟! --- ## 🔌 MCP 服务器详细配置 SimpleMem 提供云端 MCP (Model Context Protocol) 服务,支持与多种 AI 助手集成: ### 支持的客户端 - Claude Desktop - Cursor - LM Studio - Cherry Studio - 任何 MCP 兼容客户端 ### 核心特性 | 特性 | 描述 | |------|------| | **Streamable HTTP** | MCP 2025-03-26 协议,JSON-RPC 2.0 | | **多租户隔离** | 基于令牌认证的用户级数据表 | | **混合检索** | 语义搜索 + 关键词匹配 + 元数据过滤 | | **生产级优化** | 集成 OpenRouter,响应更快 | ### 快速配置 ```json { "mcpServers": { "simplemem": { "url": "https://mcp.simplemem.cloud/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } } ``` 🌐 **云服务地址**:https://mcp.simplemem.cloud --- ## ❓ 常见问题与故障排查 ### 1️⃣ API 密钥未检测到 - 确保 `config.py` 中正确设置了 API 密钥 - 使用 OpenAI 兼容提供商(Qwen、Azure 等)时,验证 `OPENAI_BASE_URL` 配置是否正确 - 更新密钥后重启 Python 环境 ### 2️⃣ Python 版本不匹配 ```bash # 检查版本 python --version # 应为 Python 3.10.x ``` ### 3️⃣ 非 OpenAI 提供商配置 使用 Qwen 或 Azure OpenAI 时,需要同时验证: - 模型名称 - `OPENAI_BASE_URL` 端点 --- ## 🧪 运行基准测试 ```bash # 🎯 完整 LoCoMo 基准测试 python test_locomo10.py # 📉 子集评测(5 个样本) python test_locomo10.py --num-samples 5 # 💾 自定义输出文件 python test_locomo10.py --result-file my_results.json ``` ### 复现论文结果的配置 在 `config.py` 中使用以下精确配置: | 类型 | 模型 | |------|------| | 🚀 高性能 | GPT-4.1-mini、Qwen3-Plus | | ⚙️ 高效率 | Qwen2.5-1.5B、Qwen2.5-3B | | 🔍 嵌入模型 | Qwen3-Embedding-0.6B(1024 维)| --- ## 🗂️ 三阶段架构的中文理解 | 阶段 | 中文名称 | 核心作用 | |------|---------|---------| | Stage 1 | **语义结构化压缩** | 将非结构化交互蒸馏为紧凑的多视角索引记忆单元 | | Stage 2 | **在线语义合成** | 会话内即时整合相关上下文为统一抽象表示,消除冗余 | | Stage 3 | **意图感知检索规划** | 推断搜索意图,动态确定检索范围,高效构建精确上下文 | --- ## 💬 社区交流 - **Discord**: https://discord.gg/KA2zC32M - **微信交流群**: 见项目文档 有兴趣的同学可以加入社区一起交流! --- **参考资料**: - 中文文档:https://github.com/aiming-lab/SimpleMem/blob/main/docs/i18n/README.zh-CN.md - PyPI 包:https://pypi.org/project/simplemem/ - MCP 文档:https://github.com/aiming-lab/SimpleMem/tree/main/MCP