第4篇:持久记忆——AI 的长期记忆
Hermes 功能详解第4篇:持久记忆。AI 跨对话记住你的偏好、环境与习惯,越用越懂你。
这篇讲的是:Hermes Agent 如何像人一样记住你的偏好和项目细节,即使你隔几天再回来,它也不会“失忆”。
记忆是什么?——两张“小抄”
想象一下,Hermes Agent 随身带着两张便签纸:
| 便签纸 | 记什么? | 能写多少字? |
|---|---|---|
| MEMORY.md | 环境事实、项目约定、学到的经验 | 约 2200 字(够写 8-15 条) |
| USER.md | 你的喜好、沟通风格、期望 | 约 1375 字(够写 5-10 条) |
这两张便签存放在电脑的 ~/.hermes/memories/ 文件夹里。每次对话开始时,Hermes 会先把便签内容“拍照”下来,放进自己的脑子里——这就是它“记得你”的秘密。
⚠️ 重要提醒:别让两个 Hermes 同时用同一个工作目录,否则它们的记忆会互相“污染”,最后连它自己都分不清哪些是你写的。
第1步:看看记忆长什么样
每次新对话开始时,Hermes 的“脑子”里会显示这样的记忆块:
══════════════════════════════════════════════
MEMORY (你的个人笔记) [67% — 1,474/2,200 字符]
══════════════════════════════════════════════
用户的项目是 ~/code/myapi,一个用 Axum + SQLx 的 Rust 网络服务
§
这台机器装的是 Ubuntu 22.04,有 Docker 和 Podman
§
用户喜欢简洁的回答,讨厌啰嗦的解释
每条记忆用 § 符号隔开,顶部还有使用百分比,让 Hermes 知道还剩多少空间。
第2步:Hermes 怎么记东西?
它有一个 memory 工具,支持三个动作:
- add — 添加新记忆
- replace — 替换旧记忆(用关键词匹配)
- remove — 删除没用的记忆
不需要“读”记忆——因为记忆已经自动注入到对话里了,它随时都能看到。
替换示例(不需要写全整条,只要给个独特关键词):
# 假设记忆里有 "User prefers dark mode in all editors"
memory(action="replace", target="memory",
old_text="dark mode", # 只要这段能唯一匹配
content="用户喜欢 VS Code 浅色模式,终端用深色模式")
第3步:该记什么?不该记什么?
✅ 该记的(Hermes 会自动记,不用你提醒):
- 你的偏好:“我更喜欢 TypeScript 而不是 JavaScript” → 记到
user - 环境事实:“这台服务器跑的是 Debian 12 + PostgreSQL 16” → 记到
memory - 纠正:“别用 sudo 跑 Docker,用户已在 docker 组里” → 记到
memory - 项目约定:“项目用 Tab 缩进,120 字符行宽” → 记到
memory - 完成的工作:“2026-01-15 把数据库从 MySQL 迁到了 PostgreSQL” → 记到
memory
❌ 不该记的:
- 太模糊的话(“用户问过 Python”)
- 上网一搜就知道的事(“Python 3.12 支持 f-string 嵌套”)
- 大段代码、日志、数据表
- 一次性会话的临时信息
第4步:记忆满了怎么办?
记忆不会自动压缩。 如果写入会超出字数限制,工具会直接报错,并列出当前所有记忆,让 Hermes 自己“腾地方”:
- 看错误信息里的
current_entries(当前条目) - 找出可以合并或删除的条目
- 用
replace把几条相关的合并成一条更短的 - 再重新
add新条目
最佳实践:当记忆使用超过 80% 时(顶部有显示),先整理再添加。比如把三条“项目用 X”合并成一条完整的项目描述。
第5步:好记忆 vs 坏记忆
✅ 好的记忆——信息密集:
用户用 macOS 14 Sonoma,装 Homebrew、Docker Desktop 和 Podman。
Shell 是 zsh + oh-my-zsh,编辑器是 VS Code 带 Vim 键位。
❌ 坏的记忆——太啰嗦:
2026年1月5日,用户让我看他的项目,项目在 ~/code/api,
我发现它用的是 Go 1.22 版本,然后...
小总结
持久记忆就是 Hermes 的“小抄本”——自动记录、自动整理、满了自动腾地方。你不需要手动管理,只要正常对话,它就会把重要的东西记下来。另外,它还能用 session_search 工具搜索过去的完整对话记录,所以就算记忆里没写,它也能“翻旧账”找到。
下篇预告:第5篇——外部记忆提供者:当内置记忆不够用时,聊聊怎么给 Hermes 接上“外挂大脑”。
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › getting-started/updating