Agent记忆架构设计剖析系列:原理、权衡与场景适配(hermes设计原理)

Hermes 是一款主打 "自我进化" 的 Agent 框架,其记忆系统的核心设计哲学是认知经济性------ 即 "只记住对未来行为有价值的信息",通过严格的记忆审查与精炼机制,将有限的计算资源集中于高价值记忆,实现了记忆质量与系统效率的平衡。

1. 架构设计原理

Hermes 的记忆系统遵循 "高价值优先、严格容量控制" 的原则,将记忆划分为五个层级 ------ 层级之间通过 "记忆审查" 机制完成信息流转,每一层都有明确的容量上限与价值评估标准,确保只有最有价值的信息会被保留。

1.1 记忆层级结构

Hermes 的记忆层级是 "价值优先级分层"------ 层级越靠前,价值优先级越高、容量上限越严格、访问速度越快,层级之间通过 "晋升" 机制完成信息流转:

|------|--------------|-----------------------|-------------|-----------|---------------------------------------------------------------------------------------------------------------------|
| 层级序号 | 记忆类型 | 存储介质 | 容量上限 | 加载时机 | 核心功能 |
| 1 | 冻结系统提示记忆 | MEMORY.md+USER.md | 合计约 3575 字符 | 每次会话启动时 | 存储最核心的记忆:MEMORY.md保存 Agent 的 "环境事实"(如项目技术栈、核心约束),USER.md保存用户的 "长期偏好"(如沟通风格、决策习惯)。这一层是 Agent 的 "认知基石",永远不会被压缩或覆盖 |
| 2 | 会话检索层 | SQLite FTS5 全文索引 | 无硬上限(自动压缩) | 会话过程中按需检索 | 存储所有历史会话的摘要 ------ 每轮对话结束后,系统会将对话内容压缩为 100-200 字的摘要,保留核心需求与结论,支持数周乃至数月前的上下文检索 |
| 3 | 用户画像层 | 结构化 JSON 文件 | 随用户交互动态更新 | 会话启动时 | 存储用户的动态偏好 ------ 比如用户最近提到的 "喜欢用表格展示数据""讨厌冗长的技术术语",这些信息会实时更新,用于优化 Agent 的输出风格 |
| 4 | 实体记忆网络 | 图数据库 | 无硬上限 | 语义检索时 | 存储实体之间的关联关系 ------ 比如 "用户 A 是项目 B 的负责人""项目 B 使用的技术栈是 React+Node.js",支持多跳语义检索,提升复杂问题的回答精准度 |
| 5 | 环境记忆层 | 本地文件系统 | 无硬上限 | 工具调用时 | 存储环境相关的信息 ------ 比如服务器的 IP 地址、数据库的连接参数、工具的使用文档,这些信息会在工具调用时自动加载,无需手动输入 |

需要特别说明的是,Hermes 的 "冻结系统提示记忆" 层有严格的容量控制:MEMORY.md上限约 2200 字符,USER.md上限约 1375 字符,合计约 3575 字符。这一限制的目的,是强制 Agent 将最核心的记忆精炼到极致,避免冗余信息占用宝贵的上下文窗口。

1.2 核心机制解析

Hermes 的记忆系统通过三大核心机制,实现了 "主动学习" 的设计目标 ------ 让 Agent 从 "被动记录" 升级为 "主动筛选高价值信息"。

(1)记忆审查与晋升:确保只有高价值信息进入核心记忆

这是 Hermes 记忆系统最核心的机制,也是其区别于其他框架的关键 ------ 它解决了传统记忆系统 "记忆冗余" 与 "价值衰减" 的问题。记忆审查的流程是:

  • 触发条件:当会话轮次达到 10 轮,或会话 Token 数量接近模型上下文窗口的 80% 时,系统会自动触发记忆审查。

  • 审查逻辑:系统会调用底层 LLM 对当前会话的所有信息进行评估,评估维度包括 "复用价值"(该信息是否会在未来会话中被用到)、"时效性"(该信息的有效期有多长)、"准确性"(该信息是否经过验证)。

  • 晋升规则 :通过审查的信息,会被写入MEMORY.mdUSER.md,成为核心记忆;未通过审查的信息,会被压缩为摘要,存入会话检索层;完全无价值的信息,会被直接删除。

  • 容量控制:当核心记忆的容量接近上限时,系统会自动对现有核心记忆进行 "二次审查"------ 将价值最低的条目移动到会话检索层,为新条目腾出空间。

这种设计的核心逻辑是:核心记忆的容量是有限的,必须留给最有价值的信息 ------ 比如用户反复强调的 "项目必须支持 IE11 浏览器",会被写入MEMORY.md,永久保留;而用户偶然提到的 "今天天气不错",会被直接删除。

(2)认知经济性原则:最小化上下文注入,最大化信息密度

Hermes 的上下文管理遵循 "认知经济性" 原则 ------ 即 "只将对当前任务有价值的记忆注入上下文,避免无意义的信息占用资源"。具体规则包括:

  • 核心记忆全量注入MEMORY.mdUSER.md的内容会在每次会话启动时全量注入上下文 ------ 因为这两层是 Agent 的 "认知基石",所有任务都需要基于这些信息执行。

  • 会话记忆按需检索:会话检索层的内容不会全量注入上下文,而是在 Agent 需要时通过 SQLite FTS5 全文检索获取 ------ 比如 Agent 需要回忆用户上周提到的 "支付模块需求",会先检索会话摘要,找到对应的条目后再注入上下文。

  • 动态记忆实时更新:用户画像层与环境记忆层的内容,会在每次会话中实时更新 ------ 比如用户在当前会话中提到 "喜欢用 Markdown 格式输出",系统会立即更新用户画像层的内容,并在后续会话中自动应用。

根据 Hermes 官方的测试数据,通过认知经济性原则,上下文的 Token 数量比全量注入降低了 60%,同时回答的准确率保持在 95% 以上。

(3)GEPA 自我进化引擎:让记忆系统自我优化

GEPA(Gradient-based Experience Policy Adaptation)是 Hermes 的自我进化引擎,它通过类反向传播的方式优化记忆系统的性能 ------ 让 Agent 从 "经验" 中学习,提升记忆的准确性与检索效率。具体流程是:

  • 行为记录:系统会记录每一次记忆检索的结果 ------ 比如 "检索到的信息是否被 Agent 采用""采用后回答的准确率如何""用户是否对回答满意"。

  • 效果评估:系统会对这些记录进行评估,计算每一条记忆的 "价值得分"------ 得分越高,说明该记忆的复用价值越高。

  • 策略优化:系统会根据价值得分,调整记忆的检索优先级与晋升规则 ------ 比如某类记忆的得分持续偏低,系统会降低其检索优先级;某类记忆的得分持续偏高,系统会提升其晋升权重。

  • 技能沉淀 :当某类记忆的得分达到一定阈值时,系统会自动将其提炼为 "技能文件"------ 比如 "如何处理用户的退款请求",技能文件会被存储在skills/目录下,后续会话可以直接调用,无需重新检索记忆。

这种设计的核心逻辑是:记忆系统不是静态的,而是可以通过自我学习持续优化的------ 使用时间越长,记忆系统的性能越好,Agent 的回答也会越精准。

2 设计哲学:效率与学习能力的平衡

Hermes 的记忆架构,本质是对 "认知资源稀缺性" 的深刻理解 ------ 它将有限的计算资源与上下文窗口,集中于最有价值的记忆内容,实现了效率与学习能力的平衡。

2.1 为什么设置严格的核心记忆容量上限?

这是 Hermes 最具争议的设计之一,但也是其最能体现 "认知经济性" 原则的决策。根据 Hermes 核心开发者的解读,这一限制的目的有三个:

  1. 对抗上下文膨胀:传统记忆系统的核心问题,是上下文窗口被大量冗余信息占用 ------ 比如将上百轮的对话历史全量注入上下文,导致模型无法聚焦核心需求。通过严格的容量限制,Hermes 强制 Agent 将最核心的记忆精炼到极致,避免冗余信息占用宝贵的上下文窗口。

  2. 提升检索命中率:核心记忆的容量越小,Agent 在检索时找到高价值信息的概率越高 ------ 比如 1000 字符的核心记忆,检索命中率可以达到 95%;而 10000 字符的核心记忆,检索命中率可能只有 60%。

  3. 强化记忆的持久性:只有被写入核心记忆的信息,才会被永久保留 ------ 这一限制,会让 Agent 更倾向于记录 "长期有价值的信息",而非 "临时的会话细节"。

2.2 为什么采用主动学习机制?

Hermes 的设计目标是 "持续在线的数字员工"------ 即 Agent 需要在长周期的交互中,持续学习用户的需求与偏好,优化自身的行为。被动记录的记忆系统,无法满足这一需求 ------ 因为它会记录所有信息,包括无价值的冗余信息,导致记忆系统的性能随时间下降。

主动学习机制的价值,在于让 Agent "学会选择记忆的内容"------ 它会自动过滤掉无价值的信息,保留高价值的信息;同时,它会将高价值的信息提炼为技能,让 Agent 的能力随时间提升。这种设计,让 Hermes 成为了 "越用越强" 的 Agent 框架 ------ 根据官方的测试数据,使用 Hermes 30 天后,Agent 的回答准确率会提升 30% 以上。

2.3 为什么采用 SQLite FTS5?

SQLite FTS5 是 Hermes 记忆系统的核心检索引擎 ------ 它是一种轻量级的全文检索引擎,无需额外的服务端,直接嵌入在 SQLite 数据库中。Hermes 选择 SQLite FTS5 的原因,主要有三个:

  1. 轻量级与自包含:SQLite FTS5 无需额外安装或配置,适合自托管场景 ------ 用户只需安装 Hermes,即可使用全文检索功能,无需额外部署 Elasticsearch、Pinecone 等服务。

  2. 性能均衡:SQLite FTS5 的检索性能足以满足大多数场景的需求 ------ 对于百万级别的文档,检索延迟可以控制在毫秒级。

  3. 与记忆审查的兼容性:SQLite FTS5 支持对检索结果的排序与过滤,这与 Hermes 的记忆审查机制高度兼容 ------ 系统可以根据记忆的价值得分,对检索结果进行排序,优先返回高价值的信息。

3 场景适配性分析

Hermes 的记忆架构,本质是为 "需要持续学习、频繁交互的场景" 设计的 ------ 这类场景的核心需求是 "记忆的质量优先于数量",具体包括:

(1)个人数字助理

个人数字助理场景的核心需求是 "个性化交互"------ 比如记住用户的日程安排、偏好设置、常用工具,无需每次重复输入。Hermes 的用户画像层与核心记忆机制,天然满足这一需求:

  • 用户的偏好(如 "喜欢早上 8 点收到日程提醒""讨厌接收垃圾邮件")会被写入USER.md,永久保留;

  • 用户的日程安排、待办事项会被存入会话检索层,支持快速检索;

  • 随着使用时间的增长,GEPA 引擎会自动优化记忆的检索优先级 ------ 比如用户经常查询 "最近的会议安排",系统会提升日程记忆的检索优先级,让 Agent 更快地给出回答。

典型案例:某用户用 Hermes 作为个人数字助理,每天早上 8 点,Agent 会自动检索用户的日程安排,发送提醒;当用户收到新邮件时,Agent 会自动过滤垃圾邮件,并将重要邮件的摘要发送给用户。该用户的日常事务处理效率比原来提升了 50%。

(2)智能客服

智能客服场景的核心需求是 "快速响应 + 个性化服务"------ 比如记住用户的历史问题、购买记录、偏好,提供精准的解决方案。Hermes 的记忆审查与会话检索机制,完美适配这一需求:

  • 用户的历史问题与解决方案会被存入会话检索层,支持快速检索 ------ 当用户再次提问时,Agent 可以直接调用历史解决方案,无需重新思考;

  • 用户的购买记录与偏好会被写入USER.md,用于个性化推荐 ------ 比如用户购买过某款产品,Agent 会推荐相关的配件或服务;

  • 记忆审查机制会自动过滤掉无价值的信息 ------ 比如用户的辱骂性语言、重复提问,确保核心记忆的质量。

典型案例:某电商平台用 Hermes 构建智能客服系统,Agent 可以记住用户的历史购买记录与偏好,提供个性化的推荐。该平台的客服响应时间从原来的 15 秒缩短到了 3 秒,用户满意度提升了 40%。

(3)持续学习型任务

持续学习型任务场景的核心需求是 "知识沉淀 + 自我优化"------ 比如代码审查、数据分析、市场调研,这些任务需要 Agent 持续积累知识,优化自身的行为。Hermes 的 GEPA 引擎与技能沉淀机制,正是为了解决这一问题:

  • 任务中的经验教训会被写入MEMORY.md,成为核心记忆 ------ 比如代码审查中发现的 "常见 bug 类型",会被沉淀为技能文件,后续审查时自动调用;

  • GEPA 引擎会自动优化记忆的检索优先级 ------ 比如某类 bug 的出现频率较高,系统会提升该类 bug 的检索优先级,让 Agent 更快地发现问题;

  • 技能文件会在使用中持续自我改进 ------ 比如某类 bug 的解决方案被验证有效,系统会自动更新技能文件,提升其准确性。

典型案例:某技术团队用 Hermes 进行代码审查,Agent 可以记住常见的 bug 类型与解决方案,自动发现代码中的问题。该团队的代码审查效率比原来提升了 30%,bug 率降低了 25%。···················································································································

推荐阅读:Agent记忆架构设计剖析系列:原理、权衡与场景适配(claude code设计原理)

相关推荐
Raink老师1 小时前
【AI面试临阵磨枪-27】Agent 通用抽象架构:感知、规划、行动、记忆 四个模块如何闭环?
人工智能·ai 面试
网瘾新之助1 小时前
Claude Code Hooks:事件驱动的自动化工作流
人工智能
人工智能培训1 小时前
规范实操筑牢防线,全域落地安全物理协作
人工智能·深度学习·神经网络·机器学习·生成对抗网络
晨航1 小时前
扣子(Coze)+ GPT-Image-2制作育儿漫画,人物一致性和鱼泡处理,好用哭
人工智能·aigc
Magic-Yuan1 小时前
PySpark Debug 总结
人工智能·python·数据平台
架构源启1 小时前
2026 进阶篇:Spring Boot响应式编程 + Spring AI 1.1.4 流式实战 + Vue前端完整实现(避坑指南)
java·前端·vue.js·人工智能·spring boot·spring·ai编程
MacroZheng1 小时前
面试官:“你连Claude Code都没用过吗?”,我怼回去:“就没用过又怎么了?”
人工智能·后端·claude
IDZSY04301 小时前
【技术视角】从0到1拆解机乎AI:AI社交平台的技术架构与产品设计
人工智能
视觉&物联智能1 小时前
【杂谈】-人工智能于现代网络安全运营的价值持续攀升
人工智能·安全·web安全·ai·chatgpt·agi·deepseek