---
title: 架构设计
desc: 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** | 图结构存储 | 层次化组织，支持多跳推理 | 结构化知识库、用户画像 |


::note{title="架构选型建议"}
**起步建议**<br>：从 `GeneralTextMemory` 开始快速验证概念
**演进路径**<br>：随着业务复杂度提升，逐步引入 `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/         # 类型定义
```

::note{title="开发指引"}
**专业提示**<br>
 - **快速实验**：使用 `examples/` 目录中的示例快速验证功能
 - **深度定制**：参考 `src/` 中的模块实现进行二次开发
 - **配置管理**：所有组件均支持通过 `configs/` 进行灵活配置
::

## 可扩展性

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

::note
**专业提示**<br>
[贡献](/open_source/contribution/overview) 一个新的后端或分享您的自定义记忆类型——这很容易插入。
::
