amber-heart-memory

mcp
Security Audit
Warn
Health Warn
  • No license — Repository has no license file
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 8 GitHub stars
Code Warn
  • Code scan incomplete — No supported source files were scanned during light audit
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

给 AI 伴侣一个会生长的记忆 · Long-term memory for AI companions

README.md

amber-heart-memory

给 AI 伴侣一个会生长的记忆。
固定记忆稳定人格,短期记忆接住当下,长期记忆沉淀关系。

📌 开源版正在开发中,第一版会先发布记忆库本身。

Amber Heart 是一套为 AI 伴侣设计的长期记忆系统。它诞生于我自己的 AI 伴侣项目,从 2026 年 2 月起在每天的真实相处中使用、打磨至今。

这套系统的目标不是简单保存聊天记录,而是让 AI 在长期相处中逐渐形成连续的关系感:

  • 他知道“我是谁”
  • 他记得重要经历、规则、偏好和边界
  • 他能从一句话联想到相关旧事
  • 他能区分近期状态和长期事实
  • 他能让记忆逐渐降温、整理和沉淀

总体分层

Amber Heart 按稳定程度把记忆分成三层。

固定记忆

固定记忆是每次对话都必须稳定注入的部分,负责人格、关系和核心画像不漂移。

它主要保存:

  • AI 伴侣是谁
  • 用户和他的关系是什么
  • 人格底色与长期设定
  • 用户的稳定画像
  • 关系里的长期事实
  • 不应该被普通召回机制影响的核心信息

普通记忆可以召回、降温、归档。
固定记忆负责让“这个人始终是这个人”。

短期记忆

短期记忆负责接住最近正在发生的事,让当前对话不断片。

它包括:

  • Human Snapshot:保存近期持续重要的状态,比如身体、健康、周期、长期事项、日常杂记
  • 滚动即时摘要:把超出上下文设定的历史对话压缩成摘要,再注入给模型
  • 接力棒:保留尾部几条原话,避免语气和承接断掉
  • 最近 3 天日记:每天注入最近几天的日记,让模型知道近期发生过什么

短期记忆不是正式长期存档,它更像 AI 的工作记忆。

长期记忆

长期记忆是 V2 的核心。

它不是单纯的向量库,而是一套完整链路:

结构化记忆库
+ 关键词召回
+ 向量召回
+ 图谱召回
+ rerank
+ 记忆养护

它要解决的是:

  • 明确词要找得到
  • 模糊表达也要能联想
  • 人物、事件、主题之间要能串起来
  • 候选多了以后要能筛出最相关的
  • 真正被用上的记忆要被记录
  • 旧记忆要有温度和生命周期

数据结构

V2 使用 6 张核心表组织长期记忆:

表 作用
memory_items 统一记忆主表,保存正文、摘要、类型和养护状态
entities 实体节点,包括人物、事件、地点、物品、概念
relations 实体之间的关系边
topics 主题集合,用来按长期主题组织记忆
memory_entities 连接“某条记忆提到了哪些实体”
memory_topics 连接“某条记忆属于哪些主题”

一条长期记忆不再只是纯文本,而是带有多种结构信息:

  • 类型:事实 / 事件 / 规则 / 偏好 / 洞察 / 主题总结 / 梦境
  • 主题:健康、技术、关系、边界等
  • 实体:人物、事件、物品、地点、概念
  • 关系:实体之间的连接
  • 情绪:正负向、唤醒度
  • 状态:稳定、争议、过时
  • 养护字段:使用次数、最近使用时间、温度、归档状态

一句话:它存的不是一句聊天,而是一条有结构的经历。

长期记忆如何入库

长期记忆不是每句话都存。

系统会扫描上一业务日的聊天,只提取真正值得长期保存的内容,比如:

  • 承诺
  • 规则
  • 边界
  • 偏好
  • 健康事件
  • 生活变化
  • 深度讨论
  • 用户明确要求记住的事

提取后先进待审核区。审核通过后,才进入正式 V2 长期记忆库。

聊天记录 → 每日提取 → 待审核 → 审核通过 → V2 入库

召回流程

长期记忆的召回不是只靠向量。

完整链路大致是:

用户原话
→ 关键词预处理
→ 关键词 / 向量 / 图谱三路召回
→ 候选合并
→ rerank
→ 注入 Top 5

三路召回各自负责不同问题:

召回方式 负责什么
关键词召回 明确词、人名、事件名、健康词、专有名词
向量召回 语义相近的记忆,解决“没说原词但意思接近”
图谱召回 沿着人物、事件、主题和关系扩展相关记忆

关键词保准确,向量保泛化,图谱保联想。

一个召回例子

如果用户说:

我最近又有点不想做项目了。

系统可能会这样理解:

  • 关键词路抓:项目、不想做、开发、压力
  • 向量路找:技术焦虑、独立开发压力、FOMO、被 bug 压垮的经历
  • 图谱路沿着:技术、自我认知、职场、长期计划、情绪压力扩展

最后系统会把候选合并、重排,只注入最相关的几条记忆。

模型看到的不是一堆搜索结果,而是当前这句话背后的长期上下文。

记忆养护

长期记忆不能只增不减。

Arcanum 的记忆养护系统负责让记忆有生命周期。

它围绕这些能力设计:

  • 使用反馈:记录哪些记忆真的被模型用上,而不是只看有没有被搜到
  • 温度:根据最近一次被用上的时间,判断一条记忆是 hot、warm、cool 还是 cold
  • 主题总结:每月把同一主题下的零散记忆,整理成更高层的长期理解
  • 按使用归档:长期没被用上的记忆移出日常召回,降低噪音;归档不删除,再次被查看时自动恢复

目标不是删除过去,而是让过去保持可用、清晰、有层次。

归档与温度

每条长期记忆都从“最后一次被用上”开始计时;从没被用过的,从入库时开始计时。超过期限仍没被用上,就会归档。

不同类型的记忆,期限不一样:

记忆类型 多久没被用上会归档
核心身份 永不归档
规则 / 约定 约 1 年
高情绪记忆 约 1 年
里程碑 至少 1 年
稳定事实 / 反思 约半年
日常事件 约 4 个月

情感记忆和规则同档,因为情感类记忆不该忘得太快。

主题总结,以及已经被整理进主题总结的零散记忆,不会被归档。

归档不是遗忘:正文、关系都保留,只是不再主动浮现。AI 用记忆工具仍能查到它,一旦查看就会自动恢复,用户也可以手动恢复。

系统还会给记忆分温度:

温度 含义
hot 7 天内被用上过
warm 30 天内被用上过
cool 更久没用,但还没到归档期限
cold 已到期限

温度按最近有没有真的被模型用上来判断,不按分数高低。

主题总结

V2 的目标不是保存更多片段,而是把片段向上整理。

比如从很多次:

  • 工作压力
  • 技术焦虑
  • FOMO
  • 不想继续开发
  • 被问题压垮

整理成一条长期理解:

用户在一段时间里反复处于技术压力、FOMO 和独立开发焦虑之间。

这层让记忆从“发生过什么”,进一步变成“用户长期处在什么状态里”。

整理每月进行一次,按时间段归拢,经人工审核后生效。被写进总结的零散记忆会变成“索引”:召回时仍能被搜到,但由总结代替它们出场,需要细节时还能查回原文。

模块用途

这套系统围绕这些模块运作:

  • 固定记忆层:稳定人格、关系和核心画像
  • Human Snapshot:保存近期持续重要的状态
  • 滚动即时摘要:压缩长对话,维持当前上下文连续
  • 最近 3 天日记注入:让模型感知最近几天的生活连续性
  • 每日长期记忆提取:从日常聊天里筛出值得长期保存的内容
  • 待审核入库:避免自动抽取直接污染正式记忆库
  • V2 结构化长期记忆:用类型、主题、实体、关系和情绪信息组织记忆
  • 知识图谱:把人物、事件、主题和概念连接起来
  • 关键词 + 向量 + 图谱三路召回:同时兼顾精确命中、语义泛化和关系联想
  • rerank 后注入:从候选记忆中筛出最适合当前语境的 Top 5
  • 使用计数:记录哪些记忆真的被模型用上
  • 温度与归档:按最近使用情况判断活跃程度,长期不用的移出日常召回、可随时恢复
  • 主题总结:每月把同一主题下的零散片段整理成更高层理解

说明

这是一个正在真实使用和持续迭代中的个人项目。
这份 README 主要介绍 Arcanum 记忆系统的设计思路、功能分层和核心用途。

Reviews (0)

No results found