Hermes Agent记忆优化需四步:一、清理冗余文件(删过期/空/废弃.md);二、启用分片归档(配置sharding_enabled与archive_threshold_days);三、轻量场景加--no-memory-load跳过加载;四、升级SQLite后端(init-sqlite+ migrate-to-sqlite)。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用 Hermes Agent 时发现响应延迟明显增加、任务启动缓慢或 CLI 输入卡顿,则很可能是由于 ~/.hermes/memory/ 目录下积累的记忆文件过多,引发 I/O 延迟与内存加载负担。Hermes Agent 在每次会话中默认加载全部 memory 文件以支持上下文召回,未加管理的记忆膨胀将直接拖慢初始化与检索速度。以下是针对性的优化操作步骤:
一、清理冗余记忆文件
Hermes Agent 的 memory 文件以时间戳命名(如 20260322_143528.md),内容为结构化事实条目。长期运行后易混入重复、过期或低价值条目,手动筛选可快速释放资源并提升加载效率。
1、进入记忆目录:cd ~/.hermes/memory/
2、列出按修改时间倒序排列的前20个文件:ls -t | head -20
3、逐个检查文件内容,删除满足任一条件的文件:包含 [DEPRECATED] 标记、创建时间早于90天、内容为空或仅含通用问候语。
4、批量删除早于2026年1月1日的文件:find . -name "*.md" -type f -mtime +90 -delete
二、启用记忆分片与自动归档
Hermes Agent 支持通过配置启用 memory 分片机制,将高频访问记忆保留在活跃区,低频记忆转入归档子目录,避免全量加载。该机制依赖 memory_sharding 开关及归档策略定义。
1、编辑主配置文件:nano ~/.hermes/config.yaml
2、在 memory: 区块下添加以下字段:
sharding_enabled: true
archive_threshold_days: 60
archive_path: "./memory/archive"
3、保存后重启 Hermes Agent 进程,系统将在下次 memory 写入时自动执行归档判断。
三、禁用非必要记忆加载
对于仅需执行单次工具调用或定时任务的轻量场景,可绕过 memory 初始化流程,显著缩短启动耗时。此操作不影响 skill 调用与当前会话上下文构建,仅跳过历史 memory 文件读取环节。
1、启动 CLI 时添加 --no-memory-load 参数:hermes --no-memory-load
2、若通过脚本调用,修改命令行入口,在 hermes run 后追加该参数。
3、验证是否生效:观察启动日志中是否出现 "Skipping memory file loading" 提示。
四、替换为 SQLite 记忆后端
默认的文件系统 memory 存储在条目超千后会出现线性检索退化。Hermes Agent v0.8.0 起支持 SQLite 后端,将所有 memory 条目统一存入 ~/.hermes/memory.db,利用索引加速关键词与时间范围查询。
1、安装 SQLite 依赖:pip install pysqlite3
2、初始化数据库表结构:hermes memory init-sqlite
3、迁移现有文件:hermes memory migrate-to-sqlite
4、在 config.yaml 中设置:backend: sqlite


















