ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Hermes Agent 持久化记忆系统一文读懂:AI 如何记住你的偏好

Hermes Agent 持久化记忆系统一文读懂:AI 如何记住你的偏好 Hermes Agent 持久化记忆系统一文读懂AI 如何记住你的偏好【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agentHermes Agent 持久化记忆系统让助手跨会话记住你的偏好与习惯。本文讲清这套记忆系统背后的文件机制、上手方式和常见坑读完就能用起来不用反复向 AI 交代自己。为什么需要它回想一下你上次和 AI 对话的场景。上一轮你刚说清楚回复用中文、代码里别加注释表情新开一轮它又忘了你得重新解释自己的习惯、项目环境和约定。每次新会话都像失忆现场重复交代费时费力。真正烦人的不是它答得慢而是它永远不因为你用得多就更懂你。Hermes Agent 持久化记忆系统的价值就在这里让助手越用越熟。它是怎么做到的听起来简单落到文件上是怎么做的Hermes Agent 把记忆拆成两个独立的文本文件MEMORY.md代理自己的笔记存环境事实、项目约定、工具特性和学到的知识USER.md代理对你的了解存偏好、沟通风格、期望和工作流习惯记忆文件放在哪两者都放在~/.hermes/memories目录下是纯文本随时可以打开查看或手动修正。背后的核心是一个MemoryStore类它同时维护两份状态。一份是系统提示快照会话启动时调用load_from_disk()冻结一次注入系统提示后整场会话不再变化从而保证前缀缓存稳定另一份是实时状态通过工具调用修改并即时落盘工具响应里永远是最新内容。打个比方这就像代理办公桌里放着两张便签卡——开会前把卡片拍照贴进系统提示会议中途想更新直接改手上的卡片并存盘下次开会再拍新照片。文件内部条目之间用特殊符号§段落符号分隔也支持多行条目。系统按字符而不是 token设上限保证在不同模型间行为一致MEMORY.md 上限 2200 字符USER.md 上限 1375 字符。写入还有一个细节。为了防止写到一半文件损坏所有落盘都走原子操作# _write_file临时文件 重命名保证记忆文件不会写坏 staticmethod def _write_file(path, entries): content §.join(entries) if entries else fd, tmp_path tempfile.mkstemp( dirstr(path.parent), suffix.tmp, prefix.mem_ ) try: with os.fdopen(fd, w, encodingutf-8) as f: f.write(content) f.flush() os.fsync(f.fileno()) os.replace(tmp_path, str(path)) # 同文件系统内原子重命名 except BaseException: os.unlink(tmp_path) raise先在同目录写一个临时文件再重命名为正式文件名。同一文件系统内的重命名是原子操作中途崩溃要么还是旧文件要么是完整的新文件不会留下半截。初始化时的读取与限额配置可以对照 agent/agent_init.py记忆的整体调度逻辑在 agent/memory_manager.py。上手怎么用它不需要额外部署。代理启动时会自动从磁盘加载记忆并注入系统提示你要做的只有四步主动告诉它要记什么。偏好、习惯、姓名、时区、代码风格任何你希望它长期记得的内容说一遍即可。用记忆工具写入。更新记忆怎么更新三个动作就够了定位条目靠old_text子串匹配# 记忆工具三个动作add 添加 / replace 替换 / remove 删除 memory_tool(actionadd, targetuser, content回复用中文代码不加表情) memory_tool(actionreplace, targetmemory, old_text用 npm, content用 pnpm) memory_tool(actionremove, targetmemory, old_text旧项目路径)分好类别。和你本人相关的进user目标写进 USER.md环境和学到的知识进memory写进 MEMORY.md。留意使用率。系统会自动计算记忆容量占用接近上限时会主动提醒整理这时合并同类条目、删掉过时的即可。别踩这几个坑上限很小别往里塞长文。2200 和 1375 个字符很有限日志原文、长段粘贴都会很快挤爆。满了怎么清理原则是提炼结论、丢掉过程、能合并的合并。记忆会进系统提示别写可疑内容。系统会扫描全部记忆内容零宽空格等不可见字符、注入或外传类话术都会被直接拦截并报错。这是防御生效的表现不是 bug。别指望本轮立刻生效。系统提示用的是会话开始时冻结的快照本次更新要到下一次会话才会出现在提示里。这是为缓存稳定性做的有意设计不是延迟。把偏好、环境和踩过的坑交给记忆文件助手就不再是每次重新开局而是越用越顺手。想核对快照注入、原子写入和威胁模式扫描的完整实现直接翻 agent/ 源码目录日常用法说明见 README.md。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表