用 Hermes 理念改进 OpenClaw 记忆系统:可行性分析
> 来源: OpenClaw 记忆文档 + 本地配置分析
> 前置报告: Hermes 5 层记忆架构分析
> 研究时间: 2026-03-21
🎯 一句话版本
好消息:OpenClaw 已经内置了 Hermes 5 层中的 3 层能力(压缩前刷盘、语义搜索、Skills 索引),只是我们没开启。改进的重点不是"造轮子",而是"开开关+加约束"。
📊 逐层对比:Hermes vs OpenClaw 现状
Layer 1: 热记忆(Prompt Memory)
| 特性 | Hermes | OpenClaw | 差距 |
|---|---|---|---|
| 字符限制 | ✅ 2,200 + 1,375 chars | ❌ 无限制 | **需要加** |
| 冻结快照 | ✅ 会话中不改 prompt | ❌ 每次 read 最新 | **需要加** |
| 策展式管理 | ✅ 只存高价值事实 | ⚠️ 靠 prompt 引导 | 可改善 |
| 安全扫描 | ✅ 防注入/凭证/后门 | ❌ 无 | **需要加** |
| 超限拒绝 | ✅ 逼模型排序 | ❌ 无限写入 | **需要加** |
可行性:⭐⭐⭐(中等)
OpenClaw 目前没有原生的字符限制机制。但我们可以通过以下方式近似实现:
1. AGENTS.md 中加约束规则:告诉模型 MEMORY.md 不超过 3,000 字符,超了先删旧的再写新的
2. 写一个 memory guardian skill:在写入 MEMORY.md 前检查大小,超限时提醒模型精简
3. 等 OpenClaw 原生支持:v2026.3.7 已经有 plugins.slots.memory 插件槽,未来可能原生支持限制
冻结快照更难——需要 OpenClaw 核心修改。但 compaction 后的 prompt 重建实际上已经是一种"准冻结"。
Layer 2: 冷检索(Episodic Recall)
| 特性 | Hermes | OpenClaw | 差距 |
|---|---|---|---|
| 历史会话搜索 | ✅ SQLite FTS5 | ✅ **已有!** experimental.sessionMemory | **只需开启** |
| 语义搜索 | ❌ 纯关键词 | ✅ 向量 + BM25 hybrid | **OpenClaw 更强** |
| 摘要返回 | ✅ 用便宜模型摘要 | ⚠️ 返回 snippet | 差异小 |
| 中文支持 | ❌ 默认不支持 | ✅ 向量搜索天然支持 | **OpenClaw 更好** |
可行性:⭐⭐⭐⭐⭐(立即可做)
OpenClaw 的 hybrid search(BM25 + 向量)实际上比 Hermes 的纯 FTS5 更强。而且向量搜索天然支持中文——不需要分词。
我们只需要在配置里开启:
{
agents: {
defaults: {
memorySearch: {
experimental: { sessionMemory: true },
sources: ["memory", "sessions"],
query: {
hybrid: {
enabled: true,
vectorWeight: 0.7,
textWeight: 0.3,
mmr: { enabled: true, lambda: 0.7 },
temporalDecay: { enabled: true, halfLifeDays: 30 }
}
}
}
}
}
}
Layer 3: 压缩前刷盘(Compression Flush)
| 特性 | Hermes | OpenClaw | 差距 |
|---|---|---|---|
| 自动触发 | ✅ 上下文快满时 | ✅ **已内置!** | **无差距** |
| 存盘指令 | ✅ 注入 system prompt | ✅ 双 prompt(system + user) | OpenClaw 更细 |
| 重建 prompt | ✅ 压缩后重建 | ✅ compaction 后重建 | 基本一致 |
| 一次性保护 | ✅ 每周期一次 | ✅ 每 compaction 一次 | 一致 |
可行性:⭐⭐⭐⭐⭐(已经有了)
OpenClaw 的 compaction.memoryFlush 就是 Hermes Layer 3 的实现。而且我们的实例已经在用了——刚才我的 session compaction 就触发了 memory flush,我把关键信息写进了 memory/2026-03-21.md。
唯一可优化的:调整 softThresholdTokens(默认 4,000)让 flush 更早触发,给模型更多时间存盘。
Layer 4: Skills 索引
| 特性 | Hermes | OpenClaw | 差距 |
|---|---|---|---|
| 紧凑索引注入 | ✅ skills index | ✅ ` | **无差距** |
| 按需加载 | ✅ read full skill | ✅ read SKILL.md | 一致 |
| 自动创建 skill | ✅ 5+ 次工具调用后 | ❌ 手动创建 | 可改善 |
可行性:⭐⭐⭐⭐⭐(已经一致)
唯一差异是 Hermes 能在检测到重复工作流后自动创建 skill。这更多是 prompt 层面的改进——可以在 AGENTS.md 里加规则。
Layer 5: Honcho(跨设备用户模型)
| 特性 | Hermes | OpenClaw | 差距 |
|---|---|---|---|
| 跨设备同步 | ✅ Honcho 云服务 | ❌ 无 | **需要第三方** |
| 双 Peer 建模 | ✅ 用户 + AI | ❌ 无 | 需要开发 |
| 辩证推理 | ✅ 行为模式理解 | ❌ 无 | 需要开发 |
| Prompt cache 友好 | ✅ 首轮 bake + 后续 attach | — | — |
可行性:⭐⭐(较难,非优先)
需要:
- Honcho 账号 + API key
- OpenClaw 不原生支持 Honcho,需要写插件或用 mem0 插件(已有社区方案)
- 或者等 Hindsight 插件(2 周前发布,自动注入上下文)
🛠️ 实施路线图
第一阶段:开开关(0 代码,立即可做)
// 在 openclaw.json 中添加
{
agents: {
defaults: {
memorySearch: {
experimental: { sessionMemory: true },
sources: ["memory", "sessions"],
query: {
hybrid: {
enabled: true,
vectorWeight: 0.7,
textWeight: 0.3,
mmr: { enabled: true, lambda: 0.7 },
temporalDecay: { enabled: true, halfLifeDays: 30 }
}
}
},
compaction: {
mode: "safeguard",
memoryFlush: {
enabled: true,
softThresholdTokens: 6000 // 比默认 4000 更早触发
}
}
}
}
}
效果:
- ✅ 会话历史可搜索(Layer 2)
- ✅ Hybrid search 开启(BM25 + 向量)
- ✅ MMR 去重 + 时间衰减
- ✅ 压缩前 flush 更早触发(Layer 3)
第二阶段:加约束(修改 AGENTS.md)
在 AGENTS.md 中添加记忆管理规则:
## 记忆管理规则
### MEMORY.md 约束
- 总大小不超过 3,000 字符
- 只存:用户偏好、环境事实、重复纠正、稳定惯例
- 不存:任务进度、会话结果、临时 TODO
- 超限时:先 replace/remove 旧条目再写新的
- 写入前检查:不包含 API key、密码、token 等敏感信息
### memory/YYYY-MM-DD.md 约束
- 每日日志,append-only
- 记录:决策、发现、报告发布、规则变更
- 不记录:中间过程、调试输出
效果:
- ✅ 近似 Layer 1 的字符限制和策展管理
- ✅ 安全规则(防敏感信息写入)
第三阶段:QMD 后端(中期)
{
memory: {
backend: "qmd",
qmd: {
includeDefaultMemory: true,
update: { interval: "5m" },
paths: [
{ name: "docs", path: "~/clawd/docs", pattern: "**/*.md" }
]
}
}
}
效果:
- ✅ BM25 + 向量 + reranking(比 hybrid search 更强)
- ✅ 可索引 docs/ 目录下的所有研究报告
- ✅ 搜索之前的深度研究报告内容
第四阶段:用户模型插件(长期)
探索 Hindsight / mem0 / 自建 Honcho 集成。等社区方案成熟。
📊 总结:Hermes 5 层在 OpenClaw 的实现状态
| 层 | Hermes 功能 | OpenClaw 状态 | 需要做的 |
|---|---|---|---|
| L1 | 热记忆限制 | ❌ 无限制 | AGENTS.md 加规则 |
| L2 | 冷检索 | ✅ 已有,**更强** | 开配置开关 |
| L3 | 压缩刷盘 | ✅ **已内置** | 调参数 |
| L4 | Skills 索引 | ✅ **已一致** | 无需改动 |
| L5 | 用户模型 | ❌ 无 | 等插件生态 |
结论:OpenClaw 的记忆基础设施比 Manthan Gupta 文章暗示的要强得多。 差距主要在两个地方:
1. L1 的约束机制——OpenClaw 缺少对 MEMORY.md 的硬限制,但可以通过规则近似
2. L5 的用户模型——需要第三方方案,但优先级最低
最大的改进空间其实是我们没开的开关——session memory、hybrid search、MMR、temporal decay 都是现成功能,开启后立即获得 Hermes L2 的能力(甚至更强,因为有向量语义搜索)。
📊 评分
| 维度 | 评分(/10) |
|---|---|
| 可行性 | 9.0 — 大部分功能已内置,开开关就行 |
| 改进幅度 | 8.5 — hybrid search + session memory + 时间衰减会显著提升记忆质量 |
| 实施难度 | 低 — 第一阶段零代码,第二阶段改配置文件 |
| 风险 | 低 — 所有功能都是 OpenClaw 官方支持的 |
| 与 Hermes 理念对齐度 | 8.0 — L1-L4 基本覆盖,L5 待补 |
| **综合** | **8.5** |
报告由深度研究助手自动生成 | 2026-03-21
来源: OpenClaw 记忆文档