OpenClaw vs HermesAgent 深度专题(六):HermesAgent 自我学习进化系统 — AI Agent 如何从经验中“越用越强“
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(磁盘) → 不影响当前会话
下次会话 → 加载更新后的记忆 → 新的冻结快照
这个设计同时实现了两个目标:
- 会话内一致性——当前对话不会因为新记忆"漂移"
- 跨会话进化——下次对话能使用更新后的知识
安全机制:
- 所有记忆条目经过 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):
skills_list→ 仅返回元数据(name + description),节省 tokenskill_view→ 按需加载完整 SKILL.md- 支持引用文件(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):
- FTS5 搜索匹配历史消息
- 按会话分组,每会话截取 ~100k 字符
- 发送给 Gemini Flash 做聚焦摘要(10000 token 上限)
- 返回每会话摘要 + 元数据
与 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(架构级,必须借鉴)
-
记忆策展 + 冻结快照模式
- Agent 自主决定什么值得记住,而非硬编码规则
- 会话内冻结、会话间更新,保证一致性
-
技能作为程序性记忆
- 将成功经验自动转化为可复用技能
- 技能 = “知道怎么做”(过程性)vs 记忆 = “知道是什么”(事实性)
-
插件式记忆提供者架构
- 内置基础 + 外部扩展,单一集成点
🎯 P1(差异化,应该借鉴)
- 双向用户建模 — AI 不仅理解用户,还建立自我表征
- 信任评分系统 — 知识有可信度,被验证的知识优先使用
- 渐进式披露 — 系统只加载元数据,按需加载详情
🎯 P2(超越,应该做得更好)
- 智能遗忘机制(HermesAgent 缺失):基于频率 + 时效性 + 信任评分的自动衰减
- 记忆冲突检测与解决(HermesAgent 缺失):矛盾信息主动裁决 + 修正历史
- 多租户用户建模(HermesAgent 缺失):多用户隔离 + 群体画像
- 技能版本管理与市场(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) 源码分析
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)