Agent记忆架构设计剖析系列:原理、权衡与场景适配(hermes设计原理)
Hermes 是一款主打 “自我进化” 的 Agent 框架其记忆系统的核心设计哲学是认知经济性—— 即 “只记住对未来行为有价值的信息”通过严格的记忆审查与精炼机制将有限的计算资源集中于高价值记忆实现了记忆质量与系统效率的平衡。1. 架构设计原理Hermes 的记忆系统遵循 “高价值优先、严格容量控制” 的原则将记忆划分为五个层级 —— 层级之间通过 “记忆审查” 机制完成信息流转每一层都有明确的容量上限与价值评估标准确保只有最有价值的信息会被保留。1.1 记忆层级结构Hermes 的记忆层级是 “价值优先级分层”—— 层级越靠前价值优先级越高、容量上限越严格、访问速度越快层级之间通过 “晋升” 机制完成信息流转层级序号记忆类型存储介质容量上限加载时机核心功能1冻结系统提示记忆MEMORY.mdUSER.md合计约 3575 字符每次会话启动时存储最核心的记忆MEMORY.md保存 Agent 的 “环境事实”如项目技术栈、核心约束USER.md保存用户的 “长期偏好”如沟通风格、决策习惯。这一层是 Agent 的 “认知基石”永远不会被压缩或覆盖2会话检索层SQLite FTS5 全文索引无硬上限自动压缩会话过程中按需检索存储所有历史会话的摘要 —— 每轮对话结束后系统会将对话内容压缩为 100-200 字的摘要保留核心需求与结论支持数周乃至数月前的上下文检索3用户画像层结构化 JSON 文件随用户交互动态更新会话启动时存储用户的动态偏好 —— 比如用户最近提到的 “喜欢用表格展示数据”“讨厌冗长的技术术语”这些信息会实时更新用于优化 Agent 的输出风格4实体记忆网络图数据库无硬上限语义检索时存储实体之间的关联关系 —— 比如 “用户 A 是项目 B 的负责人”“项目 B 使用的技术栈是 ReactNode.js”支持多跳语义检索提升复杂问题的回答精准度5环境记忆层本地文件系统无硬上限工具调用时存储环境相关的信息 —— 比如服务器的 IP 地址、数据库的连接参数、工具的使用文档这些信息会在工具调用时自动加载无需手动输入需要特别说明的是Hermes 的 “冻结系统提示记忆” 层有严格的容量控制MEMORY.md上限约 2200 字符USER.md上限约 1375 字符合计约 3575 字符。这一限制的目的是强制 Agent 将最核心的记忆精炼到极致避免冗余信息占用宝贵的上下文窗口。1.2 核心机制解析Hermes 的记忆系统通过三大核心机制实现了 “主动学习” 的设计目标 —— 让 Agent 从 “被动记录” 升级为 “主动筛选高价值信息”。1记忆审查与晋升确保只有高价值信息进入核心记忆这是 Hermes 记忆系统最核心的机制也是其区别于其他框架的关键 —— 它解决了传统记忆系统 “记忆冗余” 与 “价值衰减” 的问题。记忆审查的流程是触发条件当会话轮次达到 10 轮或会话 Token 数量接近模型上下文窗口的 80% 时系统会自动触发记忆审查。审查逻辑系统会调用底层 LLM 对当前会话的所有信息进行评估评估维度包括 “复用价值”该信息是否会在未来会话中被用到、“时效性”该信息的有效期有多长、“准确性”该信息是否经过验证。晋升规则通过审查的信息会被写入MEMORY.md或USER.md成为核心记忆未通过审查的信息会被压缩为摘要存入会话检索层完全无价值的信息会被直接删除。容量控制当核心记忆的容量接近上限时系统会自动对现有核心记忆进行 “二次审查”—— 将价值最低的条目移动到会话检索层为新条目腾出空间。这种设计的核心逻辑是核心记忆的容量是有限的必须留给最有价值的信息—— 比如用户反复强调的 “项目必须支持 IE11 浏览器”会被写入MEMORY.md永久保留而用户偶然提到的 “今天天气不错”会被直接删除。2认知经济性原则最小化上下文注入最大化信息密度Hermes 的上下文管理遵循 “认知经济性” 原则 —— 即 “只将对当前任务有价值的记忆注入上下文避免无意义的信息占用资源”。具体规则包括核心记忆全量注入MEMORY.md与USER.md的内容会在每次会话启动时全量注入上下文 —— 因为这两层是 Agent 的 “认知基石”所有任务都需要基于这些信息执行。会话记忆按需检索会话检索层的内容不会全量注入上下文而是在 Agent 需要时通过 SQLite FTS5 全文检索获取 —— 比如 Agent 需要回忆用户上周提到的 “支付模块需求”会先检索会话摘要找到对应的条目后再注入上下文。动态记忆实时更新用户画像层与环境记忆层的内容会在每次会话中实时更新 —— 比如用户在当前会话中提到 “喜欢用 Markdown 格式输出”系统会立即更新用户画像层的内容并在后续会话中自动应用。根据 Hermes 官方的测试数据通过认知经济性原则上下文的 Token 数量比全量注入降低了 60%同时回答的准确率保持在 95% 以上。3GEPA 自我进化引擎让记忆系统自我优化GEPAGradient-based Experience Policy Adaptation是 Hermes 的自我进化引擎它通过类反向传播的方式优化记忆系统的性能 —— 让 Agent 从 “经验” 中学习提升记忆的准确性与检索效率。具体流程是行为记录系统会记录每一次记忆检索的结果 —— 比如 “检索到的信息是否被 Agent 采用”“采用后回答的准确率如何”“用户是否对回答满意”。效果评估系统会对这些记录进行评估计算每一条记忆的 “价值得分”—— 得分越高说明该记忆的复用价值越高。策略优化系统会根据价值得分调整记忆的检索优先级与晋升规则 —— 比如某类记忆的得分持续偏低系统会降低其检索优先级某类记忆的得分持续偏高系统会提升其晋升权重。技能沉淀当某类记忆的得分达到一定阈值时系统会自动将其提炼为 “技能文件”—— 比如 “如何处理用户的退款请求”技能文件会被存储在skills/目录下后续会话可以直接调用无需重新检索记忆。这种设计的核心逻辑是记忆系统不是静态的而是可以通过自我学习持续优化的—— 使用时间越长记忆系统的性能越好Agent 的回答也会越精准。2 设计哲学效率与学习能力的平衡Hermes 的记忆架构本质是对 “认知资源稀缺性” 的深刻理解 —— 它将有限的计算资源与上下文窗口集中于最有价值的记忆内容实现了效率与学习能力的平衡。2.1 为什么设置严格的核心记忆容量上限这是 Hermes 最具争议的设计之一但也是其最能体现 “认知经济性” 原则的决策。根据 Hermes 核心开发者的解读这一限制的目的有三个对抗上下文膨胀传统记忆系统的核心问题是上下文窗口被大量冗余信息占用 —— 比如将上百轮的对话历史全量注入上下文导致模型无法聚焦核心需求。通过严格的容量限制Hermes 强制 Agent 将最核心的记忆精炼到极致避免冗余信息占用宝贵的上下文窗口。提升检索命中率核心记忆的容量越小Agent 在检索时找到高价值信息的概率越高 —— 比如 1000 字符的核心记忆检索命中率可以达到 95%而 10000 字符的核心记忆检索命中率可能只有 60%。强化记忆的持久性只有被写入核心记忆的信息才会被永久保留 —— 这一限制会让 Agent 更倾向于记录 “长期有价值的信息”而非 “临时的会话细节”。2.2 为什么采用主动学习机制Hermes 的设计目标是 “持续在线的数字员工”—— 即 Agent 需要在长周期的交互中持续学习用户的需求与偏好优化自身的行为。被动记录的记忆系统无法满足这一需求 —— 因为它会记录所有信息包括无价值的冗余信息导致记忆系统的性能随时间下降。主动学习机制的价值在于让 Agent “学会选择记忆的内容”—— 它会自动过滤掉无价值的信息保留高价值的信息同时它会将高价值的信息提炼为技能让 Agent 的能力随时间提升。这种设计让 Hermes 成为了 “越用越强” 的 Agent 框架 —— 根据官方的测试数据使用 Hermes 30 天后Agent 的回答准确率会提升 30% 以上。2.3 为什么采用 SQLite FTS5SQLite FTS5 是 Hermes 记忆系统的核心检索引擎 —— 它是一种轻量级的全文检索引擎无需额外的服务端直接嵌入在 SQLite 数据库中。Hermes 选择 SQLite FTS5 的原因主要有三个轻量级与自包含SQLite FTS5 无需额外安装或配置适合自托管场景 —— 用户只需安装 Hermes即可使用全文检索功能无需额外部署 Elasticsearch、Pinecone 等服务。性能均衡SQLite FTS5 的检索性能足以满足大多数场景的需求 —— 对于百万级别的文档检索延迟可以控制在毫秒级。与记忆审查的兼容性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设计原理
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2565245.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!