
Hermes Agent 的记忆应该怎么用?Memory、Skills 和 session_search 分工
我现在用 Hermes Agent 比较多,一个很明显的感受是:它不是单纯聊天工具,更像一个总控台。
它可以接 QQ、Telegram,可以执行命令,可以读写文件,可以调浏览器,可以跑定时任务,也可以分派子 Agent。
但这些能力要真正顺手,离不开记忆。
Hermes 里常见的几个记忆相关能力,大概可以分成三类:
memory:记事实和偏好
skills:记流程和方法
session_search:查历史会话
这三类东西如果混着用,很容易乱。分清楚以后,Agent 才会越用越稳。
一、memory 适合保存稳定事实
memory 不是笔记本,也不是任务清单。
它最适合保存长期有效、以后经常会用到的信息。
比如:
用户偏好中文界面
用户喜欢 LuCI 插件胜过独立脚本
用户发布文章时优先考虑 AdSense 和真实体验
某台 OpenWrt 路由器 IP 是 192.168.8.8
WordPress 站点使用 Podman 容器部署
这些信息很短,但以后经常影响决策。
比如我让 Agent 做 OpenWrt 插件,它如果记得我偏好 IPK,就不会每次先给我一堆零散脚本。让我写文章,它如果记得 AdSense 优先,就会自然避开夸张营销语和 AI 味模板。
这就是 memory 的价值。
二、skills 适合保存流程
如果一件事不是简单事实,而是一套步骤,就不应该塞进 memory。
比如:
- WordPress 如何用 wp-cli 发布文章
- OpenWrt LuCI 插件如何打包成 IPK
- 跨主机传文件如何做 MD5 校验
- ARM64 设备如何装 VNC
- 本地模型如何下载 GGUF 并运行
这些都不是一句话能说清楚的长期偏好,而是一套 SOP。
这时候应该沉淀成 skill。
skill 的好处是可以写得更完整,包括:
- 触发条件
- 标准步骤
- 常见坑
- 验证方式
- 失败后的补救方案
这样下次遇到同类任务,Agent 不用临时发挥,而是按已经验证过的方法执行。
三、session_search 适合找历史细节
有些东西不适合长期写进 memory,也没必要做成 skill,但以后可能会查。
比如某一次调试的完整过程、某篇文章发布记录、某个错误当时怎么出现的。
这类信息适合留在历史会话里,通过 session_search 找。
它的定位更像“历史档案检索”。
你不需要每天把所有档案都背在脑子里,但需要时能翻出来。
四、三者配合才像真正的 Agent 记忆
一个简单例子。
假设我要让 Hermes 继续做 OpenWrt 插件。
它可能会这样使用记忆:
memory:知道我喜欢 IPK、LuCI、中文备注
skills:加载 OpenWrt LuCI 插件开发流程
session_search:查之前某个设备踩过的 BusyBox 命令坑
这样 Agent 才不是乱猜。
它知道我的偏好,也知道标准流程,还能查历史证据。
如果再接入更高级的长期记忆系统,比如 TencentDB Agent Memory 的 L0-L3 分层结构,就可以在这些基础上再增加“场景理解”和“用户画像”。
五、什么不应该放进 memory?
这里也有一个很重要的点:不要什么都记。
比如:
- 临时任务进度
- 一次性命令输出
- 已经完成的短期 TODO
- 某次失败尝试的整段日志
- 大段文章草稿
这些不应该直接塞进长期 memory。
否则 memory 会越来越脏。
好的记忆系统,不只是会记,还要会筛选。
六、我的使用原则
我现在更倾向于这样分工:
一句话稳定偏好 → memory
可复用操作流程 → skill
历史过程和证据 → session_search
复杂场景理解 → 分层长期记忆
这套分工对长期使用很重要。
因为 Agent 不是一天用一次,而是会越来越多地参与真实工作。记忆越清晰,后面越省心。
总结
Hermes Agent 的记忆能力,不应该只理解成“保存几条偏好”。
更好的用法是把 memory、skills、session_search 分开:
- memory 记稳定事实
- skills 记可复用流程
- session_search 查历史证据
- 更高级的分层记忆负责场景和画像
这样 Agent 才能从临时聊天助手,慢慢变成真正懂你工作方式的长期助手。
本文属于 AI Agent 入门与进化系列,更多实战内容可继续关注 AI Agent 实战教程。