赋予 AI 真实的“海马体”与“自我意识”
TimeWeave Memoria 是一个模拟人类认知模型的 AI 记忆增强框架。它不仅仅是外挂一个向量数据库,而是通过分层记忆、读写分离和自我维护机制,让 AI 拥有连贯的人格、可成长的知识库以及长期的情景记忆。
系统模仿人类大脑,将记忆划分为五个维度,解决传统 RAG 系统“只有知识没有性格”的问题:
| 层级 | 记忆类型 | 作用与示例 | 存储技术 |
|---|---|---|---|
| L1 | 核心记忆 (Core) | 自我认知与用户画像。决定 AI 的人设(如“傲娇黑客”)及对用户的称呼与偏好。 | JSON (Profile) |
| L2 | 语义记忆 (Semantic) | 确定的事实知识。如“用户的显卡是 RTX 4090”,支持冲突检测与自动更新。 | SQLite (Relational) |
| L3 | 情景记忆 (Episodic) | 带时间戳的经历。记录对话流水账,支持基于时间与语义的混合检索。 | ChromaDB (Vector) |
| L4 | 程序性记忆 (Procedural) | 肌肉记忆与习惯。自动提取用户的指令习惯(如“代码必须加注释”),在特定任务中自动触发。 | SQLite (SOPs) |
| L5 | 情感记忆 (Emotional) | 情绪快照。附着在情景记忆上,让 AI 能感知过去对话的情绪色彩。 | Metadata |
为了保证极致的对话流畅度,系统采用了类海马体的处理机制:
- Fast Reflex (ChatService): 用户输入后,系统仅进行检索和生成回复,实现毫秒级响应。
- Deep Encoding (Pipeline): 记忆的提取、分类、结构化和存储在后台异步线程中进行,不阻塞当前对话。
解决向量数据库无限膨胀的问题:
- 记忆压缩: 系统会定期在后台扫描碎片化的短期对话。
- 摘要生成: 将琐碎的“你好”、“在吗”压缩为精炼的长期摘要(如“用户在周五下午讨论了天气与饮食偏好”)。
- 主动遗忘: 生成摘要后,自动清理原始的冗余向量数据,保持记忆库的轻量与高效。
- CLI 模式: 极客风格的终端交互,适合调试与开发。
- Web 模式: 基于 FastAPI + Glassmorphism (玻璃拟态) 设计的沉浸式前端,支持流光动效、Markdown 渲染与动态人设加载。
User Input
│
▼
[Intent Analysis] (LLM) ───► 提取搜索关键词 & 意图
│
├─► [Hybrid Retrieval]
│ ├── Vector Search (模糊回忆)
│ ├── SQL Query (精确事实 & 习惯)
│ └── Core Profile (当前人设)
│
▼
[Context Assembly] ───► 动态构建 System Prompt
│
▼
[LLM Generation] ───► 返回回复 (Immediate Response)
│
└── [Async Pipeline] (Background)
├── 提取事实 (Entity Extraction)
├── 分析情绪 (Sentiment Analysis)
├── 写入各层数据库 (Storage)
└── 触发记忆压缩 (Maintenance)
- Python 3.10+
- OpenAI API 兼容接口 (支持 GPT-4, DeepSeek, vLLM 等)
- (可选) CUDA 环境以加速向量嵌入
-
配置环境:
复制 .env.example 为 .env 并填入 LLM_API_KEY。
-
启动 Web 界面:
python run_web.py
访问:
http://localhost:9999 -
启动 CLI 模式:
python main.py
- Core: Python, Pydantic, Threading
- LLM Integration: OpenAI SDK (Universal Adapter)
- Storage:
- ChromaDB (Vector)
- SQLite (Relational)
- JSON (Key-Value)
- Web: FastAPI, Uvicorn, Jinja2, Tailwind CSS
Design Philosophy: 记忆不是数据的堆砌,而是随着时间推移,不断被提取、重组和遗忘的生命过程。