Hermes Agent 跨会话记忆怎么用?一文讲透持久化记忆的运转原理与整理技巧

发布时间:2026/8/28 15:12:02
Hermes Agent 跨会话记忆怎么用?一文讲透持久化记忆的运转原理与整理技巧 Hermes Agent 跨会话记忆怎么用一文讲透持久化记忆的运转原理与整理技巧【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent用过 AI 助手的人多半有这个体验每次新开对话都得重新交代一遍我是谁、偏好什么、在做什么项目。Hermes Agent 的持久化记忆系统就是为了解决这件事——它把跨会话记忆写成磁盘上的两个纯文本文件MEMORY.md 和 USER.md下次启动自动加载让助手越用越懂你。本文带你从原理到日常操作完整看懂这套机制。为什么每次都要重新自我介绍先说结论没有持久化记忆的 AI每次会话都从出生开始。想象一个新同事上班一天、下班失忆第二天你讲过的约定他一无所知。这就是大多数聊天助手的默认状态上下文跟着会话走会话一关信息清零。Hermes Agent 的做法是把值得记的事落到文件里。它的工作目录是~/.hermes/memories/里面只有两个文件分工一目了然文件记什么类比MEMORY.md代理自己的笔记环境事实、项目约定、工具特性便签本写给自己看USER.md对你的了解偏好、沟通风格、工作流习惯通讯录备注写给认识你看这种双文件设计的好处是各管一摊关于世界的知识不会淹没关于你的画像注入系统提示时也能分开控制篇幅。三步看懂它是怎么运转的核心是一个叫MemoryStore的类入口在 agent/agent_init.py 中初始化它维护两份版本快照版会话开始时从磁盘读一次冻结后注入系统提示整个会话期间不再变——这样前缀缓存保持稳定响应速度和成本都不受影响。实时版会话中每次通过记忆工具增删改立即写盘工具返回的永远是最新内容。也就是说你中途让助手记住新偏好它马上生效只是下次会话的系统提示才会带上这条新记忆——本会话的提示词不受影响这是刻意的设计。写入为什么用原子方式一句话普通写文件写到一半断电文件就坏了记忆文件坏一次积累的印象就丢一批。所以MemoryStore落盘时走临时文件 重命名路线先把新内容完整写进同目录下的.tmp临时文件并强制刷盘fsync确认无损后才用os.replace一步覆盖原文件。同一文件系统内的重命名是原子操作——要么完整生效要么维持原样不存在半截文件。失败了还会顺手清理临时文件不留垃圾。条目之间怎么分每条记忆用段落符号§分隔支持多行条目。解析器MemoryStore._read_file/_write_file和这个定界符是严格配套的你手工编辑文件时照着同样格式写即可别用别的方式分行。日常怎么用对你来说日常操作只有一件事把值得它记住的事说出口。偏好类 → 存进USER.md回复我请简短点我在东八区按北京时间安排提醒环境类 → 存进MEMORY.md这台机器的 shell 是 bash本项目测试用 pytest纠正类你改口的那句本身就是最好的记忆素材比如以后别问我直接选 A助手会自行判断归到哪本本子里。你也可以直接打开~/.hermes/memories/查看、手改甚至删掉某条——它们是纯文本没有任何加密黑箱这是这套系统最大的可解释性优势。相关实现可以看 agent/memory_manager.py 和 agent/memory_provider.py。记忆快满了怎么整理两个文件各有字符上限注意是字符数不是 token跨模型表现一致MEMORY.md默认 2200 字符USER.md默认 1375 字符上限偏小是故意的这两份内容会原样进系统提示越长越贵、越容易稀释重点。系统在接近上限时会提示你整理建议这样处理合并同类项三条关于编码风格的备注压成一条删过时信息项目换语言了旧约定直接清掉提炼而非搬运别存原始日志和粘贴的大段内容只留结论经验值使用率超过八成就该动刀别等写满。避坑记忆会被投毒吗会有人或恶意网页试图诱导助手把恶意指令写进记忆——记忆内容每次都会注入系统提示一旦被污染等于给代理植入了后门。Hermes Agent 在写入前做内容扫描不可见字符检测零宽空格之类用来藏字符的手段会被直接拦下威胁模式匹配提示注入、角色劫持、外发数据这类典型 payload 特征命中即拒绝写入被拒的写入会返回明确原因而不是静默失败对你而言的避坑只有一条看到助手提示某条记忆被安全扫描拦截别强行换种写法绕过去说明这条内容本身就值得怀疑。用起来之后你得到什么把上面这些串起来跨会话记忆让偏好不再每次重说双文件设计让关于你和关于世界互不打架快照 实时双版本让提示词既稳定又即时原子写入保证积累的印象不会因一次异常丢失写入扫描挡住最恶劣的那类污染。对新手开发者这套实现全部是纯文本加标准库文件操作没有神秘依赖——agent/ 目录下的源码值得通读一遍它也是学习如何给 LLM 做持久化的一个干净范本。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考