乐于分享
好东西不私藏

AI长期记忆设计:从OpenClaw、Hermes到宠爱信号的深度解析

AI长期记忆设计:从OpenClaw、Hermes到宠爱信号的深度解析

本文是对OpenClaw、Hermes的学习,结合自己的AI实战项目宠爱信号,对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:冲突解决

如果新的记忆和已有核心记忆矛盾怎么办?

比如核心记忆写着”豆豆对鸡肉过敏”,但用户新说”豆豆最近吃鸡肉没问题”。

宠爱信号的处理策略是**”保守优先,自动闭环”**:

  1. 不自动覆盖旧事实——医疗信息宁可信旧,不能信新

  2. 进入观察池——新记忆标记为candidate,系统继续收集证据

  3. 多源验证——如果不同时间、不同场景下多次出现新说法,再考虑升级

  4. 用户确认——高风险变更会推送给用户确认

宠爱信号


六、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还能帮铲屎官创建日程、查询日程……

还有更多好玩的……

如果你也养宠物,欢迎体验,给我们提建议。

宠爱信号