# Phase M.0：Memory 现状与目标

日期：2026-04-04
状态：已完成
升级方向：拟人化记忆系统

---

## 1. 本阶段目的

本文件用于统一背景认知，明确：

- Jarvis 当前记忆系统处于什么水平
- 主要短板是什么
- 为什么要升级
- 升级后的目标形态是什么

---

## 2. 当前 Jarvis Memory 架构

### 2.1 核心流程

```
用户对话 → MemoryService → Mem0 (facts/preferences/goals)
                          → BrainService → BrainMemory
                          → SQLite (memory_summaries)
```

### 2.2 核心文件

| 文件 | 职责 |
|------|------|
| `backend/app/services/memory_service.py` | 三层记忆管理 |
| `backend/app/services/brain_service.py` | Brain 学习与回忆 |
| `backend/app/models/memory.py` | MemorySummary, UserMemory 模型 |
| `backend/app/models/brain.py` | BrainEvent, BrainMemory, BrainTag 模型 |

---

## 3. 当前能力矩阵

| 能力 | 状态 | 说明 |
|------|------|------|
| 短期记忆 | ✅ | messages 表存储当前会话 |
| 中期记忆 | ✅ | memory_summaries 跨会话摘要 |
| 长期记忆 | ✅ | Mem0 facts/preferences/goals |
| 记忆检索 | ✅ | Mem0 语义搜索 + SQLite LIKE |
| 记忆重要性 | ❌ | 无重要性评分 |
| 频率追踪 | ❌ | 无频率统计 |
| 遗忘机制 | ❌ | 存了就不删 |
| 主动提醒 | ❌ | 完全被动响应 |

---

## 4. 当前短板

| 短板 | 严重程度 | 影响 |
|------|----------|------|
| 无重要性评分 | 🔴 高 | 无法区分重要/不重要记忆 |
| 无频率追踪 | 🔴 高 | 反复出现的痛点无法识别 |
| 无遗忘机制 | 🟡 中 | 存储无限增长，冷门知识占空间 |
| 无主动提醒 | 🔴 高 | 用户不问就不说，不像助理 |
| 无情绪感知 | 🟡 中 | 无法区分用户急/重要的表达 |

---

## 5. 目标架构

```
┌─────────────────────────────────────────────────────────────┐
│                      用户对话输入                             │
└─────────────────────────┬───────────────────────────────────┘
                          │
              ┌───────────┴───────────┐
              │   Importance Scorer   │  ← M.1 新增
              │  - 频率 (你提几次了)   │
              │  - 情绪 (急/重要/困扰)  │
              │  - 影响面 (关联多少)   │
              │  - 时间 (最近/当时)    │
              └───────────┬───────────┘
                          │
         ┌────────────────┼────────────────┐
         ▼                ▼                ▼
   ┌───────────┐   ┌───────────┐   ┌───────────┐
   │ 高优先级  │   │ 中优先级  │   │ 低优先级  │
   │ (主动提醒)│   │ (记住)   │   │ (归档)   │
   └─────┬─────┘   └─────┬─────┘   └─────┬─────┘
         │                │                │
         ▼                ▼                ▼
   形成观点          选择性回忆        自然遗忘
   主动提醒          需要时召回        (降权归档)
```

---

## 6. 与 VCPToolBox 的关系

| VCPToolBox 能力 | 本升级是否借鉴 | 理由 |
|-----------------|---------------|------|
| TagMemo 向量检索 | ❌ 不借鉴 | 你需要的是「记住什么」，不是「检索更准」 |
| LIF 脉冲扩散 | ❌ 不借鉴 | 同上 |
| EPA 语义分析 | ❌ 不借鉴 | 同上 |
| 频率追踪 | ✅ 参考 | 这是你核心需要的，VCPToolBox 没有，自己设计 |

**结论：VCPToolBox 解决的是「知识管理」，本升级解决的是「记忆价值判断」，是两个不同的问题。**

---

## 7. 升级后的直观改变

| 现在 | 升级后 |
|------|--------|
| 问 3 次同一个问题，Jarvis 每次都当新问题 | 第 2 次就记住，第 3 次能说"你之前问过..." |
| 很少用的知识自动沉底 | 低频知识自动归档，需要时能恢复 |
| 你问"明天干嘛" → 只能看日程 | 主动说"你昨天说想换工作，提醒你查一下 JD" |
| 告诉 Jarvis 的事可能下次就忘了 | 重要的事主动记，冷门的事知道就行 |

---

## 8. 本阶段产出要求

- [x] 团队对 Jarvis 当前记忆问题和目标方向达成一致
- [x] 明确了与 VCPToolBox 的关系（不借鉴 VCPToolBox）
- [x] 后续 phase 文档能够在这个认知基础上展开
