Hermes Agent 三期:记忆系统深度拆解,为什么它能真的"记住你"
摘要: 大模型最大的短板不是智商,是记忆力——会话一结束就忘光。Hermes Agent 用一套"分层记忆 + 文件持久化 + 自进化闭环"的设计,让 AI 真正跨会话记住你的偏好、项目上下文和工作流习惯。本文拆解它的四层记忆架构,以及为什么这套设计比向量数据库更靠谱。
一、AI 为什么总是"健忘"?
你肯定遇到过这种情况:
- 跟 ChatGPT 聊了半天需求,新会话一开始它又变回"陌生人"
- 跟 Claude 解释过你的代码风格,下次对话它照样给你写出不符合习惯的代码
- 跟智能体说过"我喜欢简洁的列表呈现",结果下一次还是给你一坨长文
根本原因:传统大模型是无状态的。每次会话都是全新开始,历史对话要么截断,要么压缩成模糊的 summary,细节全丢。
Hermes Agent 的核心差异化:它设计了一套持久化记忆系统,让 AI 跨会话真正"记住你"。
二、Hermes 的四层记忆架构
Hermes Agent 的记忆系统不是简单的"把对话存数据库",而是借鉴了 CPU 缓存的分层设计思想,把记忆分成四个层级:
🔥 Layer 1:核心记忆(热记忆)
存储位置:MEMORY.md(约 2200 字符)+ USER.md(约 1375 字符)
作用:这是 Agent 的"工作记忆",在每次会话启动时直接注入系统提示词,确保关键上下文不丢失。
MEMORY.md 存的是什么?
- 环境事实("本项目使用 React 18 + TypeScript,测试框架是 Vitest")
- 项目约定("API 接口统一用 RESTful,错误码格式见 docs/error-codes.md")
- 工具特性("Seedream 4.5 生成文字会乱码,所有生图 prompt 必须加 NO text")
- 学习到的经验教训("PowerShell 中文会乱码,写 .py 文件到磁盘再用 python.exe 执行")
USER.md 存的是什么? - 用户基本信息(姓名、角色、时区) - 沟通偏好("喜欢简洁列表,不喜欢大段文字") - 技术栈倾向("后端用 Go,前端用 React,部署用 Docker")
关键设计:冻结快照模式
会话进行中,MEMORY.md 和 USER.md 的内容是冻结的——不会因为会话中的临时更新而改变当前会话的系统提示词。
这样做有两个好处: 1. 稳定性:当前会话的上下文不会突然改变,避免模型混淆 2. 缓存友好:Anthropic 的 Prompt Caching 机制依赖系统提示词不变,冻结快照能最大化利用缓存,降低成本
🟡 Layer 2:技能记忆(温记忆)
存储位置:~/.hermes/skills/ 目录下的 Markdown 文件
作用:记录"你擅长做什么"——当 Hermes 解决一个难题后,它会自动生成技能文档,把解决方案沉淀成可复用的 Skill。
举个例子:
你让 Hermes 帮你调试一个 Python 的内存泄漏问题,它用 tracemalloc 找到问题并修复了。
会话结束后,Hermes 会自动写一个 Skill 文件:
# Python 内存泄漏调试
## 工具
- tracemalloc(标准库)
- objgraph(可视化对象引用)
## 步骤
1. 启动 tracemalloc
2. 拍摄快照 before / after
3. 对比差异,找出增长最多的对象类型
...
下次你再说"我的 Python 程序内存爆了",Hermes 会自动加载这个 Skill,直接用之前沉淀的方法解决,而不用重新摸索。
这就是"自进化":Hermes 不是靠模型本身变强,而是靠积累技能库,越用越强。
🔵 Layer 3:会话记忆(长期历史)
存储位置:SQLite 数据库(FTS5 全文索引)
作用:存储所有历史会话的完整记录,支持毫秒级全文检索。
为什么用 SQLite + FTS5,而不是向量数据库?
| 方案 | 优势 | 劣势 |
|---|---|---|
| 向量数据库(Pinecone/Weaviate) | 语义相似度检索 | 成本高,部署复杂,黑盒(不知道检索到什么) |
| SQLite + FTS5 | 零成本,精确匹配,可调试 | 只能关键词检索,不支持语义相似度 |
Hermes 的选择:优先保证成本和可调试性,语义检索靠模型自己搞定(把相关历史会话加载到上下文里,让模型自己理解)。
检索流程: 1. 用户发消息:"帮我优化这段代码的性能" 2. Hermes 用 FTS5 搜索历史会话,找到之前关于"性能优化"的讨论 3. 把相关历史会话加载到上下文 4. 模型基于历史 + 当前问题,给出更精准的回答
🟣 Layer 4:外部记忆插件(可扩展)
存储位置:可插拔的外部记忆 Provider(Honcho / Mem0 / Hindsight / Supermemory 等)
作用:如果你对某个外部记忆系统有偏好,可以通过插件方式接入,Hermes 的记忆系统会自动调用它。
设计哲学:不对记忆方案做硬绑定,你可以根据自己的需求选择最合适的存储后端。
三、为什么这套设计比向量数据库更靠谱?
1. 可调试性
向量数据库的检索结果是黑盒——你不知道它为什么检索到某条记忆,也无法手动修正。
Hermes 的 MEMORY.md + USER.md 是纯文本文件,你可以直接打开看,甚至可以手动编辑。
实际场景:Hermes 记住了你的一个错误偏好(比如"用户喜欢用 TensorFlow"),你直接编辑 USER.md,把这条改掉就行。
2. 成本可控
向量数据库是按存储量 + 查询次数收费的,用久了成本会越来越高。
Hermes 的记忆系统基于本地文件系统 + SQLite,零运营成本。
3. 缓存友好
Anthropic 的 Prompt Caching 机制要求系统提示词不变才能命中缓存。
Hermes 的"冻结快照模式"完美契合这个需求——MEMORY.md 和 USER.md 在会话中不变,系统提示词稳定,缓存命中率高,API 调用成本低。
四、自进化闭环:记忆 → 技能 → 训练数据
Hermes Agent 的记忆系统不是孤立的,它跟技能系统、训练数据系统形成了一个闭环:
执行任务
↓
反思:这次任务学到了什么?
↓
沉淀:把经验写入 MEMORY.md(记忆)或生成 Skill(技能)
↓
复用:下次类似任务,自动加载记忆和技能
↓
优化:用历史任务数据做强化学习微调(未来规划)
这就是 Hermes 跟传统 Chatbot 的根本区别:
- 传统 Chatbot:无状态,每次会话从零开始
- Hermes Agent:有状态 + 自进化,越用越懂你,越用越强
五、跟 OpenClaw 的对比
| 维度 | OpenClaw | Hermes Agent |
|---|---|---|
| 记忆系统 | 依赖 LCM(Lossless Context Management)压缩历史会话 | 四层记忆架构(文件 + SQLite + 外部插件) |
| 跨会话记忆 | 有限(压缩后的 summary) | 完整(MEMORY.md + USER.md 持久化) |
| 技能沉淀 | 不支持 | 支持(自动生成 Skill) |
| 自进化 | 不支持 | 支持(执行→反思→沉淀→复用→优化) |
| 部署 | 依赖 OpenClaw 平台 | 可自托管(VPS / GPU 服务器 / Serverless) |
结论:OpenClaw 更适合"平台化使用"(预装到铠盒设备里,开箱即用),Hermes Agent 更适合"深度定制"(自己托管,自己调教记忆和技能)。
六、如何在铠盒设备上用好 Hermes Agent?
铠盒(Nizwo)的 Hermes 专区已经预装了 Hermes Agent,你只需要:
- 微信扫码绑定(跟 OpenClaw 一样的流程)
- 跟 Hermes 聊几次天,让它记住你的偏好和工作流
- 观察它越来越懂你:
- 第一次:你需要解释项目背景
- 第五次:它已经记住你的代码风格和部署习惯
- 第十次:它主动建议"这个项目用策略模式会更优雅"
核心优势:7×24 小时运行,记忆持续积累,不会因为关机或重启而丢失。
七、总结:为什么 Hermes 能真的"记住你"?
- 分层记忆架构:热记忆(MEMORY.md / USER.md)+ 温记忆(Skills)+ 长期历史(SQLite)+ 外部插件
- 冻结快照模式:会话中记忆不变,稳定且缓存友好
- 自进化闭环:执行→反思→沉淀→复用→优化,越用越强
- 可调试 + 零成本:纯文本文件 + 本地数据库,不依赖黑盒服务
跟大模型说"记住这个"不同,Hermes 是真的记住了——而且它记住的方式,你可以看、可以改、可以调试。
铠盒智能体计算机 × Hermes Agent
Hermes Agent 专区已上线铠盒官网,预装在 Hermes 高配款(D1 / E1 / F1 / G1)中。
7×24 小时运行,记忆持续积累,让你的 AI 真正越用越聪明。

关于铠盒:铠盒(Nizwo)是智能体计算机(Agent Computer)品牌,预装 OpenClaw(龙虾)和 Hermes Agent 双系统,7×24 小时稳定运行,让 AI 智能体真正为你干活。
关于 Hermes Agent:由 Nous Research 开发的开源 AI 智能体框架,核心特性是持久化记忆系统 + 自进化技能沉淀,让 AI 真正跨会话记住你。