
Hermes Agent 的长期记忆是什么?
Hermes Agent 的长期记忆是什么?
你大概用过这样的 AI:你告诉它你的项目背景,它记住了,这次对话很顺;关掉对话,下次再开,它忘了,你得重新讲一遍。
Hermes 把"记忆"这件事拆成三层来解决,每一层负责不同的事,合在一起才是它说的"长期记忆"。
第一层:对话内的上下文
这层最普通,所有 AI 都有。你在这次对话里说过的话,它都记得,直到这个对话窗口关掉。
这层记忆的天花板是模型的上下文窗口长度,对话太长了,早期的内容会被挤掉。Hermes 有一个自动压缩机制,会把老的内容摘要压缩,腾出空间给新内容,但这层记忆本身是不跨会话的。
第二层:关于你的持久理解
这层是 Hermes 比较特别的地方。
每次对话结束后,Hermes 会判断这次交流里有没有值得长期记住的东西,比如你提到的项目背景、你表达过的偏好、你明确说过的规则。这些内容会被写入本地的持久存储,下次对话开始时自动带进来。
不只是你主动说的那些。Hermes 内置了一个叫 Honcho 的系统,专门做用户建模。它会从你的行为里推断:你总是把它生成的详细解释改短,它推断你偏好简洁;你某类建议从来不采纳,它记录下来,下次生成时会调整方向。这些推断不需要你明说,它自己在观察。
这套用户画像存在本地,随着你们配合的时间越长,越来越准。你可以直接打开文件查看,也可以手动改掉不对的部分。
第三层:历史对话的检索
前两层解决的是"主动记住",第三层解决的是"能找回来"。
所有跨会话的对话历史,Hermes 会存进一个本地数据库,支持全文检索。你说"上周我让你帮我分析那个接口的性能问题,结论是什么",它能在历史记录里搜到,把那段内容带回当前对话。
这和你在聊天软件里翻记录不一样。它不只是把原文粘回来,而是把相关的历史上下文拉进来,让当前的对话能接着当时的思路继续。
这三层加在一起是什么效果?
举一个具体的情境。
你在用 Hermes 辅助做代码审查。第一周你告诉它你们团队的规范:异常处理必须用统一的格式,日志里不能出现用户敏感字段,测试覆盖率要求 80% 以上。这些被写进第二层记忆。
第二周,你让它审查一个新的 PR。它不需要你重新解释规范,直接按上周记下来的标准来审查。
第三周,有个问题让你想起三周前讨论过的一个边界情况。你说"之前我们讨论过某接口在超时时的处理方式,当时的结论是什么",它在第三层的历史记录里搜到了,把当时的分析摘要带回来。
用了三个月之后,它对你们团队的规范、你个人的审查风格、常见的问题模式,都有了积累。这时候它给出的审查意见,和你第一次用时已经是两回事了。
数据存在哪里?
全部在本地,~/.hermes/ 目录下。
对话历史是 SQLite 数据库,技能文件是 Markdown,用户画像也是可以直接打开的文本文件。没有同步到任何服务器,不经过 Hermes 官方或任何第三方。
你随时可以打开这些文件查看,发现记错了什么就直接改,或者整个删掉重新来过。
它和 ChatGPT 的"记忆功能"有什么不同?
ChatGPT 也有记忆,会在不同对话之间保留一些信息。主要区别在两点。
一是检索方式。ChatGPT 的记忆是一条条静态的摘要,你问它上周说了什么,它不一定能准确找到。Hermes 的历史记录支持全文检索,可以按关键词找到具体的对话片段。
二是用户建模的主动程度。ChatGPT 的记忆基本靠你主动告诉它,或者它在对话里猜测哪些重要。Hermes 的 Honcho 系统会主动从你的行为里推断偏好,这些你没说出口的内容也会被记录下来。
评论 (0)
还没有评论,来发第一条吧