时间:2026-06-28 22:07:57

Hermes Agent 长久记忆技术架构解密:AI 代理如何真正做到”越用越聪明”

分享到:

 

一、为什么记忆是 AI Agent 的核心

用过 AI 聊天的人都有这种感觉:每次打开一个新对话,AI 就像从来没认识过你一样,一切都要重新交代。你上周告诉过它的偏好、项目配置、踩过的坑——全都不记得了。

这正是传统 AI 助手的最大短板:没有记忆。而 Hermes Agent 之所以能被称为"越用越聪明的 AI 代理",最核心的原因就是它拥有一个完整的长久记忆技术架构。

MotoAgent 中使用的 Hermes Agent,是目前唯一内置了完整学习回路的 AI 代理。它的记忆系统不是简单的"存个聊天记录",而是一套精密的分层记忆架构。

二、两层核心记忆文件

Hermes Agent 的记忆系统由两个纯文本文件组成,存放在本地磁盘上:

文件 用途 容量限制 约合 Token
MEMORY.md 代理的个人笔记 2,200 字符 约 800 tokens
USER.md 用户画像配置 1,375 字符 约 500 tokens

MEMORY.md —— 代理的"笔记本"

这个文件存储的是代理在工作过程中积累的环境事实、项目约定、工具使用技巧等。比如:

  • 当前机器的操作系统和已安装的工具
  • 项目使用的技术栈和配置规范
  • 踩过的坑和解决方案
  • 用户反复纠正过的细节

USER.md —— 用户的"档案卡"

这个文件存储的是关于用户个人的信息,包括:

  • 名字、角色、时区
  • 沟通偏好(喜欢简洁还是详细)
  • 禁忌和雷区(哪些事不要做)
  • 工作习惯和技术水平

这两个文件加起来约 1,300 tokens,在每次对话开始时作为系统提示的一部分注入到上下文中。这意味着——每一句话,Hermes Agent 都带着对你的记忆在回复。访问 MotoAgent 可以亲身体验这一效果。

三、记忆加载机制:冻结快照模式

Hermes Agent 采用了一个巧妙的设计——"冻结快照"模式。具体来说:

  • 每次会话开始时,从磁盘读取 MEMORY.md 和 USER.md
  • 将内容格式化为一个固定的文本块,注入系统提示
  • 这个文本块在整个会话期间不会变化
  • 即使用户通过记忆工具修改了内容,也要等到下一次会话才会反映到提示中

这样做的好处是什么?答案是 性能。固定不变的提示内容可以让 LLM 复用前缀缓存,大幅降低每次请求的 Token 消耗和处理时间。也就是说,带着记忆回复,但几乎不增加额外成本。

四、记忆写入与自改进循环

很多人会问:记忆是自动存的还是手动写的?答案是——两者都有,但 Hermes Agent 会主动替你管理。

后台自改进回顾

每次对话结束后,Hermes Agent 都会在后台自动运行一次"自改进回顾"。这个回顾会:

1. 审视本次对话的内容

2. 判断有没有值得记住的新信息

3. 如果有,自动写入 MEMORY.md 或 USER.md

4. 评估是否需要创建新的技能或改进已有的技能

整个过程是静默运行的,你不需要做任何操作。默认情况下,界面上会显示一行"Memory updated"告诉你记忆已更新。

技能自主创建

除了保存事实性信息,Hermes Agent 还能从成功完成的任务中创建可复用的技能。技能存储在 ~/.hermes/skills/ 目录下,每个技能包含一份完整的 SKILL.md 说明书。

技能的完整生命周期包括:

1. 创建:复杂任务完成后自动生成

2. 使用:下次遇到类似任务时自动加载

3. 改进:在使用过程中自我修正和优化

4. 策展:30 天未使用标记为"陈旧",90 天未使用自动归档

5. 归档:归档到 .archive 目录,随时可恢复

这套机制让 Hermes Agent 的能力随着使用时间不断增长——做得越多、会的越多。

五、跨会话检索:FTS5 全文搜索

前面说的 MEMORY.md 和 USER.md 只能存 3,000 多字符,放不下所有历史信息。那更早之前的对话怎么查?

Hermes Agent 将所有历史会话存储在 SQLite 数据库中,并建立了 FTS5 全文搜索索引。当用户提到之前做过的事情时,Agent 可以通过 session_search 工具:

  • 搜索过去所有会话中的相关对话
  • 查看匹配会话的完整内容
  • 在会话内上下滚动浏览
对比维度 持久化记忆 会话搜索
容量 约 1,300 tokens 不限(所有历史会话)
速度 即时(在系统提示中) 约 20ms 搜索
成本 每次提示都占用 按需使用,无额外 LLM 调用
用途 关键事实时刻可用 查找特定历史对话

持久化记忆负责"时刻记得",会话搜索负责"随时翻查"——两者互补,构成了完整的记忆覆盖。

六、记忆管理:满了怎么办

2,200 字符的 MEMORY.md 听起来不大,但如果满了怎么办?

Hermes Agent 的设计哲学是:不是存得越多越好,而是存得越精越好。当记忆超过 80% 容量时,代理会自动做以下事情:

1. 读取当前所有记忆条目

2. 判断哪些已经过时或不再重要

3. 合并相似或重复的条目

4. 删除不再相关的旧信息

5. 腾出空间存入新的有价值信息

这个过程不是自动触发的,而是当工具返回"超出容量限制"的错误后,Agent 会主动执行合并操作。这种"人肉压缩"的设计确保了记忆空间永远留给最有价值的信息。

七、拓展:外部记忆提供者

除了内置的两层记忆系统,Hermes Agent 还支持 8 种外部记忆提供者,包括语义搜索、知识图谱等高级存储方案。这些外部提供者可以:

  • 提供向量化语义搜索(不只是关键词匹配)
  • 实现分层检索(先查摘要、再查细节)
  • 跨会话上下文注入

但即使不使用任何外部提供者,内置的两层记忆 + FTS5 搜索已经足够应对绝大多数日常使用场景。

八、总结

Hermes Agent 的记忆架构可以用一句话概括:精巧的设计胜过庞大的存储

两个小小的文本文件,加上一个 SQLite 全文搜索,再加上后台自改进循环——这套组合拳让 Hermes Agent 在不到 2,000 tokens 的固定开销下,实现了真正的"越用越聪明"。

与市面上其他 AI Agent 相比,Hermes Agent 最大的不同不是模型更强或工具更多,而是它拥有一个真正的学习回路——每一次对话都不是终点,而是下一次更好服务的起点。

MotoAgent 下载桌面端,创建一个配置了 Hermes Agent 后端的 Agent,用一段时间你就会发现——它真的在一天天变聪明。

作者:程默的博客  QQ:8292669
原文网址:http://blog.chacuo.net/1534.html
订阅保持关注:http://blog.chacuo.net/feed
本文版权归作者所有,欢迎转载,请务必添加原文链接。


 

留下评论

要发表评论,您必须先登录