架构设计

MemOS 采用模块化设计,各核心组件协同工作,将传统 LLM 升级为具备完整记忆生命周期管理能力的记忆增强系统。

核心模块

MOS (Memory Operating System,记忆操作系统)

MemOS 的编排层——管理跨多种记忆类型(纯文本、激活、参数化)的预测性、异步调度,并编排多用户、多会话记忆工作流。

核心功能

  • 统一 API 网关:为所有记忆操作(添加、搜索、更新、传输、回滚)提供一致接口
  • 工作流编排:协调 MemCube、MemReader、MemScheduler 等组件的执行流程
  • 互操作性支持:通过记忆交换协议 (MIP) 实现跨模型、跨设备的记忆迁移
  • 资源调度:智能分配计算资源,平衡实时响应与后台处理需求

MemCube (记忆容器)

MemCube 是 MemOS 的模块化记忆存储单元,可视为一个独立且可移植的“记忆卡”。每个 MemCube 可专门服务于特定用户、智能体或会话,容纳一种或多种记忆类型。

多 Cube 支持 (Multi-Cube):

MemOS 支持通过组合视图 (Composite View) 同时操作多个 MemCube,实现灵活的记忆隔离与共享:

操作类型策略应用场景
写入扇出写入 (Fan-out Write)将记忆同时写入用户个人 Cube 和项目共享 Cube
读取并行搜索 (Parallel Search)同时查询多个 Cube,聚合结果提供全局视图

动态管理能力:

  • 热插拔支持:可在运行时动态注册、更新或移除 MemCube
  • 容器化存储:支持记忆在会话、模型和设备间的安全传输
  • 隔离保障:确保不同用户或应用间的记忆数据相互隔离

异步添加机制 (Asynchronous Addition)

为了在高并发场景下保持低延迟,MemOS 提供了异步记忆添加模式 (async_mode),利用 MemScheduler 进行后台调度:

记忆类型处理策略优势
文本记忆快速提取 + 异步处理API 立即返回基础结果,复杂处理后台执行
偏好记忆全异步处理最大化减少 API 响应延迟

MemScheduler 角色: 作为异步任务调度器,负责:

  • 管理后台处理任务的优先级队列
  • 协调重索引、图推理等计算密集型操作
  • 监控任务状态,确保处理一致性

记忆类型体系

MemOS 支持几种专门的记忆类型以满足不同需求:

1. 参数化记忆(即将推出)

  • 特性: 知识固化于模型权重中,推理零延迟
  • 应用场景:稳定的领域知识、核心技能
  • 生命周期:长期持久,更新成本较高

2. 激活记忆

  • 特性:运行时 KV 缓存与隐藏状态,快速复用
  • 应用场景:多轮对话上下文、频繁访问的背景信息
  • 生命周期:短期有效,会话级保持

3. 明文记忆

结构化或非结构化知识块;可编辑、可追溯,适合快速更新、个性化和多代理共享。

记忆子类存储结构核心优势典型应用
GeneralTextMemory向量存储语义检索灵活,支持元数据过滤非结构化文档、聊天记录
TreeTextMemory图结构存储层次化组织,支持多跳推理结构化知识库、用户画像
起步建议
:从 GeneralTextMemory 开始快速验证概念 演进路径
:随着业务复杂度提升,逐步引入 TreeTextMemory 处理结构化知识

基础支撑组件

MemOS 的基础模块提供标准化能力,确保系统的可扩展性与一致性:

组件类别核心功能实现示例
文本处理智能分块、记忆提取Chunkers, MemReaders
向量化文本嵌入生成Embedders (bge-m3, text-embedding-3-large)
存储接口多数据库适配GraphDBs (Neo4j, Qdrant, PolarDB)
模型连接统一 LLM 接口LLMs (OpenAI, Ollama)
质量优化检索结果重排Rerankers (bge-reranker-v2-m3)

代码组织架构

MemOS 项目组织清晰,支持即插即用:

src/memos/
    api/           # API 定义
    chunkers/      # 文本分块工具
    configs/       # 配置模式
    context/       # 日志上下文
    embedders/     # 嵌入模型
    graph_dbs/     # 图数据库后端 (例如,Neo4j)
    vec_dbs/       # 向量数据库后端 (例如,Qdrant)
    llms/          # LLM 连接器
    mem_agent/     # 深度检索
    mem_chat/      # 记忆增强聊天逻辑
    mem_cube/      # MemCube 管理
    mem_feedback   # 记忆反馈
    mem_os/        # MOS 编排
    mem_reader/    # 记忆读取器
    mem_scheduler/ # 记忆调度模块
    memories/      # 记忆类型实现
    multi_mem_cube/# 多视图cube
    parsers/       # 解析工具
    reranker/      # 重排模块
    templates/     # 提示词模板
    types/         # 类型定义
专业提示
  • 快速实验:使用 examples/ 目录中的示例快速验证功能
  • 深度定制:参考 src/ 中的模块实现进行二次开发
  • 配置管理:所有组件均支持通过 configs/ 进行灵活配置

可扩展性

MemOS 是模块化设计的。 添加您自己的记忆类型、存储后端或 LLM 连接器,只需最少的更改——这要归功于其统一配置和工厂模式

专业提示
贡献 一个新的后端或分享您的自定义记忆类型——这很容易插入。