# Jarvis Memory 升级计划索引

本目录用于存放 Jarvis 记忆系统的分阶段升级规划文档。

## 文档说明

| 文件 | 说明 |
|------|------|
| `README.md` | 总览、阶段关系、实施顺序 |
| `phase-m-0-current-state.md` | 当前现状、问题、目标架构 |
| `phase-m-1-importance-scoring.md` | 重要性评分系统 |
| `phase-m-2-forgetting-system.md` | 遗忘曲线系统 |
| `phase-m-3-proactive-reminder.md` | 主动提醒系统 |
| `phase-m-4-auto-extraction.md` | 对话自动学习（记忆提取） |
| `phase-m-5-recall-injection.md` | 记忆召回注入（对话个性化） |
| `checklist.md` | 执行清单 |

## 推荐阅读顺序

1. 先读 `phase-m-0-current-state.md`
2. 再按顺序阅读 phase m-1 ~ m-3
3. 实施时严格按阶段推进
4. 参考 `checklist.md` 进行任务追踪

---

## 总体升级原则

1. **频率追踪** - 每次交互更新记忆频率
2. **重要性分层** - 高频/情绪/影响面 → 重要记忆
3. **遗忘曲线** - 低频记忆自然衰减
4. **主动关心** - 定期生成提醒，而非被动响应
5. **可独立推进** - Phase M 可与 Agent Phase 1-5 并行

---

## 阶段总览图

```
M.0 ──────────────────────────────────────────────────────────────┐
│ 现状与目标                                                           │
│ - 当前记忆架构分析                                                    │
│ - 短板识别                                                           │
│ - 拟人记忆目标                                                       │
└────────────────────────────────────────────────────────────────────┘
         │
         ▼
M.1 ──────────────────────────────────────────────────────────────┐
│ 重要性评分系统                                                       │
│ - MemoryFrequencyTracker (频率追踪)                                │
│ - EmotionAnalyzer (情绪分析)                                       │
│ - ImpactScorer (影响面评估)                                        │
│                                                                      │
│ 核心文件: services/memory/importance_scorer.py                  │
│ 工作量: 4 天                                                        │
└────────────────────────────────────────────────────────────────────┘
         │
         ▼
M.2 ──────────────────────────────────────────────────────────────┐
│ 遗忘曲线系统                                                         │
│ - ForgettingCurve (遗忘曲线)                                        │
│ - MemoryDecay (记忆衰减)                                            │
│ - ReinforcementTrigger (强化触发)                                  │
│                                                                      │
│ 核心文件: services/memory/forgetting_curve.py                   │
│ 依赖: M.1                                                          │
│ 工作量: 3 天                                                        │
└────────────────────────────────────────────────────────────────────┘
         │
         ▼
M.3 ──────────────────────────────────────────────────────────────┐
│ 主动提醒系统                                                         │
│ - DailyDigestGenerator (每日摘要)                                   │
│ - ReminderScheduler (提醒调度)                                      │
│ - ProactiveMemoryInformer (主动提醒)                                │
│                                                                      │
│ 核心文件: services/memory/proactive_reminder.py                  │
│ 依赖: M.1, M.2                                                     │
│ 工作量: 5 天                                                        │
└────────────────────────────────────────────────────────────────────┘
         │
         ▼
M.4 ──────────────────────────────────────────────────────────────┐
│ 对话自动学习                                                         │
│ - MemoryExtractor (对话结束后自动提取记忆)                            │
│ - 5 种记忆类型: fact / preference / goal / pain_point / event      │
│ - 去重：相似度 > 0.85 强化而非新建                                    │
│                                                                      │
│ 核心文件: services/memory/memory_extractor.py                   │
│ 依赖: M.1                                                          │
│ 工作量: 3 天                                                        │
└────────────────────────────────────────────────────────────────────┘
         │
         ▼
M.5 ──────────────────────────────────────────────────────────────┐
│ 记忆召回注入                                                         │
│ - MemoryRecallInjector (发消息时注入相关记忆到 system prompt)         │
│ - Token 预算控制（默认 800 token）                                   │
│ - 按重要性 + 语义相关性排序                                           │
│                                                                      │
│ 核心文件: services/memory/recall_injector.py                    │
│ 依赖: M.1, M.4                                                     │
│ 工作量: 2 天                                                        │
└────────────────────────────────────────────────────────────────────┘
```

---

## 核心借鉴

| 借鉴点 | 来源 | 难度 |
|--------|------|------|
| 频率追踪 | 儿童认知发育模型 | 🟢 低 |
| 艾宾浩斯遗忘曲线 | 心理学研究 | 🟢 低 |
| 重要性评分 | Jarvis 自身需求 | 🟡 中 |
| 主动提醒 | 儿童认知发育模型 | 🟡 中 |

**注：本升级不借鉴 VCPToolBox，因为 VCPToolBox 解决的是「检索精度」问题，而本升级解决的是「记忆价值判断」问题。**

---

## 实施顺序

```
M.0 → M.1 → M.2 → M.3
  │       │       │       └── 主动提醒系统
  │       │       └── 遗忘曲线系统
  │       │
  │       ├── M.4   （依赖 M.1，可与 M.2/M.3 并行）
  │       │     └── 对话自动学习
  │       │
  │       └── M.5   （依赖 M.1 + M.4）
  │             └── 记忆召回注入
  └── 现状与目标
```

**注意：**
- M.1 是基础，所有后续阶段都依赖 M.1
- M.4 依赖 M.1，可与 M.2/M.3 并行推进
- M.5 依赖 M.1 和 M.4（需要有记忆可注入）
- **M.4 + M.5 是记忆真正「活起来」的关键管道**：M.4 往记忆库写，M.5 从记忆库读并影响对话

---

## 文件变更追踪

| Phase | 新增文件 | 修改文件 |
|-------|---------|---------|
| M.1 | `services/memory/importance_scorer.py`, `services/memory/frequency_tracker.py`, `services/memory/emotion_analyzer.py`, `tests/test_importance_scorer.py` | `models/memory.py`, `services/memory_service.py` |
| M.2 | `services/memory/forgetting_curve.py`, `tests/test_forgetting_curve.py` | `models/memory.py`, `services/memory_service.py` |
| M.3 | `services/memory/daily_digest.py`, `services/memory/reminder_scheduler.py`, `tests/test_proactive_reminder.py` | `services/memory_service.py`, `services/scheduler_service.py` |
| M.4 | `services/memory/memory_extractor.py`, `tests/services/test_memory_extractor.py` | `routers/conversation.py`, `services/scheduler_service.py` |
| M.5 | `services/memory/recall_injector.py`, `tests/services/test_recall_injector.py` | `routers/conversation.py`, `services/memory_service.py` |

---

## 与 Agent Phase 1-5 的关系

| Agent Phase | Memory 协作内容 |
|-------------|----------------|
| Phase 1 | Memory 追踪用户交互频率 |
| Phase 2 | Memory 服务被 Librarian Agent 调用 |
| Phase 3 | 支持动态协作时的记忆共享 |
| Phase 4 | Memory 重要性可视化 |
| Phase 5 | 高级记忆关联分析 |
| **Phase M** | **独立 Memory 升级路径，可与 Phase 1-5 并行推进** |

---

## 注意事项

| 注意事项 | 说明 |
|---------|------|
| M.1 是基础 | M.2 和 M.3 都依赖 M.1 的重要性评分 |
| 渐进式遗忘 | 不是删除，是降权和归档 |
| 主动提醒需用户授权 | 提醒推送需要用户明确开启 |
| 不改变现有检索逻辑 | Memory 升级是独立于 RAG 的 |

---

## 目标：拟人化记忆

```
现在的 Jarvis:
用户问什么，Jarvis 答什么，不问就不说

升级后的 Jarvis:
- 知道什么对你重要（频率+情绪+影响面）
- 知道什么是你的痛点（反复问的问题）
- 会主动提醒你关心的事（不是等用户问）
- 知道什么可以忘记（低频记忆自然衰减）
```
