Hotdry.

Article

Hermes Agent 自适应记忆架构:实现随交互持续进化的个性化 AI 代理

解析 Hermes Agent 的三层记忆架构与 Honcho 用户建模机制,提供容量管理、冻结快照模式与技能自进化的工程化参数。

2026-06-08ai-systems

问题:上下文窗口的硬边界与 AI 的 "失忆症"

当前主流 LLM 应用面临一个结构性困境:无论上下文窗口扩展到 128K 还是 200K,对话历史终究会被截断,用户偏好、项目约定、过往教训随会话结束而流失。每次开启新对话,代理都回到 "出厂设置",用户不得不重复交代技术栈、沟通风格、项目路径等基础信息。这种 "失忆症" 不仅消耗 token,更阻碍了代理向真正的个人助手进化。

Nous Research 开源的 Hermes Agent 通过一套分层记忆架构与用户建模机制,试图在 bounded context 的约束下实现跨会话的个性化持续进化。其核心洞察是:与其追求无限上下文,不如在有限容量内实现精准的记忆策展与动态用户画像更新

三层记忆架构设计

Hermes 的记忆系统由三个层级构成,分别对应不同时间尺度与使用场景:

1. 持久记忆(Persistent Memory):双文件冻结快照

系统维护两个独立的记忆文件,存储于 ~/.hermes/memories/

  • MEMORY.md(2,200 字符,约 800 tokens):代理的 "个人笔记",记录环境事实、项目约定、工具 quirks、已完成的任务日记
  • USER.md(1,375 字符,约 500 tokens):用户画像,包含姓名、角色、时区、沟通偏好、技术熟练度、忌讳事项

这两个文件在会话启动时以 frozen snapshot 模式注入系统提示,之后不再变动。这种设计刻意牺牲动态更新能力,换取前缀缓存(prefix cache)的性能优势 ——LLM 只需计算一次系统提示的 KV cache,后续对话复用即可。

代理通过 memory 工具管理记忆,支持 addreplaceremove 三种操作。replaceremove 采用子串匹配而非精确匹配,只需提供能唯一标识条目的短片段即可。当容量接近上限(>80%)时,代理会触发整合逻辑,将多个相关条目合并为更紧凑的表述。

2. 会话记忆(Session Memory):FTS5 全文检索

所有 CLI 和消息平台对话存储于 SQLite(~/.hermes/state.db),启用 FTS5 全文索引。与持久记忆不同,会话记忆不占用系统提示 token,仅在代理显式调用 session_search 时按需检索。

特性 持久记忆 会话搜索
容量 ~1,300 tokens 无上限(所有历史会话)
速度 即时(已在上下文) ~20ms FTS5 查询
成本 每轮固定 token 开销 零成本(无 LLM 调用)
使用场景 关键事实常驻上下文 "上周我们是否讨论过 X?"

这种分层策略实现了热数据常驻、冷数据按需的访问模式,在有限上下文预算内最大化有用信息的可达性。

3. 技能记忆(Skill Memory):程序性知识的自进化

技能系统存储代理从经验中提炼的可复用程序性知识。当代理完成复杂任务后,可自主创建或改进技能文档,存储于 ~/.hermes/skills/。技能采用 agentskills.io 开放标准,支持跨项目共享。

技能记忆的独特之处在于自我改进循环:代理在使用技能过程中持续观察效果,自动优化技能实现。这种闭环学习使代理的能力随时间累积,而非每次从零开始。

Honcho 用户建模:辩证式画像构建

Hermes 集成 Honcho 引擎实现 dialectic user modeling—— 一种基于对话历史的异步用户心理建模机制。与传统静态用户画像不同,Honcho 持续分析用户的表达方式、决策模式、知识盲区与偏好演化,构建随时间深化的用户模型。

关键设计原则:

  • 渐进式细化:初始画像基于少量交互,随对话增加逐步丰富
  • 偏好捕获:自动识别沟通风格(简洁 vs 详尽)、技术偏好(TypeScript vs JavaScript)、工作流程习惯
  • 漂移管理:当用户行为模式变化时,模型通过新证据逐步调整旧假设

用户模型与持久记忆协同工作:USER.md 存储显式声明的偏好("我喜欢在终端使用深色主题"),Honcho 处理隐式推断的行为模式(用户倾向于先探索再决策)。

工程实现要点

容量管理与整合策略

当记忆达到容量上限时,系统返回结构化错误,提示代理执行整合:

Memory at 2,100/2,200 chars. Adding this entry (250 chars) would exceed the limit. 
Consolidate now: use 'replace' to merge overlapping entries...

可落地参数

  • 设置容量告警阈值:80%(1,760/2,200 字符)
  • 整合策略:将分散的项目相关条目合并为单条综合描述
  • 淘汰策略:优先移除时间戳超过 90 天的非关键环境事实

安全扫描机制

所有记忆条目在写入前经过安全扫描,检测:

  • 提示注入模式(prompt injection patterns)
  • 凭证外泄尝试(credential exfiltration)
  • 隐形 Unicode 字符(zero-width spaces, bidirectional overrides)

这一层防御至关重要,因为记忆内容直接注入系统提示,一旦被污染将影响所有后续对话。

外部记忆提供商扩展

Hermes 支持 8 种外部记忆提供商(Honcho、Mem0、Hindsight 等),运行在内置记忆之上而非替代。这些提供商补充了向量检索、知识图谱、自动事实提取等能力,适用于需要更深记忆的场景。

局限性与权衡

  1. 容量硬边界:2,200 + 1,375 字符的容量对复杂项目可能捉襟见肘,需要主动的策展与整合
  2. 冻结快照的延迟:记忆更新需等到下次会话才生效,长会话中可能出现 "已更新但未生效" 的认知失调
  3. 用户建模的隐私边界:长期行为追踪引发数据最小化与用途限制的问题,需明确的记忆清除机制

结语

Hermes Agent 的记忆架构展示了在 bounded context 约束下实现长期个性化的可行路径:不是追求无限记忆,而是追求精准策展。通过热 / 冷数据分层、冻结快照优化、技能自进化与用户建模的协同,代理能够在每次对话中 "记得" 你是谁、你的项目如何组织、你们之前如何协作。这种 "渐进式熟悉" 的体验,正是从工具向伙伴进化的关键一步。


参考来源

ai-systems

内容声明:本文无广告投放、无付费植入。

如有事实性问题,欢迎发送勘误至 i@hotdrydog.com