AI长期记忆设计:从OpenClaw、Hermes到宠爱信号的深度解析
本文是对OpenClaw、Hermes的学习,结合自己的AI实战项目宠爱信号,对AI记忆系统的总结。 欢迎一起了解AI长期记忆的设计思想,以及探讨为什么”记住”这件事,比”理解”更难。 个人实战与观点总结,欢迎指正
大模型的上下文窗口是有限的。
但如果你是重度用户,聊了一个月, 积攒的对话可能有几百万字。AI不可能把全部对话都塞进脑子里,它必须做选择——记住什么,忘记什么。
这就好比一个服务员每天要接待100个客人,但她只能背下10个人的偏好。问题是:该背哪10个?
更麻烦的是,记忆不是存储,还要再恰当的时间净赚找到。
存了但找不到,等于没存。找到但用错了场景,还不如不找。
所以,真正的AI记忆系统要解决三个问题:
-
分层存储:什么该记?什么该忘?
-
主动召回:在恰当的时机,把恰当的记忆推给AI
-
冲突解决:当新旧记忆矛盾时,该信哪个?
短期记忆像”便签墙”,记录最新对话;长期记忆像”档案柜”,按主题归档;核心记忆像”身份证”,只保留最关键的事实。
二、OpenClaw的记忆哲学:让记忆”文件化”
OpenClaw是一个开源的AI Agent框架,它的记忆设计非常有特点,是把把记忆当成文件记事本来管理。
什么意思呢?OpenClaw没有搞复杂的数据库,而是让AI把记忆直接写成Markdown文件,存在你的电脑里。就像一个兢兢业业的秘书,每天写工作笔记:
-
MEMORY.md —— 长期记忆(核心事实、偏好、决策)
-
memory/YYYY-MM-DD.md —— 每日笔记(当天对话摘要)
-
DREAMS.md —— 梦境日记(自动整理的记忆回顾)
这种设计的聪明之处在于:简单、透明、可控。
你可以随时打开这些文件,看看AI到底记了什么。不喜欢?直接改。记忆满了?AI会自动压缩、合并、淘汰旧的条目。
OpenClaw的”主动记忆”(Active Memory)
OpenClaw有一个挺有意思的主动记忆插件(Active Memory Plugin)。
传统的记忆系统是被动的:用户问到了,AI才去搜。但OpenClaw在每次回复前,会先让一个”记忆子代理”快速扫描一遍用户的对话历史,主动把相关的记忆塞进系统提示词里。
打个比方:普通AI是你问”今天吃什么”,它才翻你的饮食记录。OpenClaw是,你还没问,它已经看到今天是周三,想起你”每周三不吃碳水”,直接在回复里推荐了沙拉。
这就是“主动”和”被动”的区别。
OpenClaw还支持混合搜索,同时用”语义搜索”(就是找意思相近的)和”关键词搜索”(找字面匹配的),确保既不错过”狗狗对鸡肉过敏”这种明确事实,也能召回”豆豆肠胃不好”这种隐性关联。
三、Hermes的记忆策略:双文件+外部大脑
Hermes是另一个知名的AI Agent项目,它的记忆设计更偏向”工程化”。
双文件系统
Hermes把记忆严格分成两类:
|
文件 |
用途 |
容量限制 |
|---|---|---|
|
MEMORY.md |
AI的个人笔记(环境、项目、经验教训) |
2,200字符 |
|
USER.md |
用户画像(偏好、沟通风格、身份) |
1,375字符 |
注意这个容量限制:Hermes故意把记忆容量压得很小,逼AI只保留最高价值的信息。就像给行李箱限重,你只能带最重要的东西。
当记忆满了怎么办?Hermes会让AI自己判断:哪些条目可以合并,哪些可以删除,哪些需要精简。这叫做记忆治理(Memory Curation)。
外部记忆提供者
除了内置的双文件系统,Hermes还支持外部记忆插件,包括:
-
Honcho —— AI原生的跨会话记忆,带用户建模
-
Memo —— 自动事实提取和跨会话用户画像
-
Hindsight —— 事后反思,从失败中学习
-
Holographic —— 知识图谱式的关联记忆
这些外部提供者就像给AI接上了”外置硬盘”,让记忆能力从”记事本”升级到”图书馆”。
会话搜索(Session Search)
Hermes还有一个实用的设计:所有对话都存进SQLite数据库,支持全文搜索。
即使某条信息不在AI的”主动记忆”里,你也可以直接问它:”上周我们是不是聊过疫苗的事?” AI会去数据库里搜,把相关内容找出来。
记忆是”常备”的,会话搜索是”按需”的。 两者互补,构成完整的记忆体系。
四、宠爱信号(PawSignal):一个宠物AI小程序的记忆实战
宠爱信号(PawSignal)宠爱信号,自己实战研发的一款基于AI的养宠助手小程序。
为什么选宠物场景?因为近期在做宠物的项目,还有就是铲屎官养多只宠物,是AI帮宠物记录的好场景。
告诉AI”豆豆对鸡肉过敏”,这是医疗级信息,错了会有危险。
你问”明天该打疫苗了吗”,AI得翻查几个月前的疫苗记录。
你说”豆豆最近不爱吃原来的粮”,AI得结合体重、排便、活动量综合判断。
宠物的记忆,让AI帮助铲屎官来记。
宠爱信号的三层记忆架构
宠爱信号的记忆系统,借鉴了OpenClaw和Hermes的设计思想,但针对宠物场景做了深度改造:
宠爱信号的记忆系统分为三层:短期记忆(便签墙)、长期记忆(主题档案柜)、核心记忆(宠物身份证),三级记忆自动流转。
第一层:短期记忆(Short-Term Memory)
用户每次和AI聊天产生的有效信息,先进入短期记忆池。特点是:
-
有时效:默认30天过期
-
有上限:每轮对话最多记5条
-
有权重:健康相关信息权重更高
核心设计是短期记忆不是”存了就完”,而是”被使用才有价值”。
宠爱信号引入了recallCount(被召回次数-记录的记忆被用过) 信号追踪。也就是说,系统会记录:
-
AI在回复时引用了这条记忆几次?
-
用户在记忆页面主动展开看过几次?
-
被查询命中了几次?
只有被反复使用的记忆,才值得升级。
第二层:长期记忆(Long-Term Memory)
短期记忆过期后,不是直接删除,而是由AI自动整理成主题摘要,归档到长期记忆。
宠爱信号把宠物相关记忆分成8个主题:
|
主题 |
覆盖内容 |
|---|---|
|
health |
健康状况、疾病、症状 |
|
diet |
饮食、喂食、零食 |
|
behavior |
行为习惯、训练、性格 |
|
daily |
日常活动、作息 |
|
medical |
疫苗、驱虫、体检 |
|
social |
社交、与其他宠物/人互动 |
|
environment |
居住环境、用品 |
|
user |
用户偏好、养宠风格 |
这样做的好处是:AI在回答问题时,可以按主题精准召回。比如用户问”最近吃饭怎么样”,AI优先召回主题的记忆,而不是把疫苗记录也翻出来。
第三层:核心记忆(Core Memory)
核心记忆是宠爱信号的”宠物身份证”,只保留最关键、最稳定的事实:
-
过敏史(鸡肉过敏、海鲜过敏)
-
慢性病(心脏病、糖尿病)
-
用药记录
-
核心饮食偏好
-
主人联系方式和偏好(这个比较特殊属于用户核心记忆)

核心记忆有严格的预算控制:
-
每只宠物最多20条核心记忆( 可调)
-
总字数不超过1500字符
-
超出预算时,优先淘汰”召回次数最少”的记忆
为什么做预算? 主要是控制成本,每轮对话在harness做了最大的token消耗量成本控制,核心记忆每次对话都会注入AI的上下文,太多了会挤占对话空间,导致AI感觉变笨。这里主要是为了验证成本控制而做的控制。

五、记忆的生命周期:从”便签”到”身份证”
宠爱信号的记忆不是静态的,而是有一个完整的生命周期:
记忆从用户对话进入短期记忆,经过评分系统评估,自动升级到核心记忆,全程经过冲突检测和预算控制。
Step 1:写入短期记忆
用户说一句”豆豆昨天吐了两次”,AI识别出这是健康相关信息,写入短期记忆,标记weightLevel=3(高权重)—我把他比作记忆的重量,短期3、长期2、核心1;
Step 2:信号追踪
接下来的几天:
-
AI在回复”豆豆怎么了”时引用了这条记忆 → recallCount +1
-
用户在记忆页面点开查看详情 → recallCount +1
-
用户搜索”呕吐”时这条记忆被命中 → recallCount +1
Step 3:自动评分
每晚定时任务(memoryUpgrade)会扫描所有短期记忆,计算升级评分:
评分 = 信号分×0.35 + 置信度×0.30 + 权重分×0.20 + 新鲜度×0.15
-
信号分:被AI引用、用户查看、查询命中的综合加权
-
置信度:AI对这条记忆真实性的判断
-
权重分:健康信息权重高,闲聊权重低
-
新鲜度:越新的记忆分数越高
Step 4:升级决策
|
评分 |
动作 |
|---|---|
|
≥ 0.75 且被引用≥2次 |
自动升级到核心记忆 |
|
0.50 ~ 0.75 |
保持观察,进入pending |
|
< 0.50 且已存在>30天 |
降级归档到长期记忆 |
Step 5:冲突解决
如果新的记忆和已有核心记忆矛盾怎么办?
比如核心记忆写着”豆豆对鸡肉过敏”,但用户新说”豆豆最近吃鸡肉没问题”。
宠爱信号的处理策略是**”保守优先,自动闭环”**:
-
不自动覆盖旧事实——医疗信息宁可信旧,不能信新
-
进入观察池——新记忆标记为candidate,系统继续收集证据
-
多源验证——如果不同时间、不同场景下多次出现新说法,再考虑升级
-
用户确认——高风险变更会推送给用户确认


六、OpenClaw vs Hermes vs 宠爱信号:三种记忆哲学的对比
OpenClaw偏向”文件化+主动召回”
Hermes偏向”双文件+外部扩展”,
宠爱信号偏向”分层评分+预算控制”。
三种设计没有绝对的好坏,只有场景适配。
-
OpenClaw适合需要透明可控的开发者;
-
Hermes适合追求简洁稳定的通用场景;
-
宠爱信号则针对宠物这个垂直领域,做了深度的业务适配,因为宠物的记忆,是”健康管理+长周期+强关联”的。
七、给你的可复用要点:设计AI记忆系统的7条原则
设计一个带记忆功能的AI产品,以下7条原则可以直接拿走:
1. 记忆必须分层
不要所有信息都往一个篮子里扔。短期、长期、核心,各层有各自的容量、时效和用途。
2. 信号比存储更重要
存了100条但从来没用过,不如存10条经常被召回的。追踪记忆被使用的情况,是判断记忆价值的核心指标。
3. 主动召回 > 被动搜索
等用户问了再去找记忆,体验是断裂的。好的记忆系统应该在对话开始前,就把相关记忆推给AI。
4. 容量必须做预算
AI的上下文窗口是有限的。核心记忆要像行李箱限重一样,逼自己只带最重要的东西。
5. 冲突处理要保守
新旧记忆矛盾时,默认信旧的。新记忆进入观察池,积累足够证据后再升级。医疗、金融等高风险领域尤其如此。
6. 让用户可见、可控
记忆不是黑箱。用户应该能看到AI记了什么,能删、能改、能锁定重要的条目。
7. 垂直场景需要深度适配
通用记忆框架只能解决60%的问题。真正好用的记忆系统,必须理解业务——比如宠物场景要区分”用户偏好”和”宠物事实”,要识别高风险信息(体重、用药、过敏)。
八、写在最后:记忆是AI的人格
个人观点:记忆系统的设计,本质上是在定义AI的人格
一个记忆模糊的AI,就像一个贵人多忘事的朋友,聊得再开心,下次见面还是陌生人。
一个记忆精准但僵化的AI,就像一个死板的秘书,只会背条文,不懂变通。
真正好的AI记忆,应该像一位相处多年的老朋友:
-
你不用说全称,他知道你叫”豆豆”的是哪只狗
-
你不用说背景,他记得”豆豆上次肠胃炎是三个月前”
-
你不用说偏好,他知道你”喜欢先问社区经验,再问医生”
这种懂你的感觉,不是模型参数带来的,是记忆系统带来的。
🐾 关于宠爱信号(PawSignal)
这篇文章里提到的宠爱信号(PawSignal),是我们团队正在做的一款AI养宠助手小程序。
AI不应该只是”回答问题的工具”,而应该是”记得你宠物点点滴滴的伙伴”,这是能帮我们争取做事的前提。
在宠爱信号里:
✅ AI会记住你家宠物的过敏史、用药记录、疫苗时间
✅ 你问”最近该注意什么”,AI会综合体重、饮食、行为给出建议
✅ 多宠家庭也能精准区分,不会把大狗的粮推荐给小狗
✅ AI还能帮铲屎官创建日程、查询日程……
还有更多好玩的……
如果你也养宠物,欢迎体验,给我们提建议。
夜雨聆风