# 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: - 知道什么对你重要(频率+情绪+影响面) - 知道什么是你的痛点(反复问的问题) - 会主动提醒你关心的事(不是等用户问) - 知道什么可以忘记(低频记忆自然衰减) ```