[< 返回设计概览](../DESIGN.md)

---

# 1. 愿景与问题

## 1.1 记忆是 Agent 的灵魂

没有可靠的长期记忆，LLM 智能体永远只能是"工具"，无法进化为"助手"。

记忆层具有**复利效应**——使用越久，积累越多，价值越高。这是 agent 生态中唯一需要深耕且不可替代的部分：LLM 引擎会持续迭代（Anthropic/OpenAI/Google 等），Skill 的边际成本极低（写 markdown 即可），但记忆是跟随用户持续积累的私有资产。

## 1.2 LLM 的"失忆"问题

LLM 智能体存在三个致命的记忆缺陷：

- **上下文压缩丢失**：`/compact` 或自动压缩之后，之前的决策、发现、上下文全部丢失
- **跨会话遗忘**：每次新会话都从零开始，对旧会话一无所知
- **长会话衰减**：上下文窗口塞满后，早期关键信息被挤出注意力范围

对于需要"持续学习用户思维、成为用户延伸"的数字助手来说，这三个缺陷意味着用户必须反复重申偏好、重新解释项目背景、重复推导已有结论。

## 1.3 传统方案的结构性瓶颈

现有的 RAG/Memory 方案存在根本性的设计局限：

1. **记忆是附属品**——生命周期绑定 agent 会话，不是独立实体
2. **写入是被动的**——对话结束后提取摘要（reactive），丢失结构信息
3. **检索是扁平的**——仅靠向量相似度，无法表达时间/因果/矛盾关系
4. **没有遗忘机制**——全记或 TTL 一刀切，无智能衰减
5. **依赖重**——需要 API Key、外部数据库、网络连接

## 1.4 Mnemon 的定位

Mnemon 的目标是：**让 LLM 像有经验的助手一样，记住你的决策、理解你的偏好、追踪项目上下文——跨越任意多的会话。**

它不是嵌入某个 agent 框架的库或插件，而是一个独立的记忆引擎——可被 Claude Code、Cursor、或任何 LLM CLI 通过命令行调用。

## 1.5 方案对比

| 维度 | Mem0 | Letta/MemGPT | Claude Code Memory | **Mnemon** |
|------|------|-------------|-------------------|-----------|
| **架构** | SDK 嵌入调用链 | Agent 框架内 | CLAUDE.md 文件注入 | 独立 Binary |
| **LLM 角色** | 内部提取函数 | Agent 自主管理 | 无（静态文件加载） | 外部监督者 |
| **图谱** | Neo4j 单一关系边 | 无 | 无 | MAGMA 四图 |
| **检索** | 向量相似度 | 向量相似度 | 全文加载到上下文 | 意图自适应多信号融合 |
| **外部依赖** | PostgreSQL + LLM API | PostgreSQL + LLM API | 零 | 零 |
| **LLM 可替换** | 绑定 OpenAI | 绑定框架 | 仅 Claude Code | 任意 LLM CLI |
| **记忆生命周期** | 规则引擎 | 无内置衰减 | 手动 / 自动追加 | EI 衰减 + GC + 免疫 |
