自2025年末开源以来,Hermes Agent凭借其独特的记忆系统架构迅速崛起,成为开源AI Agent领域的标杆。其成功的核心在于构建了一个完整闭环的记忆系统,使Agent能够真正“与用户共同成长”,形成持续学习和自我进化的数字伙伴。
本文基于对Hermes Agent技术架构的深度解析,揭示其如何通过“有限记忆”设计哲学和“Agent自主策展”机制,解决了传统Agent“什么都记、记了不会用”的痛点。报告不仅详细拆解其分层记忆架构、冻结快照机制与闭环学习系统,还在审阅基础上进一步厘清了关键技术点的准确性,并提出了从“单机学习”走向“联邦进化”的未来展望。
一、三层协同记忆架构:从缓存优化到知识沉淀
与大多数Agent框架简单将对话历史存储在文件或数据库中不同,Hermes Agent构建了一个三层协同工作的记忆架构,每层解决不同的记忆问题,同时在性能、容量与质量之间取得精妙平衡。
1.1 Layer 1:冻结快照层 —— 高频核心事实的缓存优化
核心组件:两个Markdown文件
MEMORY.md:上限2200字符,存储与任务相关的持久知识(如项目约定、常用命令)USER.md:上限1375字符,存储用户画像(偏好、习惯、沟通风格)存储位置:
~/.hermes/memories/功能定位:高频、稳定的核心事实。会话开始时冻结为快照,注入系统提示词前缀。
容量设计哲学:总容量约3575字符(约1300 tokens)。刻意限制以强制Agent筛选高价值信息,避免记忆膨胀为噪音。
冻结机制:会话启动时加载文件内容为快照,整个会话期间不再动态更新。写入操作会持久化到磁盘,但当前会话的prompt快照不变,仅在下次会话或执行
memory compress时刷新。工程优势:固定前缀最大化利用LLM的提示词前缀缓存,在一次会话的多次API调用中,服务端可复用已计算的前缀表示,后续调用仅需支付新增的用户消息和模型回复的token费用。实测中,长对话场景下的总token成本通常可降至无缓存方案的10%以下。
1.2 Layer 2:语义检索层 —— 无限历史的按需回溯
核心组件:SQLite数据库 + FTS5全文索引
存储位置:所有历史会话存储在
~/.hermes/sessions/功能定位:无限容量的长期记忆,按需检索而非全量加载。
检索机制:
通过FTS5进行快速关键词检索(万级条目 < 10ms)
可选调用Gemini Flash等轻量LLM对检索结果生成摘要,提升语义理解能力
工程优势:零额外依赖,无需部署向量数据库;即使在最低每月5美元的VPS环境下也能稳定运行。
典型场景:“回顾上周我们修复某个bug的具体步骤”、“查找之前讨论过的API设计决策”。
1.3 Layer 3:程序技能层 —— 经验的结构化复用
核心组件:Markdown格式的结构化技能文档
存储位置:
~/.hermes/skills/功能定位:将成功任务路径提炼为可复用的工作流(代码审计、部署流程、测试生成等)。
加载策略:系统提示词中仅加载技能名称与简短描述索引;仅当Agent判断需要执行某技能时,才加载该技能的完整Markdown内容。
容量管理:即使积累600+技能,上下文也不会爆炸,因索引部分参与prompt组装。
“补丁式修改”机制:技能优化时,
Skill Extractor通过模糊匹配定位需修改的步骤,仅替换问题片段而非全量重写,既节省token又避免破坏已有有效内容。
1.4 元认知系统:用户建模 —— 驱动跨会话个性化进化
用户建模并非独立层级,而是贯穿上述三层的一个元认知策展逻辑。它通过分析用户交互模式(如常用技术栈、提问风格、反馈倾向),自动更新USER.md文件内容,从而驱动冻结快照层的画像持续深化。
实现方式:基于Honcho辩证建模系统,动态维护用户行为模式。
典型效果:Agent能理解用户偏好简洁的代码注释、偏爱某个云服务商、习惯在上午处理设计问题等,提供越来越“对味”的个性化服务。
1.5 四层协作形成的“感知-记忆-回忆-策展”循环
这三层记忆与元认知用户建模协作,形成一个完整的认知循环:Agent从对话中感知信息 → 判断价值并选择性存储到不同层级 → 在需要时按策略检索 → 自主决定哪些经验值得固化为长期记忆或技能。这种设计既解决了记忆的容量问题,又保证了记忆的质量与相关性,使Agent能够持续进化。
二、冻结快照机制:性能与一致性的精妙平衡
Hermes Agent最精妙的设计之一是冻结快照机制,它巧妙地解决了LLM提示缓存优化与记忆动态更新之间的矛盾。
2.1 工作原理
会话生命周期管理:在会话开始时,Hermes加载
MEMORY.md和USER.md内容,渲染为系统提示词的一部分并冻结快照。关键代码逻辑(简化自
tools/memory_tool.py):python
self._system_prompt_snapshot ={"memory": self._render_block("memory", self.memory_entries),"user": self._render_block("user", self.user_entries)}
写入操作处理:会话期间Agent可调用
memory add/replace/remove修改磁盘上的记忆文件,但这些修改不会影响当前会话已构建的系统提示词快照。新内容只在下次会话启动或压缩触发时生效。提示词组装顺序:
稳定前缀(身份定义、工具指导、冻结快照) + 易变尾部(历史对话摘要、检索结果、用户最新消息)。这种分割最大化前缀缓存命中率。
2.2 工程考量
性能优化:固定前缀意味着可利用LLM的prefix cache,显著降低API成本。实测一次含30轮交互的会话中,总token成本可降低5–10倍。
一致性保证:避免记忆在会话中动态变化导致模型行为不可预测,确保稳定推理。
安全隔离:即使会话期间Agent被恶意诱导写入错误记忆,当前会话不受影响,降低了即时记忆污染风险。
2.3 与传统Agent的对比
传统Agent框架(如早期版本的OpenClaw)多采用“用完即走”的无状态设计,每次交互后上下文清零,经验无法沉淀。Hermes的冻结快照机制实现了记忆的持续性与稳定性,使得Agent能够在会话间积累知识,成为真正长期运行的伙伴。
三、Agent自主策展:记忆质量的主动控制
Hermes记忆系统最大的创新在于:Agent自己决定什么值得记住,而非依赖人类预设规则。
3.1 受限写入操作
操作类型:仅支持
add、replace、remove。没有read操作,因为记忆内容已在prompt中可见。容量强制控制:当接近上限时,写入工具直接返回错误,并告知当前已用字符数、新增内容长度和剩余空间,强制Agent先清理(replace/remove)再写入。
字符数限制的优势:使用字符数而非token数,避免不同模型tokenizer的差异,使记忆容量在不同LLM间保持可预测。
拒绝写入机制:内存满时系统拒绝新内容,除非Agent主动腾出空间。这倒逼Agent进行高价值信息筛选。
3.2 安全扫描与质量控制
写入前扫描:所有写入操作需经过
_scan_memory_content()函数。检测规则:包括“忽略之前的指令”类prompt injection模式、可疑命令(如
curl/wget)、不可见Unicode字符等。效果:硬性安全检查有效避免了恶意内容或噪音信息的无限积累,维持了记忆的高信噪比。
3.3 与传统方案对比
早期Agent框架(如OpenClaw早期版本)采用“什么都存”策略,将所有对话历史、角色设定、偏好等不加筛选地写入文件,导致信息噪音随时间指数级递增。Hermes通过物理容量限制和Agent自主策展,迫使Agent成为信息的“策展人”而非“垃圾桶”,这对长期运行的Agent而言是质的飞跃。
四、闭环学习系统:技能的自动创建与持续优化
Hermes的记忆系统不仅是信息存储,更是一个持续学习和自我优化的闭环。

4.1 “执行-评估-抽象-优化”循环
闭环学习遵循以下路径:
执行:Agent调用工具(如终端、浏览器、文件编辑器)完成复杂任务。
评估:任务完成后,内部Nudge机制(默认每10轮对话触发一次,参数可配置)提示Agent反思:“这个过程有什么值得记住的经验?”
抽象:若判定为有价值(例如≥5次工具调用、修复了复杂错误、用户给出正面反馈),Agent调用
skill manage action='create'将具体操作路径抽象为结构化的Markdown技能文档。技能包含:元信息(名称、版本、触发条件)、步骤、验证标准等。优化:下次遇到匹配的触发条件时,Agent加载并执行该技能。若执行中发现问题(如步骤失败、环境变化),Agent通过补丁式修改仅更新问题片段,实现技能的渐进式进化。
4.2 技能自动生成与存储
生成格式:遵循agentskills.io开放标准,支持跨项目迁移。
存储位置:
~/.hermes/skills/Nudge机制:通过
cron调度定期向Agent发送内部提示:“最近有什么值得记住的经验?”触发Agent进行记忆压缩与技能提炼。
4.3 补丁式修改
实现:
Skill Extractor使用模糊匹配定位需修改的步骤,_patch_skill()方法仅替换问题片段。优势:避免破坏已有有效内容,同时大幅减少token消耗。
实测效果:连续使用一个月后,同类任务的工具调用次数从约20次压缩到8–10次,效率提升超60%。
4.4 与OpenClaw技能系统的根本差异
OpenClaw的Skill主要依赖人工编写和社区贡献的ClawHub市场,无法随着用户使用而自动进化。而Hermes的Skill系统是Agent自主生成和维护的,真正实现了“越用越懂你”。这意味着两个系统不同的演化上限:OpenClaw的上限取决于社区贡献的热心程度,Hermes的上限则取决于Agent的使用时长与交互丰富度。
五、多模型兼容与本地化运行优化
Hermes Agent的记忆系统设计充分考虑了跨模型兼容性和边缘部署效率。
5.1 多模型兼容设计
提示词标准化:记忆内容统一渲染为与具体LLM解耦的标准格式。
前缀与尾部分离:长期稳定信息(Agent身份、冻结快照、技能索引)与动态信息(对话历史、当前消息)分离,最大化跨模型(Claude、GPT、Gemini、MiMo、GLM等12+服务商)的缓存兼容性。
5.2 本地化运行优化
轻量化依赖:所有记忆系统基于本地文件系统和SQLite,无需向量数据库、Redis等额外基础设施。
低成本部署:最低每月5美元的VPS即可7×24小时运行,空闲时几乎不消耗token。
数据可移植性:所有记忆和技能数据默认本地保存,提供
hermes claw migrate一键迁移工具,方便在不同机器间迁移。
5.3 透明化的记忆状态
系统提示词中会明确显示记忆使用情况(如[67% — 1,474/2,200 chars])。这既是给Agent的硬性容量信号,也是向开发者/高级用户暴露系统内部状态的设计。对于普通用户,前端可选择性显示更友好的进度条提示。
六、实际应用效果与性能对比
6.1 Token成本优化
前缀缓存效果:通过冻结快照机制,在长对话场景下token成本通常降至原价的10%以下。
对比数据:早期无状态框架或每次动态更新记忆的实现,token消耗随对话轮数线性增长;Hermes通过固定前缀显著降低成本。
平台验证:在OpenRouter平台上,Hermes Agent上线后实现367%的使用量增长(达到971B tokens),而同期部分竞品因成本压力和漏洞问题流失了大量用户。
6.2 信息检索效率
SQLite FTS5优势:关键词检索速度可达万级条目10ms内完成,远快于向量数据库的语义检索(通常50–200ms)。
LLM摘要补充:按需调用轻量模型生成摘要,弥补全文检索在语义理解上的不足。
适用场景细分:需要精确回溯事实(“上周二的日志中那个报错是什么?”)时,关键词检索优于向量检索;需要模糊语义搜索时,可启用LLM摘要增强。
6.3 技能复用与效率提升
技能库增长成本不变:技能数量增长(已有超过600个技能的场景)不会导致上下文爆炸,因为提示词中只加载索引。
效率提升:一个月后同类任务工具调用次数减少50–60%,任务完成速度显著提升。
知识资产沉淀:分散的经验被转化为结构化技能,可在团队内共享(通过迁移工具),形成可复用的知识资产。
6.4 用户体验对比
OpenClaw的用户反馈中常见“记忆混乱”和“上下文过长”的问题,而Hermes用户普遍反映“连续使用几天后,Agent开始变得'顺手'”,因其能够记住用户偏好和项目上下文,提供更精准、更个性化的服务。这一差异源于Hermes从设计之初就以“长期运行的伙伴”而非“一次性工具”为目标。
七、未来演进方向与潜在挑战
7.1 当前优势重述
自进化能力:Agent能从经验中自主提炼技能,形成持续改进的正向飞轮。
记忆质量控制:通过物理容量限制和Agent策展,维持记忆的高信噪比。
多模型兼容:优化后的prompt结构兼容主流LLM提供商。
低成本部署:轻量化设计将使用门槛降至每月5美元。
7.2 待解决问题与改进方向
跨会话一致性:冻结机制确保了单会话内行为稳定,但可能导致会话间的行为跳跃(例如用户画像更新后,下一会话表现变化明显)。需进一步设计平滑过渡策略。
中文Prompt Injection防护:当前安全扫描主要针对英文模式,对中文注入(如“忽略之前所有指令”的中文变体)检测仍有盲区。
技能市场缺失:相比OpenClaw的ClawHub,Hermes尚未建立成熟的社区技能共享市场。虽然提供了迁移工具,但发现和评价技能的机制有待建设。
多租户场景:虽然支持
HERMES_HOME Profile隔离不同用户/项目,但大规模并发场景下仍需性能优化(如连接池、异步写入)。
7.3 更长远展望:分布式记忆与联邦进化
当前Hermes的记忆是单机本地化的,每个Agent的学习成果(技能、用户画像)无法在不泄露隐私的前提下与其他实例共享。
一个值得探索的演进方向是引入联邦学习框架:
Agent在本地基于用户数据,生成一个差分隐私保护的“技能梯度”(不包含原始敏感信息),上传至公共技能市场。
市场聚合来自成千上万用户的梯度,形成更鲁棒的基础技能模型。
各Agent再从这个基础模型拉取更新,实现“社区共同成长,个体隐私隔离”。
这将使Hermes超越传统中心化技能市场的局限,形成一个自我进化的集体智能系统。
八、总结:记忆系统如何重塑Agent能力边界
Hermes Agent的记忆系统创新性地将记忆视为一个系统工程问题,而非简单的数据存储。其三层架构(冻结快照 + 语义检索 + 程序技能)与元认知用户建模协作,不仅解决了记忆的容量问题,更通过Agent自主策展实现了记忆质量的持续优化。
核心哲学“有限记忆比无限记忆更有价值”,迫使Agent不断筛选、压缩和优化记忆内容,避免了传统方案中“什么都记”导致的信息过载与推理漂移。
这种记忆系统的本质贡献,在于将Agent从“一次性工具”转变为“长期运行的伙伴”。它不是为了优化“这一次回答”,而是为了构建一个能够持续学习、自我改进的认知系统。通过“执行-评估-抽象-优化”的闭环,Agent从每次交互中提取经验,转化为可复用的技能,并在未来任务中应用与迭代。
Hermes Agent的记忆系统代表了AI Agent从“工具调用”广度竞争,向“能力进化”深度角逐的转折点。它不仅解决了记忆的工程实现问题,更重新定义了Agent与用户的关系——从被动执行指令的“龙虾”,进化为主动学习和优化的“爱马仕”,成为真正意义上的“数字分身”。
夜雨聆风