记忆管理
概念
AI 助手如果"没有记忆",每次对话都从零开始——你得反复介绍自己、重复偏好、解释背景。OpenAkita 的三层记忆系统让 AI 真正"记住你",就像人类的记忆一样分层运作:
| 记忆层级 | 类比 | 说明 |
|---|---|---|
| 工作记忆(Scratchpad) | 办公桌上的便签 | 当前任务的临时上下文,跨会话保留待办事项和当前焦点 |
| 语义记忆(Semantic) | 大脑中的知识库 | 持久化的事实、偏好、技能、规则——AI 对你的长期认知 |
| 情节记忆(Episodic) | 日记和回忆 | 过往对话的经验片段,包含工具调用链、结果和教训 |
当你和 AI 对话时,系统会自动从这三层记忆中检索相关内容注入上下文,让 AI 始终"知道你是谁"。
记忆类型
语义记忆按内容分为以下类型:
| 类型 | 说明 | 示例 |
|---|---|---|
fact | 事实 | "用户的公司叫 OpenAkita" |
preference | 偏好 | "喜欢简洁的回复风格" |
skill | 技能 | "擅长 Python 和 React" |
rule | 规则 | "回复时不要使用 emoji" |
error | 错误记录 | "上次部署时端口冲突" |
experience | 经验教训 | "处理 CSV 文件时先检查编码" |
persona_trait | 人格特征 | "用户喜欢被叫做'老板'" |
context | 上下文 | 旧版兼容,新系统中转为情节记忆 |
每条记忆还有优先级(transient → short_term → long_term → permanent),决定保留时长。
查看与编辑记忆
在记忆管理面板中你可以:
- 浏览所有记忆:按类型、标签筛选
- 编辑内容:修改记忆文本、优先级、标签
- 删除记忆:移除错误或过时的记忆
- LLM 智能整理:让 AI 帮你审阅和优化记忆,合并重复项、修正表述
提示
记忆是 AI 个性化的基础。如果发现 AI 有不准确的理解,可以直接在这里修正。
记忆搜索后端
OpenAkita 支持三种搜索后端,用于在对话时检索相关记忆:
FTS5(默认)
- 基于 SQLite FTS5 全文搜索 + jieba 中文分词
- 零外部依赖,开箱即用
- BM25 排序,适合大多数场景
ChromaDB
- 本地向量搜索,基于 sentence-transformers 生成 embedding
- 语义理解更强,能找到"意思相近但措辞不同"的记忆
- 需要安装
chromadb和sentence-transformers
API Embedding
- 使用在线 Embedding 服务(DashScope / OpenAI)
- 搜索质量最高,embedding 结果本地缓存
- 需要 API Key,会产生少量费用
配置项
以下参数均可在 灵魂与意志配置 中调整:
| 配置项 | 说明 | 默认值 |
|---|---|---|
| 搜索后端 | fts5 / chromadb / api_embedding | fts5 |
| Embedding 模型 | API Embedding 使用的模型 | text-embedding-v3 |
| 历史保留天数 | 对话历史保留时长 | 30 天 |
| 最大文件数 | 附件记忆保留上限 | 100 |
记忆的自动维护
系统会自动进行记忆维护,无需人工干预:
- 对话结束时:自动提取事实、偏好、经验写入语义记忆
- 每日整合:合并相似记忆、清理过期项、更新重要性分值
- MEMORY.md 同步:关键记忆自动写入
identity/MEMORY.md,纳入系统提示
