Lazy loaded image
🏇Hermes Agent 教学 05 | 记忆系统:agent 怎么「记住」你
字数 1395阅读时长 4 分钟
2026-4-18
本文是 Hermes Agent 教学系列 第 05 篇。这一篇拆开「会成长」背后的第一个机制:记忆。

为什么记忆是关键

你能说出 Claude、ChatGPT 跟 Hermes 最本质的区别吗?
不是模型能力,不是工具数量,是跨会话状态Claude.ai 里每开一个新对话,模型对你一无所知(即使有 memory 功能,也只是几句话的摘要)。Hermes 的设计是反过来的:默认在累积记忆,需要才遗忘

记忆的物理形态

记忆全部存在本地一个 SQLite 文件里:
可以用 sqlite3 打开看:
主要几张表:
  • conversations —— 原始对话历史
  • summaries —— LLM 生成的会话摘要
  • facts —— 提取出的用户状态/偏好
  • fts —— 基于 SQLite FTS5 的全文索引
重点是记忆全部在你本机,不传云端,也不会被任何人远程读取(除非你手动同步)。

三层记忆结构

Hermes 的记忆不是一平二的,是三层:

第一层:完整对话历史

所有你跟 Hermes 说过的话、它调过的工具、调用的返回值,原样存。体积最大,但是证据。

第二层:会话摘要

每个会话结束后,Hermes 调用 LLM 生成一段摘要:本次聊了什么、干了什么、有什么结论。这是后期检索的主力。

第三层:结构化事实

从多个会话里提炼出持久事实:「用户使用 WSL2 + Ubuntu」「偏好中文回复」「项目代码在 ~/vvemperor」。这些是「用户模型」的原材料。

记忆是怎么被「想起」的

你可能以为每次 Hermes 都会把全部记忆塞进上下文——不是,那样 token 成本会爆炸。
实际机制:
FTS5 是 SQLite 内置的全文检索引擎,检索速度在千条量级的记忆上是毫秒级的,成本几乎为零。
这意味着:
  • 记忆库越大越准(词频、共现信息越富),跟人类同事干得越久越了解你是一个原理
  • 不会因为记忆多而变慢——只检索相关的
  • 是检索不是生成——Hermes 不会「编造」你跟它说过的话,检索不到就是检索不到

手动管理记忆

多数时候让 Hermes 自动管就行。但某些场景你会想介入:

查看记忆

手动增加

有时你想让某个信息务必记住,不依赖 LLM 提取:
Hermes 会调 memory.add 工具写入 facts 表。

删除记忆

说错了?不想让它记住?

导出 / 迁移

推荐定期备份。记忆丢了不能复原。

上下文 nudges

Hermes 还有个隐藏机制叫 记忆推送(memory nudges)。它不是你每次问什么才检索,而是在适当的时机主动「提醒」自己去查:
  • 你提到某个项目名称,它会检索上次跟这个项目相关的对话
  • 你问一个之前问过的问题,它会召回上次的回复避免重复劳动
  • 你讨论一个都跳性话题,它会看看之前是不是存了相关偏好
这个机制不需要你调什么,但知道它在跑有助于理解为什么 Hermes “似乎记得”你以前提过的东西。

Honcho:用户模型是怎么建的

Hermes 用了一个叫 Honcho 的开源项目做用户模型。能力总结:
  • 从多轮对话中归纳你的问题风格、决策习惯、专业领域
  • 生成一个隐式的「你是谁」描述,这个描述随说话增多不断修正
  • 下次你问问题,Hermes 会参考这个描述调整回答风格和深度
具体表现在:同样一个「解释 docker」的请求,面对重点问过 Linux 领域的你跟面对一个从未接触过服务器的人,回答会完全不一样。

隐私与边界

记忆太多也是个问题。几个建议:
  1. 别在 Hermes 里输真密码。它是个 agent 不是密码管理器。需要调用服务用环境变量或专门的凭证库
  1. 敏感对话可以不走记忆。启动时加 hermes --no-memory
  1. 定期检查 facts 表/memory list --type facts 看看 Hermes 记住了哪些关于你的东西,有问题的 forget 掉
  1. 多用户场景要隔离。公司 Slack bot 跟你个人 Telegram 走同一个 Hermes,事实会混在一起

下一篇

记忆是「记事」(发生过什么),Skills 是「记法」(怎么做事)。下一篇我们进入 Hermes 最独特的部分——agent 如何从成功经验中自动提炼出可复用的 skill。

本系列文章持续更新,下篇见。
上一篇
Hermes Agent 教学 06 | Skills 系统:让 agent 自我成长
下一篇
Hermes Agent 教学 04 | 接入消息平台:Telegram / Discord / Slack 与更多