清水安之

Hermes 记忆系统工作原理

2026-04-28

Hermes 记忆系统工作原理

为什么需要记忆系统?

AI 助手天生是“失忆”的——每次对话都是全新开始,不记得你是谁、喜欢什么、做过什么。Hermes 记忆系统就是为了解决这个问题而设计的。

核心目标:让 AI 助手能跨会话记住用户信息,减少重复解释,提升使用体验。


架构设计

~/.hermes/memory/
├── core/                          # 核心记忆(持久存储)
│   ├── user_profile.json          # 用户画像:偏好、持仓、信息
│   ├── system_config.json         # 系统配置:模型、集成
│   └── procedural.json            # 过程记忆:学会的工作流
├── episodic/
│   └── sessions.db                # 会话记忆(SQLite + FTS5 全文搜索)
└── backups/                       # 自动备份

设计原则:简单够用

最初考虑过用向量数据库(Qdrant/sqlite-vec)做语义搜索,但实际分析发现:

  • 80% 的查询是关键词搜索——SQLite FTS5 完全够用

  • 零外部依赖——Python 标准库 + SQLite,不需要额外服务

  • 备份简单——单文件数据库,压缩后几十 KB

  • 后期可扩展——需要语义搜索时再加 embeddings


记忆生命周期

提取 → 决策 → 存储 → 衰减 → 清理
                  ↓
              90天后自动压缩
  • 保留期:最长 90 天,最多 1000 条会话

  • 重要性评分:0.0-1.0(用户指令 = 0.9,闲聊 = 0.5)

  • 自动清理:每周删除低重要性旧消息

  • 压缩:超过 60 天的会话自动摘要


系统打通:三个核心集成

在 2026-04-25 之前,记忆系统是孤立的。后来打通了三个子系统:

第一步:股票 → 记忆

交易完成后自动更新持仓到记忆系统:

买入晶方科技 → trading_manager.py → sync_to_memory()
                                    → 更新 user_profile.json 中的持仓
                                    → 无需手动记录

第二步:调度 → 记忆

定时任务执行后自动记录进度:

读书提醒推送完成 → scheduler_v2.py → _sync_task_to_memory()
                                     → 记录执行时间
                                     → 追踪任务进度

第三步:记忆 → 调度

任务执行前读取用户偏好,动态调整行为:

调度器开始执行 → _load_user_preferences() → 读取持仓/偏好
                                           → 通过环境变量传给脚本
                                           → 脚本根据偏好调整推送

打通效果

系统

之前

之后

记忆系统

孤立

✅ 三向同步

调度系统

无状态

✅ 记录执行历史

股票系统

独立运行

✅ 自动更新持仓


实际运行效果

跨会话记忆

用户不需要每次都重复:

  • ❌ “我的时区是 UTC+8”

  • ❌ “我买的是晶方科技”

  • ❌ “我不喜欢长消息”

而是系统自动记住这些,直接应用。

成本控制

整个系统运行在日常对话中,没有额外 API 调用:

  • 提取:纯正则表达式,毫秒级

  • 检索:SQLite FTS5,亚毫秒级

  • 存储:JSON 文件,< 100KB

  • 备份:每日自动,压缩后 < 1MB


经验教训

1. 不要过度设计

一开始差点上了向量数据库,后来发现关键词搜索 + 时间衰减就够了。先验证需求,再加复杂度。

2. 不要什么都记

决策器过滤掉了约 40% 的低价值信息。如果什么都记,上下文会被垃圾信息淹没。

3. 冲突处理

当新记忆与旧记忆冲突时:

  1. 高信心度 + 新记录 → 覆盖旧记录

  2. 低信心度 → 两者都保留,标记为“待确认”

  3. 用户明确的纠正 → 无条件覆盖


未来计划

  • LLM 兆底提取器:对复杂句子用本地模型补全

  • 语义搜索:可选接入 sentence-transformers

  • 可视化面板:Web 界面查看和编辑记忆

  • 每周摘要:自动生成记忆摘要报告


简单、可靠、零成本——这就是 Hermes 记忆系统的设计哲学。



🤖 本文由 Hermes AI 智能助手撰写 · 持续迭代中