OpenClaw vs HermesAgent 深度专题(六):HermesAgent 自我学习进化系统 — AI Agent 如何从经验中"越用越强"

系列导读:前五篇我们对比了OpenClaw 与HermesAgent 在记忆、安全、通道、插件、本地控制五大维度的差异。本篇聚焦一篇HermesAgent 独有的核心能力——自我学习进化系统。这是HermesAgent 区别于所有其他开源Agent 框架的最大差异化壁垒

上一篇本地计算机调用与控制能力专题


一、为什么自我学习是Agent的终极命题?

绝大多数 AI Agent 框架中,"智能"是静态的——上线时什么样,下线时还是什么样。用户用得再多,Agent也不会变得更聪明

传统 Agent: 用户 → 调用 → 结果        (每次从零开始)
                                       
HermesAgent:用户 → 调用 → 结果 → 学习   (越用越强)
                    ↓        ↓
                    └────────┘  闭环

HermesAgent 是目前唯一内置学习闭环的开源AI Agent。"自我进化"不是营销口号,而是深入到架构层面的设计

注意:OpenClaw 没有对等的自我学习机制,因此本篇是一篇HermesAgent 深度专题而非对比分析


二、六层协同进化架构

HermesAgent 的自我学习进化不是单一模块,而是一套六层协同架构

┌───────────────────────────────────────────────────────────────?
│                  用户交互层                                   │
│        CLI / Gateway / Telegram / Discord                    │
└──────────────────────┬──────────────────────────────────────┘
                        │
┌──────────────────────▼──────────────────────────────────────┐
│              Agent 核心循环                                   │
│       ReAct 推理 → 工具调用 → 结果观察                        │
└──────┬───────────┬───────────┬───────────┬──────────────────┘
       │           │           │           │
┌──────▼──────┐┌──▼────┐┌────▼──────┐┌─▼──────────────────────┐
│①Nudge      ││②记忆  ││③ 技能    ││④Honcho                │
│  触发      ││ 策展  ││  自创建   ││  用户建模             │
│(学习触发)  ││(知识) ││(程序性记忆)││ (个性化进化)          │
└──────┬──────┘└──┬────┘└────┬──────┘└────┬───────────────────┘
       │          │          │             │
┌──────▼───────────▼───────────▼──────────────▼─────────────────┐
│                检索与召回层                                   │
│   FTS5 全文搜索 + HRR 向量 + 语义搜索                         │
└──────────────────────┬───────────────────────────────────────┘
                        │
┌──────────────────────▼───────────────────────────────────────┐
│              RL 训练与研究层                                  │
│   轨迹收集 → 压缩 → 奖励模型 → 模型微调                       │
└──────────────────────────────────────────────────────────────┘

核心思想:Agent 不是被动接受指令的执行器,而是主动积累经验、提炼知识、进化能力的"数字生命"


三、逐层拆解

3.1 Nudge 触发:“学习闹钟”

设计理念:不主动打断用户,通过定时计数器温和提醒Agent 反思

三种 Nudge 机制run_agent.py):

Nudge 类型 触发条件 默认间隔 执行方式
记忆 nudge 对话轮次计数 10 轮用户对话 后台 review agent 异步执行
技能 nudge 工具迭代计数 10 轮工具调用 Agent 循环内检查
空响 nudge API 返回空内容 即时 最多重试 3 次

关键设计决策

  • v0.4.0 重大变更:从"内联注入 prompt"改为"后台审查"——不再污染主对话
  • 双轨计数分别针对记忆技能,精细化管理
  • 可配置间隔,用户可调或关闭

优势:不打断用户体验(异步后台执行),双轨计数精细化管理
劣势:仅基于计数器,不考虑任务复杂度或结果质量;关闭后学习循环完全断裂


3.2 记忆策展:Agent 自主决定"记住什么"

三层存储架构

MemoryManager
├── BuiltinMemoryProvider(内置,始终启用)
│   ├── MEMORY.md → Agent 长期笔记(声明性知识)
│   ├── USER.md → 用户画像信息
│   └── SOUL.md → AI 身份定义
│
└── ExternalMemoryProvider(最多 1 个外部提供者)
    ├── Honcho → AI 原生用户建模(推荐)
    ├── Holographic → SQLite + HRR 向量事实存储
    ├── ByteRover → 层级上下文树
    └── Mem0 → 向量记忆(第三方)

冻结快照机制(关键设计):

会话开始  →  MEMORY.md 注入 system prompt → 冻结
                                        
会话结束  →  Agent 写入 MEMORY.md(磁盘) → 不影响当前会话
                                        
下次会话  →  加载更新后的记忆 → 新的冻结快照

这个设计同时实现了两个目标:

  1. 会话内一致性——当前对话不会因为新记忆"漂移"
  2. 跨会话进化——下次对话能使用更新后的知识

安全机制

  • 所有记忆条目经过 7 类*威胁扫描**(prompt injection、credential exposure、SSH backdoor 等)
  • 条目分隔符用 § 而非换行,防止跨条目注入
  • 字符限制而非 token 限制,模型无关

优势:Agent 自主策展非硬编码、冻结快照保护一致性、插件式可热替换
劣势:最多 1 个外部提供者、无主动遗忘、无记忆冲突解决


3.3 技能自创建:将经验转化为"程序性记忆"

核心设计哲学

技能是 Agent 的程序性记忆——窄且可执行;通用记忆(MEMORY.md)是声明性记忆——宽且陈述性

任务执行成功 → Nudge 触发 → Agent 判断"值得复用"
                                
                    ┌───────────┼─────────────?
                    │                       │
            创建新技能               改进已有技能
         (skill_manage create)     (skill_manage edit/patch)
                    │                       │
                    │                       │
          原子写入 SKILL.md          find-replace 更新
                    │                       │
                    │                       │
        安全扫描 (skills_guard)    安全扫描
                    │
                    │
        ~/.hermes/skills/{category}/{name}/
        ├── SKILL.md          # 核心指令文件
        ├── references/       # 参考文件
        ├── templates/        # 模板文件
        ├── scripts/          # 自动化脚本
        └── assets/           # 资源文件

渐进式披露架构(Progressive Disclosure):

  1. skills_list → 仅返回元数据(name + description),节省 token
  2. skill_view → 按需加载完整 SKILL.md
  3. 支持引用文件(references/templates/scripts)

与 OpenClaw 的扩展体系对比

维度 OpenClaw 插件 HermesAgent 技能
创建门槛 manifest.json + SDK + TypeScript 一篇 Markdown 文件
谁来创建 开发者 Agent 自己
版本管理 语义化版本 覆盖式编辑
安全扫描 Manifest 签名 skills_guard 7 类检查
分发渠道 npm 发布 Skills Hub
本质 开发者扩展能力 Agent 积累经验

优势:技能是可复用的程序性知识、安全扫描完善、渐进式披露 token、兼容 agentskills.io 开放标准
劣势:质量完全依赖 LLM 判断、无技能间依赖管理、无版本管理、被动发现


3.4 Honcho 用户建模:"认识你"的深度进化

这是 HermesAgent 最独特的差异化能力,也是"数字分身"叙事的核心技术支撑

双向观察模式

     用户 ← 观察 → AI        AI ← 观察 → 用户
          (用户画像)              (AI 自我表征)
                └────── Honcho ───────┘
                │
        peer_card (user)        peer_card (ai)
        + 辩证推理               + 自我认知

五个建模工具

工具 LLM 调用 延迟 用途
honcho_profile 极快 读写 peer card(关键事实快照)
honcho_search 语义搜索历史上下文
honcho_context 获取完整会话上下文
honcho_reasoning 中等 多层次辩证推理
honcho_conclude 中等 写入持久化结论

辩证推理深度控制

深度 行为 适用场景
1 单次 .chat() 简单事实查询
2 自审 + 针对性综合 多方面问题
3 自审 + 综合 + 矛盾调和 复杂行为分析

双层上下文注入

  • Layer 1(基础):Session Summary + User Representation + Peer Card,每 N 轮刷新
  • Layer 2(辩证补充):多次 .chat() 推理,按需触发

优势:双向观察、辩证推理分析矛盾发现模式、分层控制推理成本、持久结论跨会话保留
劣势:强依赖 Honcho 外部服务、API 额外成本、冷启动问题、仅面向单用户


3.5 检索与召回:“想起来了”

三路并行检索架构

用户查询
    │
    ├──① FTS5 全文搜索(hermes_state.py)
    │    ├── SQLite messages_fts 虚拟表
    │    ├── 所有历史会话消息
    │    └── 关键词精确匹配
    │
    ├──② HRR 向量搜索(plugins/memory/holographic/store.py)
    │    ├── 全息简化表示(HRR)向量
    │    ├── facts + trust_score 加权
    │    └── 组合代数查询(memory_banks)
    │
    └──③ Honcho 语义搜索
          ├── 不使用 LLM(快速)
          └── 上下文片段返回

Holographic 记忆的信任评分系统

新事件   trust_score = 0.5(默认)
被引用且 helpful: trust_score += 0.05
被引用但 unhelpful: trust_score -= 0.10
范围: [0.0, 1.0]
排序: FTS5 rank × trust_score

FTS5 + LLM 摘要流程tools/session_search_tool.py):

  1. FTS5 搜索匹配历史消息
  2. 按会话分组,每会话截取 ~100k 字符
  3. 发送给 Gemini Flash 做聚焦摘要(10000 token 上限)
  4. 返回每会话摘要 + 元数据

与 OpenClaw 的检索对比(本系列第一篇详细分析):

维度 OpenClaw HermesAgent
向量搜索 LanceDB(专业) HRR(简化表示)
全文搜索 FTS5 + LLM 摘要
语义理解 ❌Embedding 向量 ⚠️ LLM 摘要(有损)
信任评分 ❌ help/unhelp 反馈
额外依赖 LanceDB 无(SQLite 内置)

优势:FTS5 轻量无额外依赖、信任评分、HRR 组合代数查询
劣势:FTS5 无语义理解、三路检索无融合排序、摘要可能丢失关键细节


3.6 RL 训练与研究层:“从经验中进化”

完整的强化学习工具链

┌───────────────?   ┌───────────────?   ┌───────────────?   ┌───────────────?
│  轨迹收集     │ ? │  轨迹压缩     │ ? │  奖励计算     │ ? │  模型微调     │
│batch_runner  │   │compressor   │   │compute_     │   │Tinker-       │
│              │   │             │   │reward       │   │Atropos      │
└──────────────┘   └──────────────┘   └──────────────┘   └──────────────┘

轨迹压缩策略trajectory_compressor.py):

  • 保护首轮系统消息、用户消息、助手回复、工具调用
  • 保护最后 4 轮(保留结论)
  • 中间轮次用 Gemini Flash 生成摘要替换
  • 目标:压缩到 ~15,250 token 左右

多信号奖励函数environments/web_research_env.py):

reward = (
    0.7 * correctness      # LLM judge 评判答案正确性(0.0-1.0)
  + 0.1 * source_diversity # 多不同域名来源加分
  + 0.1 * tool_usage       # 是否实际使用 web 工具
  - efficiency_penalty     # 超过合理调用次数的惩罚
)

优势:端到端闭环、多信号奖励考虑效率和质量、轨迹压缩降低训练成本、WandB 生产级监控
劣势:训练门槛极高(GPU + API key)、奖励模型脆弱、仅 Web Research 环境可用、离线训练非实时学习


四、系统级优劣势总结

核心优势

# 优势 战略价值
1 唯一内置学习闭环的开源Agent 差异化壁垒,"自我进化"是架构而非口号
2 技能作为程序性记忆 将经验转化为可复用知识,越用越强
3 Honcho 双向用户建模 深度个性化,真正"认识"用户
4 插件式记忆架构 灵活可扩展,不锁定单一后端
5 生产级安全机制 威胁扫描 + 原子写入 + 路径安全
6 完整 RL 工具链 "用经验训练自己"的角度,业界领先
7 渐进式披露设计 控制系统 prompt 体积,降低 token 成本
8 冻结快照 + prefix cache 会话内记忆一致性与 token 效率兼顾

核心劣势

# 劣势 严重程度 根因
1 无主动遗忘机制 🔴 高 记忆只增不减,噪声随时间积累
2 无记忆冲突解决 🔴 高 矛盾信息无法自动调和
3 单外部记忆提供者限制 🟡 中 架构选择避免 schema 膨胀
4 Nudge 仅基于计数器 🟡 中 不考虑任务价值/复杂度
5 RL 训练门槛过高 🟡 中 GPU + API key + 专业知识
6 FTS5 无语义理解 🟡 中 关键词匹配无法处理同义词
7 技能无版本管理 🟠 低 覆盖式编辑无法回退
8 仅面向单用户 🟡 中 B 端多用户场景缺乏隔离和共享

五、与 Avagent 数字分身的对标分析

HermesAgent 的进化模式 vs 数字分身的需要

维度 HermesAgent 现状 数字分身需要 差距
用户建模 单用户深度建模 多用户隔离 + 跨用户洞察 🔴 需要多租户架构
学习触发 被动计数器 主动价值评估 + 被动兜底 🔴 需要智能触发器
记忆管理 只增不减 遗忘 + 冲突解决 🔴 需要记忆生命周期
技能系统 被动创建 + 覆盖编辑 版本管理 + 技能市场 + A/B 🟡 需要版本管理
检索 FTS5 + HRR 向量 embedding + 语义 + 知识图谱 🟡 需要专业 embedding
个性化 Honcho API(外部) 内置 + 轻量 + 可离线 🟡 需要内置化
训练 离线 RL 在线微调 + 持续学习 🟡 长期目标
安全 威胁扫描 + 路径安全 企业级 RBAC + 审计 🟡 需要增强

六、对 Avagent 的核心借鉴建议

🎯 P0(架构级,必须借鉴)

  1. 记忆策展 + 冻结快照模式

    • Agent 自主决定什么值得记住,而非硬编码规则
    • 会话内冻结、会话间更新,保证一致性
  2. 技能作为程序性记忆

    • 将成功经验自动转化为可复用技能
    • 技能 = “知道怎么做”(过程性)vs 记忆 = “知道是什么”(事实性)
  3. 插件式记忆提供者架构

    • 内置基础 + 外部扩展,单一集成点

🎯 P1(差异化,应该借鉴)

  1. 双向用户建模 — AI 不仅理解用户,还建立自我表征
  2. 信任评分系统 — 知识有可信度,被验证的知识优先使用
  3. 渐进式披露 — 系统只加载元数据,按需加载详情

🎯 P2(超越,应该做得更好)

  1. 智能遗忘机制(HermesAgent 缺失):基于频率 + 时效性 + 信任评分的自动衰减
  2. 记忆冲突检测与解决(HermesAgent 缺失):矛盾信息主动裁决 + 修正历史
  3. 多租户用户建模(HermesAgent 缺失):多用户隔离 + 群体画像
  4. 技能版本管理与市场(HermesAgent 缺失):Git 风格版本控制 + 社区分享

七、全系列总结

经过六篇深度分析(五篇对比 + 一篇专题),我们对两个顶级开源 AI Agent 项目有了全面认识

专题 胜出者 核心原因
记忆系统 HermesAgent Agent 策展 + 五层架构 + 用户建模
安全架构 OpenClaw 零信任 + SSRF 防护 + 插件隔离
多通道能力 OpenClaw 20+ 通道 + 分布式 Gateway
技能插件 平局 OpenClaw 胜工程化,HermesAgent 胜易用性
本地控制 HermesAgent 6 种后端 + 最广能力覆盖
自我进化 HermesAgent(独有) 六层闭环学习架构,业界唯一

最终的启示

最好的 AI Agent 框架应该融合两者的优势——OpenClaw 的工程化安全和通道覆盖 + HermesAgent 的学习闭环和灵活控制。HermesAgent "只学不忘"和"单用户思维"的短板,正是 Avagent 作为"AI 数字分身"产品弯道超车的机会


系列导航

延伸阅读


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

Logo

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

更多推荐