MemOS 记忆操作系统深度解析

Intelligence Begins With Memory — 为 LLM 和 AI Agent 提供 OS 级别的记忆层

MemOS LLM AI Agent 记忆系统 向量数据库 Neo4j

一、项目概述

什么是 MemOS

MemOS(Memory Operating System)是一个面向 LLM 和 AI Agent 的记忆操作系统,提供 OS 级别的记忆层。它将记忆作为可管理的系统资源进行统一表示、调度和演化。

+43.70%
准确率提升
35.24%
Token 节省
75.80
LoCoMo 基准
+2568%
PrefEval-10
📚 参考链接:
GitHub: https://github.com/MemTensor/MemOS
文档: https://memos.openmem.net
论文: arXiv:2507.03724

二、核心架构

三层架构设计

应用层 Application & API Layer

统一 API:add / search / update / delete / transfer

调度层 Memory Scheduling Layer

MemScheduler 异步调度 · 意图预测 · 动态预加载

存储层 Storage & Substrate Layer

Neo4j 图数据库 · Qdrant 向量数据库 · Redis 调度

核心模块

MOS (Memory Operating System)

编排层,管理跨多种记忆类型的预测性异步调度。连接 MemCube 容器与 LLM,提供统一的 API(添加、搜索、更新、转移、回滚),支持跨模型、跨设备的互操作性(MIP 协议)。

MemCube (记忆立方体)

模块化、可移植的记忆容器,类似灵活的知识"卡带"。支持用户、Agent 或会话级别的记忆存储,可跨会话、模型、设备动态注册、更新、移除。

三类记忆类型

记忆类型 存储形式 特点 适用场景
Parametric Memory 模型权重 长期、高效、难编辑 即将支持
Activation Memory KV Cache 短期、瞬态、动态行为控制 运行时状态
Plaintext Memory 结构化文本 可编辑、可追溯、快速更新 个性化 & 多Agent共享

Plaintext Memory 子类

  • GeneralTextMemory: 基于向量的灵活存储,支持语义搜索和元数据过滤
  • TreeTextMemory: 层次化图结构记忆,结合树形层次和跨分支链接,支持 Neo4j 图数据库

三、核心功能

统一 Memory API

from memos.api.client import MemOSClient

client = MemOSClient(api_key="YOUR_API_KEY")

# 添加记忆
client.add_message(
    messages=[
        {"role": "user", "content": "I like coffee. Please remember this."}
    ],
    user_id="user_123",
    conversation_id="conv_001"
)

# 搜索记忆
result = client.search_memory(
    query="What do I like to drink?",
    user_id="user_123",
    conversation_id="conv_001"
)

# 记忆反馈修正
client.feedback_memory(
    user_id="user_123",
    memory_id="mem_xxx",
    feedback="纠正:我更喜欢茶而不是咖啡"
)

# 删除记忆
client.delete_memory(
    user_id="user_123",
    memory_id="mem_xxx"
)

多模态记忆支持

# 文本记忆
text_memory = {
    "type": "text",
    "content": "用户喜欢在周末去咖啡馆工作"
}

# 图像记忆
image_memory = {
    "type": "image",
    "content": "用户上传了产品设计图",
    "image_url": "https://example.com/design.png"
}

# 工具调用记忆
tool_memory = {
    "type": "tool_trace",
    "tool_name": "web_search",
    "input": "MemOS 文档",
    "output": "找到相关文档...",
    "timestamp": "2025-12-24T10:00:00Z"
}

知识库管理

# 上传文档
client.upload_document(
    user_id="user_123",
    mem_cube_id="kb_001",
    file_path="./docs/product_manual.pdf",
    metadata={"source": "product_manual", "category": "technical"}
)

# 解析 URL
client.parse_url(
    user_id="user_123",
    mem_cube_id="kb_001",
    url="https://example.com/article"
)

MemScheduler 异步调度

基于 Redis Streams 的异步任务调度,支持任务优先级、自动恢复和配额调度。

四、部署指南

快速开始(云服务)

# pip install MemoryOS -U
from memos.api.client import MemOSClient

client = MemOSClient(api_key="YOUR_API_KEY")
# 5 分钟集成,毫秒级响应

本地部署(Docker)

# 1. 克隆仓库
git clone https://github.com/MemTensor/MemOS.git
cd MemOS

# 2. 配置 .env 文件
# 创建 MemOS/.env,配置 LLM API Key、嵌入模型、数据库连接等

# 3. 启动服务
cd docker
docker compose up

# 4. 验证部署
# 访问 http://localhost:8000/docs 查看 API 文档

环境变量配置

# LLM 配置
OPENAI_API_KEY=sk-xxx
MOS_CHAT_MODEL=qwen3-max

# 嵌入模型配置
MOS_EMBEDDER_MODEL=text-embedding-v4
MOS_EMBEDDER_API_BASE=https://dashscope.aliyuncs.com/compatible-mode/v1
EMBEDDING_DIMENSION=1024

# 图数据库配置
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=12345678

# 向量数据库配置
QDRANT_HOST=qdrant-docker
QDRANT_PORT=6333

本地插件(MemOS Lite)

对于 OpenClaw 用户,提供 100% 本地插件:

# macOS / Linux
curl -fsSL https://cdn.memtensor.com.cn/memos-local-openclaw/install.sh | bash

# Windows
powershell -c "irm https://cdn.memtensor.com.cn/memos-local-openclaw/install.ps1 | iex"

MemOS Lite 特点

  • 零云依赖,数据完全本地存储(SQLite)
  • 混合搜索(FTS5 + 向量)
  • 任务摘要 & 技能演化
  • 多 Agent 协作
  • 完整的 Memory Viewer 可视化面板

五、API 参考

添加记忆

端点: POST /product/add

import requests
import json

data = {
    "user_id": "8736b16e-1d20-4163-980b-a5063c3facdc",
    "mem_cube_id": "b32d0977-435d-4828-a86f-4f47f8b55bca",
    "messages": [
        {"role": "user", "content": "I like strawberry"}
    ],
    "async_mode": "sync"
}

response = requests.post(
    "http://localhost:8000/product/add",
    headers={"Content-Type": "application/json"},
    data=json.dumps(data)
)
print(response.json())

搜索记忆

端点: POST /product/search

data = {
    "query": "What do I like",
    "user_id": "8736b16e-1d20-4163-980b-a5063c3facdc",
    "mem_cube_id": "b32d0977-435d-4828-a86f-4f47f8b55bca"
}

response = requests.post(
    "http://localhost:8000/product/search",
    headers={"Content-Type": "application/json"},
    data=json.dumps(data)
)

记忆反馈

端点: POST /product/feedback

data = {
    "user_id": "user_123",
    "memory_id": "mem_xxx",
    "feedback": "User prefers tea, not coffee"
}

删除记忆

端点: POST /product/delete

data = {
    "user_id": "user_123",
    "memory_id": "mem_xxx"
}

六、竞品对比

特性 MemOS OpenAI Memory LangChain AutoGen
记忆类型 三层(参数/激活/文本) 仅文本 多样但不统一 基础文本
图结构 ✅ Neo4j 原生
向量检索 ✅ Qdrant
异步调度 ✅ Redis Streams
多模态 ✅ 文本/图像/工具
知识库 ✅ 文档/URL
技能演化
部署方式 云/私有/本地 仅云 私有 私有

七、最佳实践

快速启动建议

1. 从 GeneralTextMemory 开始 → 2. 根据需要扩展到图结构记忆 → 3. 使用异步模式处理高并发场景 → 4. 配置合理的记忆优先级和 TTL

记忆组织策略

# 按用户组织 MemCube
user_cube = MemCube(
    cube_id="user_{user_id}",
    owner_type="user",
    sharing_policy="private"
)

# 按项目组织 MemCube
project_cube = MemCube(
    cube_id="project_{project_id}",
    owner_type="agent",
    sharing_policy="team",
    parent_cube_id="user_cube"
)

# 按会话临时组织
session_cube = MemCube(
    cube_id="session_{session_id}",
    owner_type="session",
    sharing_policy="private",
    ttl="24h"
)

性能优化

# 1. 使用批量操作
client.batch_add_messages(
    messages=[...],  # 批量添加
    user_id="user_123"
)

# 2. 配置适当的召回数量
search_config = {
    "top_k": 10,
    "similarity_threshold": 0.75,
    "use_reranker": True
}

# 3. 定期清理低价值记忆
client.cleanup_memory(
    user_id="user_123",
    retention_policy={
        "max_memories": 10000,
        "min_confidence": 0.5,
        "max_age_days": 90
    }
)

八、应用场景

企业级应用

场景 MemOS 解决方案
客服助手 跨会话记忆用户偏好和历史问题
销售 Agent 记住客户信息和跟进记录
HR 助手 管理员工档案和公司政策知识库
法务顾问 构建法规知识库并持续更新

个人助手

场景 MemOS 解决方案
健康顾问 记录健康数据和个人习惯
学习助手 跟踪学习进度和知识薄弱点
旅行规划 记忆偏好和历史旅行记录
理财顾问 记忆财务目标和投资偏好

九、总结

MemOS 代表了 LLM 记忆管理的下一代范式:

  • 统一性: 将参数记忆、激活记忆、文本记忆统一管理
  • 可观测性: 图结构使记忆可追溯、可编辑
  • 高效性: 异步调度和智能检索显著降低 Token 消耗
  • 扩展性: 模块化设计支持多种后端和自定义插件
  • 生产级: 经过企业验证的性能和稳定性
⭐⭐⭐⭐⭐
推荐指数

适用场景

  • 需要长期记忆的 AI 助手
  • 多 Agent 协作系统
  • 企业知识管理系统
  • 个性化推荐系统