还在每次聊天都从零解释?Hermes Agent 持久化记忆完整指南

📅 发布时间:2026/8/28 11:41:44
还在每次聊天都从零解释?Hermes Agent 持久化记忆完整指南 还在每次聊天都从零解释Hermes Agent 持久化记忆完整指南【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent上周我让 Hermes Agent 记了三条项目约定提交前缀、我的时区、代码评审习惯。一周后我开了个全新会话让它写部署脚本它一条没问直接全按我上次说的来——这就是 Hermes Agent 持久化记忆系统最直观的样子偏好说一次跨会话一直有效再也不用重复交代。大多数 AI 助手是关窗即失忆昨天聊过的约定今天全忘。Hermes Agent 把记忆当成一等公民用纯文本文件落到磁盘上会话可以关、进程可以停记忆不丢。整个系统核心机制其实不多下面给你拆开讲。Hermes Agent 持久化记忆怎么工作双记忆文件与快照机制两个文件一本工作笔记一张通讯录Hermes Agent 的记忆存放在~/.hermes/memories目录下就两个纯文本文件MEMORY.md是它自己的工作笔记环境事实什么系统、装了哪些工具、项目约定、学到的工具特性。USER.md是它对你的通讯录你的偏好、沟通风格、工作流习惯。分开存放就像便利贴和通讯录分开贴——两类信息用途不同混在一起反而找不到。文件内部用段落符号§分隔条目一条可以跨多行。系统按字符数而不是 tokens设上限MEMORY.md 限 2200 字符USER.md 限 1375这样换任何模型行为都一致。两份状态白板照片加实时直播真正巧妙的是它并行维护两份状态系统提示快照会话开始时给记忆拍一张照片并冻结注入系统提示整个会话期间不变。照片稳定模型的前缀缓存就稳定响应不会越来越慢。实时状态会话中每写一条新记忆立刻持久化到磁盘工具返回的结果也始终是最新状态。模型看到的是稳定的照片磁盘上的文件永远是最新版两者不冲突。写入本身用的是先写临时文件再改名的原子操作temp file rename中途断电也不会留下半截坏文件。Hermes Agent 记忆实战一次偏好如何跨会话生效 走一遍完整的迷你场景。输入某天你随口说了一句我在 UTC8 时区注释帮我写简短点。处理Agent 不会让这句话只活在当前上下文里它会调用内置记忆工具的add动作把这句话写进 USER.md 的一个条目。工具会检查字符配额、做去重然后原子写入磁盘——全程自动你不需要敲任何命令。输出第二天你开了个全新会话让它排一个定时任务。它不会再追问你的时区——新会话开始时记忆快照已经注入系统提示你昨天写的条目早就是它的背景知识了。文件本体长这样用任何文本编辑器直接打开就能看到偏好简短注释单条不超过一句话 § 时区 UTC8所有定时任务默认此时区 § 项目 Python 3.12依赖管理用 uv机制到这就是全部两个文本文件一份冻结、一份实时。想改条目工具有replace和remove动作靠唯一子串定位条目原地修改不用你记条目编号。Hermes Agent 记忆使用时容易忽略的三个细节快照是冻结的新记忆下一个会话才生效。当前会话的系统提示在会话中途写入后不会变。所以你刚记完东西、发现模型回答好像没变别慌——下次开新会话一定生效。这是刻意设计不是 bug。记忆要精炼别当原始数据垃圾桶。2200 字符真不少吗真不多。别把整段报错日志、完整终端输出塞进去提炼成根因解法一句话即可。工具会在使用率接近 80% 时提醒你合并精简——记忆要越用越薄、越用越准而不是越攒越肥。记忆内容有注入防护闸门。记忆条目最终会进入系统提示所以 Hermes Agent 对每次写入都会做安全扫描提示注入话术、角色劫持模式、零宽不可见字符等都会被直接拦截。这一点在做集成时要记住——想借记忆写入往系统提示里塞攻击载荷是行不通的。如果你也是每次会话都要重新自我介绍的类型不妨把 Hermes Agent 用起来花两分钟告诉它你是谁——下次开会话时它已经记得你了。想直接上手可以拿到源码试试git clone https://gitcode.com/GitHub_Trending/he/hermes-agent【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考