Skip to content

记忆系统

概述

Open Note 拥有独特的长期记忆自我进化能力,使 Cici 能够越来越了解你的偏好和工作习惯。

记忆类型

1. 用户画像(Profile)

记录你的个人信息和偏好。

示例

  • 职业:软件工程师
  • 偏好语言:中文
  • 常用技术栈:Java、Spring-Boot、Vue
  • 工作习惯:喜欢早上写笔记
  • 喜欢被称呼:xx

2. 事实(Fact)

记录客观事实信息。

示例

  • 在生成关于书籍故事等笔记时,笔记标题要用书名号括起来,因为这样用户觉得更正式

3. 经验(Experience)

从交互中总结的经验教训。

示例

  • 当用户表达不完整或有误时(如'今天星期就'),应主动推测正确意图并验证,用户喜欢这种默契
  • 当用户询问是否有某类笔记(如'有学习相关的笔记吗')时,应优先使用 note_search 工具按关键词搜索,如果结果不足再尝试向量搜索,无需同时调用 note_search、note_vector_search 和 note_list_recent 三个工具,避免冗余调用和资源浪费

记忆提取

触发方式

即时触发

某些关键词会立即触发记忆提取:

  • "我喜欢..."
  • "我讨厌..."
  • "记住..."
  • "我是..."

批量触发

每 5 轮对话自动批量提取记忆。

提取过程

对话内容 → 记忆提取器 → 候选记忆 → 置信度评估 → 存储

记忆管理

置信度

每条记忆都有置信度(0-1):

  • 1.0:明确表达("我是软件工程师")
  • 0.8:强烈暗示("我每天写 Java 代码")
  • 0.5:间接推断(经常讨论某个话题)

衰减策略

记忆会随时间衰减:

新置信度 = 原置信度 × 衰减系数 × 时间因子
  • 衰减系数:0.95(可配置)
  • 时间因子:距上次提及时间

清理策略

  • 置信度 < 0.3:自动删除
  • 过期记忆:标记为待清理
  • 定期清理:每月自动执行

记忆注入

按需注入

Cici 会根据对话内容自动注入相关记忆:

用户:"帮我写一篇关于 Spring-AI 的笔记"

系统注入记忆:
- 偏好:喜欢简洁风格
- 技术栈:熟悉 Java、Spring-Boot
- 习惯:喜欢带示例的代码

个性化服务

基于记忆提供个性化响应:

  • 使用你偏好的语言风格
  • 推荐相关主题
  • 避免重复建议

自我进化

进化循环

记忆提取 → 经验总结 → 自我反省 → 知识整理 → 召回反哺

持续改进

  1. 学习:从每次交互中学习
  2. 总结:提炼有用经验
  3. 反省:评估服务质量
  4. 整理:优化知识结构
  5. 应用:提供更好的服务

查看记忆

记忆面板

在 Cici 对话界面可以查看:

  • 已提取的记忆数量

管理记忆

  • 清除某一类或全部记忆

隐私保护

本地存储

所有记忆存储在本地数据库,不会上传。

完全可控

  • 随时查看记忆
  • 随时删除记忆
  • 可以禁用记忆功能

配置

启用/禁用

设置 → AI 服务 → 记忆系统

故障排查

Q: 记忆不准确

如果影响使用可以删除记忆或针对对应类型的对Agent强调或反复强调。

Q: 不想被记忆

在设置中禁用记忆提取。

Q: 记忆丢失

检查数据库文件完整性。