OpenClaw vs HermesAgent 对比分析(一):记忆系统专题 — AI Agent 如何跨越"失忆"鸿沟

系列导读:本系列基于两个主流开源AI Agent项目的源码深度分析,从记忆系统、安全架构、多通道能力、技能插件体系、本地计算机控制五大维度进行横向对比。本文聚焦记忆系统

前置阅读OpenClaw 架构分析 | HermesAgent 架构分析


一、问题的本质

AI Agent"失忆"问题是整个行业的痛点。没有记忆的Agent就像金鱼——每次对话都是全新的开始

OpenClaw 与HermesAgent都意识到了这个问题,但给出了完全不同的解决方案


二、架构对比总览

维度 OpenClaw HermesAgent
设计理念 插件化记忆后端 内建多层记忆
核心存储 SQLite + 多后端扩展 SQLite(FTS5)
向量搜索 LanceDB(内置扩展) 无(FTS5关键词+LLM摘要)
用户建模 无显式建模 Honcho辩证建模
Agent策展 Agent自主决定
上下文管理 自动管理 自动压缩 + Anthropic缓存
技能作为记忆 从经验提取技能
记忆SDK memory-host-sdk 无独立SDK

三、OpenClaw 的记忆系统

3.1 架构设计

OpenClaw 采用插件化记忆后端的设计,记忆系统通过扩展插件实现

┌────────────────────────────────────────┐
        Agent Engine                 
                                     
┌────────────────────────────────┐ ┌──┐
│    memory-host-sdk            │ │  │
│ (记忆系统统一接口)              │ │  │
└──────────┬─────────────────────┘ │  │
           │                       │
───────────┴── Plugin Interface ─  │
           │                       │
┌──────────▼─────────────────────┐ │
│ memory-core (118 文件)         │ │
│ 核心记忆引擎                    │ │
└──────────┬─────────────────────┘ │
           │                       │
┌──────────▼──────────┐           │
│memory-wiki (62 文件) │           │
│Wiki 风格知识库      │           │
└──────────────────────┘           │
┌──────────────────────┐           │
│memory-lancedb       │           │
│LanceDB 向量存储     │           │
└──────────────────────┘           │
└──────────────────────────────────┘

3.2 三层记忆架构

1. 短期记忆(Session Memory)

  • 当前对话的上下文
  • 存储在内存中
  • 会话结束即清除

2. 长期记忆(Long-term Memory)

  • 通过memory-core插件实现
  • 持久化到SQLite
  • 支持多后端存储

3. 知识库(Wiki Memory)

  • memory-wiki插件
  • 类似Notion的结构化知识库
  • 支持标签、分类、链接

3.3 向量搜索

memory-lancedb扩展提供了基于LanceDB的向量搜索能力

优势:语义搜索准确度高,能理解意思相近的查询
代价:需要额外的LanceDB依赖+Embedding模型

3.4 Memory Host SDK

OpenClaw提供了独立的memory-host-sdk(6文件),允许外部程序读写Agent的记忆


四、HermesAgent 的记忆系统

4.1 五层架构

L5: 技能记忆     - 从经验提取的可复用技能
L4: 用户建模     - Honcho辩证用户建模
L3: Agent策展    - Agent自主决定保存的知识
L2: 会话搜索     - FTS5全文搜索 + LLM摘要
L1: 会话记忆     - SQLite原始对话记录

4.2 核心差异:Agent策展

HermesAgent最独特的设计是Agent策展记忆(Agent-Curated Memory)

  • OpenClaw:记忆的创建和管理遵循预设规则
  • HermesAgent:Agent自己决定什么值得记住

4.3 混合搜索策略

HermesAgent不使用向量数据库,而是采用FTS5 + LLM摘要的混合策略

方案 依赖 语义理解 部署复杂度
纯向量搜索 LanceDB/FAISS
纯关键词搜索 SQLite FTS5
FTS5 + LLM SQLite + LLM API 中高

五、深度对比分析

5.1 记忆创建方式

维度 OpenClaw HermesAgent
谁创建记忆 系统(规则驱动) Agent(自主策展)
创建时机 对话过程中自动 Nudge触发 + 任务完成后
创建内容 原始对话 + 元数据 提炼后的结构化知识
人工干预 配置规则 编辑Markdown文件

5.2 记忆检索方式

维度 OpenClaw HermesAgent
检索技术 向量搜索(LanceDB) FTS5全文搜索 + LLM摘要
语义理解 依赖Embedding向量匹配 依赖LLM生成摘要
速度 快(向量索引) 中等(LLM推理有延迟)
额外依赖 LanceDB 无(SQLite内置)
离线能力 ❌(需要Embedding模型) 部分(FTS5可离线)

5.3 用户建模

维度 OpenClaw HermesAgent
是否有用户建模 ❌无显式建模 ✅Honcho辩证建模
建模方式 - Thesis → Antithesis → Synthesis
更新策略 - 每次对话自动更新
建模深度 - 深入(偏好、习惯、风格)

5.4 技能作为记忆

维度 OpenClaw HermesAgent
技能系统 ❌无 ✅agentskills.io标准
从经验创建技能 ❌无 ✅闭环学习
技能可编辑 - ✅Markdown格式
技能可共享 - ✅Skills Hub

5.5 记忆的可访问性

维度 OpenClaw HermesAgent
外部访问 ✅memory-host-sdk ❌Agent内部
人类可读 部分可读 ✅Markdown + SQLite
人工编辑 通过SDK 直接编辑文件
API接口 ✅有 ❌无

六、不同场景的推荐

场景一:个人AI助手

推荐:HermesAgent的方法

个人助手最需要的是"越用越懂你"。Agent策展+用户建模+闭环学习,让助手能持续进化

场景二:企业知识管理

推荐:OpenClaw的方法

企业场景需要记忆被多个系统共享。memory-host-sdk + Wiki风格知识库 + 向量搜索,更适合多用户协作

场景三:AI数字分身(Avagent)

推荐:HermesAgent的核心 + OpenClaw的可访问性

  • ✅从HermesAgent借鉴:五层记忆架构、Agent策展、用户建模
  • ✅从OpenClaw借鉴:memory-host-sdk的外部可访问性设计
  • 升级方向:后期增加向量搜索,替换FTS5

七、Avagent记忆系统的设计建议

基于两个项目的分析,Avagent的记忆系统可以这样设计

┌─────────────────────────────────────┐
        Avagent 记忆系统             
                                   
┌─────────────┐ ┌──────────────┐   │
│SQLite FTS5 │ │向量搜索引擎  │   │
│(关键词搜索)│ │(语义搜索)   │   │
└──────┬──────┘ └──────┬───────┘   │
       └──────┬──────────┘        │
              │混合排序            │
       ┌──────▼──────┐           │
       │记忆检索引擎 │           │
       └──────┬──────┘           │
              │                   │
┌─────────────┼─────────────┐    │
│            │            │    │
│会话记忆    Agent策展记忆    用户画像 │
│(SQLite)    (Markdown)     (结构化)  │
│                                 │
┌──────────────────────────┐   │
│   技能记忆(agentskills) │   │
└──────────────────────────┘   │
│                                 │
│ ┌──────────────────────────┐  │
│ │   Memory API (HTTP/SDK)  │  │
│ └──────────────────────────┘  │
└─────────────────────────────────┘

设计原则

  1. 初期:FTS5 + LLM摘要(零额外依赖)
  2. Agent策展记忆(自主决定记住什么)
  3. 深度用户建模(偏好、习惯、风格、思维模式)
  4. 技能从经验中提取(闭环学习)
  5. 提供Memory API(让外部系统可访问)
  6. 后期增加向量搜索(升级而非替换)

八、小结

记忆系统是AI Agent的"灵魂"所在。两个项目展示了不同的设计哲学

  • OpenClaw:工程化的插件架构,通过可插拔的后端+SDK实现灵活的记忆管理
  • HermesAgent:以Agent为中心的策展机制,让Agent自己决定"记住什么"

对于"AI数字分身"场景,HermesAgent的Agent策展+用户建模更贴合需求,但OpenClaw的memory-host-sdk提供了更好的可访问性。两者的融合才是最优解


系列导航

前置阅读


*本文基于OpenClaw (2026.4.16) 与HermesAgent (v0.10.0) 源码分析

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐