核心定位:Hermes Agent = 自我进化的 AI Agent 框架(Self-Evolving Agent Framework),
一个给 AI 装上自我进化、持续学习神经系统的框架。
它不追求确定性控制,而是追求适应性、进化性和"越用越聪明"。


文章目录

一、设计哲学:Agent 优先,进化第一

Hermes 遵循两条底层信念:

信念 含义
Agent 优先(Agent-First) 框架的编排层服务于 Agent 的"自我改进循环",而非约束它
进化第一(Evolution-First) 技能不是人写的,是 Agent 从经验中长出来的;记忆不是手动维护的,是 Agent 自己管理的

Hermes 问的是:如何给 AI 装上一套自我进化、持续学习的神经系统?

答案是一个不断从实验中总结经验的研究实验室——你只管提需求,技能匹配、记忆分类、上下文压缩,全都在阴影里完成。它的野心不是让你觉得它好用,而是让它在不知不觉中自己越变越好。


二、与 OpenClaw 的根本分野

OpenClaw(骨架)                          Hermes(神经系统)
┌──────────────────┐                    ┌──────────────────┐
│  网关优先         │                    │  Agent 优先       │
│  确定性编排       │                    │  自主性学习       │
│  强调控制与可预测 │                    │  强调进化与适应性  │
│                  │                    │                  │
│  问:如何套缰绳? │                    │  问:如何装神经?  │
│                  │                    │                  │
│  技能:人工编写   │                    │  技能:自动生长   │
│  记忆:结构化配置 │                    │  记忆:Agent 自管 │
│  进化:无        │                    │  进化:GEPA 引擎  │
│                  │                    │                  │
│  → 7×24 稳定数字员工│                   │  → 越用越聪明的同事│
└──────────────────┘                    └──────────────────┘

三、七层架构全景

┌─────────────────────────────────────────────────────────┐
│                  交互层(Channels)                       │
│    Telegram / Discord / Slack / WhatsApp / Signal / CLI   │
├─────────────────────────────────────────────────────────┤
│                  网关层(Gateway)                        │
│       消息路由 / 单进程多渠道 / 统一记忆 / 统一人格       │
├─────────────────────────────────────────────────────────┤
│               核心编排层(Agent Loop)                    │
│   同步推理引擎 / 工具执行 / 技能创建 / 自我评估 / 反思    │
├─────────────────────────────────────────────────────────┤
│               闭环学习层(Closed Learning Loop)          │
│   Agent-Curated Memory / Skill Auto-Create / FTS5 Recall │
│   Honcho User Modeling / Periodic Nudges / Curator       │
├─────────────────────────────────────────────────────────┤
│               进化引擎层(GEPA Engine)                   │
│   反思性变异 / 帕累托前沿选择 / 自然语言反馈 / 人类审查   │
├─────────────────────────────────────────────────────────┤
│               持久化层(Persistence)                     │
│  SQLite + FTS5 / MEMORY.md / USER.md / sessions/ skills/ │
├─────────────────────────────────────────────────────────┤
│               执行沙箱层(6 Terminal Backends)           │
│  local / docker / ssh / daytona / modal / singularity     │
└─────────────────────────────────────────────────────────┘

四、逐层详解

4.1 交互层——多渠道统一接入

与 OpenClaw 的关键区别:Hermes 原生支持 Signal(隐私优先),OpenClaw 不支持。

Telegram  ──┐
Discord   ──┤
Slack     ──┤
WhatsApp  ──┼──→ Gateway ──→ Agent Loop
Signal    ──┤    (单进程多渠道)
CLI/TUI   ──┘

跨平台上下文保持:在一个通道上开始对话,在另一个通道上继续——Hermes 跨平台保持上下文。

CLI 特色:文本用户界面(TUI),支持多行编辑、自动补全、对话历史,且能在 Agent 执行过程中中断或重定向。


4.2 网关层——轻量路由

Hermes 的 Gateway 比 OpenClaw 轻得多。OpenClaw 的 Gateway 是"大脑和交通警察",Hermes 的 Gateway 只做消息路由。

OpenClaw Gateway:                Hermes Gateway:
┌─────────────────────┐          ┌──────────────────┐
│ 会话管理             │          │ 消息路由           │
│ 实例发现             │          │ 单进程多渠道       │
│ IM 通道连接          │          │ 统一记忆           │
│ 沙盒接入             │          │ 统一人格           │
│ 策略引擎             │          │                   │
│ 速率限制             │          │ 核心逻辑在 Agent   │
│ 状态管理             │          │ Loop 中,不在 Gateway│
│ 工具注入             │          │                   │
│                      │          │                   │
│ → 重网关,轻Agent    │          │ → 轻网关,重Agent  │
└─────────────────────┘          └──────────────────┘

4.3 核心编排层——Agent Loop

这是 Hermes 架构的核心,也是与 OpenClaw 最本质的区别。

Agent Loop vs OpenClaw Pipeline
OpenClaw(流水线式):
  Ingestion → Access Control → Context Assembly → Model → Tool → Response
  (6 阶段流水线,Gateway 主导,Agent 是执行器)

Hermes(循环式):
  用户消息 → Prompt 组装 → 上下文检查 → LLM 调用 → Tool 执行 → 结果注入 → 循环
  (ReAct 循环,Agent 主导,Gateway 只是信使)
Turn Lifecycle(每轮执行循环)
1. 用户消息注入
      ↓
2. Prompt 组装
   ├── 加载 MEMORY.md 冻结快照
   ├── 加载 USER.md 冻结快照
   ├── 加载 Skill 摘要(渐进式,先 Tier 0)
   └── 应用 prompt cache
      ↓
3. 上下文检查 → 必要时预压缩
      ↓
4. LLM 调用(支持 reasoning 字段)
      ↓
5. Tool calls 执行(pre/post hooks)
      ↓
6. 结果注入 → 循环直到最终响应
      ↓
7. Post-Execution:
   ├── 保存会话
   ├── flush memory
   └── 触发背景学习(核心差异!)
学习闭环的精确触发点
触发条件(满足任一即触发):
  ├── Tool call ≥ 5 次(复杂任务)
  ├── 出错后自动恢复(自我纠错)
  ├── 用户纠正 Agent 输出
  └── 非显而易见的工作流

触发后:
  后台进程总结执行轨迹(trajectory)
  → 生成/更新 SKILL.md
  → 完全静默,用户无需操作
迭代预算
Hermes:默认 20 轮(可配置)
  → 更大的预算允许 Agent 探索更复杂的任务路径
  → 更多轮次 = 更多学习机会 = 更多技能沉淀

OpenClaw:同样有 Agent Loop 上限
  → 但没有学习闭环嵌入
  → 多出来的轮次只是"更多执行",不是"更多学习"

4.4 闭环学习层——Closed Learning Loop(灵魂核心)

这是 Hermes 区别于所有其他 Agent 框架的根本所在。

“A closed learning loop — Agent-curated memory with periodic nudges.
Autonomous skill creation after complex tasks.
Skills self-improve during use.
FTS5 session search with LLM summarization for cross-session recall.
Honcho dialectic user modeling.”

五步核心循环
┌─────────────────────────────────────────────────────────┐
│                                                           │
│   ① 执行(Execute)                                      │
│      完成任务,记录完整执行轨迹(trajectory)              │
│              ↓                                            │
│   ② 评估(Evaluate)                                     │
│      任务结束时自动反思(后台触发)                        │
│              ↓                                            │
│   ③ 提炼(Distill)                                      │
│      自主创建/更新 SKILL.md + Memory nudge                │
│              ↓                                            │
│   ④ 检索(Recall)                                       │
│      下次任务时 FTS5 搜索 + LLM 总结历史                  │
│              ↓                                            │
│   ⑤ 优化(Optimize)                                     │
│      Skill 自改进 + Curator 周期性剪枝                   │
│              ↓                                            │
│   回到 ① ——正反馈循环                                    │
│                                                           │
└─────────────────────────────────────────────────────────┘
四大核心组件
组件 1:Agent-Curated Memory(Agent 自主管理的持久记忆)
两大文件:
┌──────────────────────────────────────────────┐
│ MEMORY.md                                     │
│ 项目/环境事实、规则、教训                       │
│ 上限:约 2200 字符 / 800 tokens                │
│ 存储位置:~/.hermes/memories/                  │
│                                                │
│ → Agent 通过 memory tool(add/replace/remove)│
│   自己写、删、合并                              │
│ → 容量接近上限时必须先 curation 才能新增        │
│ → 每次会话开始以冻结快照注入 system prompt      │
│   (中途修改不影响当前会话)                     │
└──────────────────────────────────────────────┘

┌──────────────────────────────────────────────┐
│ USER.md                                       │
│ 你的偏好、风格、背景                           │
│ 上限:约 1375 字符 / 500 tokens                │
│                                                │
│ → 跨会话保持用户画像一致性                     │
│ → 与 Honcho 建模协同,越用越懂你              │
└──────────────────────────────────────────────┘

周期性 Nudges:任务中或结束后,Agent 收到内部 Prompt——

“最近学到什么值得永久记住?”

→ Agent 主动判断并持久化。这是自发的,不需要用户说"记住这个"。

组件 2:Autonomous Skill Creation & Self-Improvement(自主技能创建与自改进)
触发条件:
  ├── 复杂任务(≥5 次 tool call)
  ├── 出错恢复
  ├── 用户纠正
  └── 非显而易见的工作流

存储格式:
  ~/.hermes/skills/<category>/<skill-name>/SKILL.md
  YAML frontmatter + Markdown 步骤
  遵循 agentskills.io 标准

自改进机制:
  ├── 每次调用记录 bump_use() 使用计数
  ├── 支持 patch(增量修改)而非全量重写
  └── v0.12 Curator(2026.4.30 新增):
      每 7 天后台运行
      → 评分、合并、剪枝低效 Skill
      → 自动重写更优版本

Progressive Disclosure(渐进式披露)——关键设计

Tier 0(目录卡片):
  只加载 Skill 名称和描述
  约 3000 tokens 总量
  → 注入系统提示词
  → 判断方向是否匹配

Tier 1(书架取书):
  方向对了 → 展开完整 SKILL.md 内容
  → Agent 开始使用该技能

Tier 2(深入参考):
  需要更多细节 → 加载补充说明
  → 完整的步骤、注意事项、边界条件

效果:即使 200 个 Skill,上下文成本仍接近 40 个
组件 3:FTS5 Cross-Session Recall(跨会话全文检索 + LLM 总结)
存储:全部历史对话存入 SQLite(~/.hermes/state.db)
      启用 FTS5 全文索引

检索流程:
  需要时查询
  → FTS5 全文搜索匹配相关片段
  → LLM(通常轻量模型)总结相关片段
  → 注入当前上下文

与闭环结合:
  episodic memory(发生了什么)── 情景记忆
  procedural memory(怎么做)   ── 程序性记忆(Skill)
  → 两类记忆分离,避免混淆

作用:让 Agent "记得过去所有对话",但只注入必要部分
组件 4:Honcho Dialectic User Modeling(辩证用户建模)
可选插件(hermes memory setup 开启)

核心机制:
  辩证式建模方法
  → 同时建模用户和 Agent 之间的关系
  → 覆盖 12 个身份维度

  维度包括:
  ├── 偏好(编码风格、沟通方式)
  ├── 决策风格(激进/保守/折中)
  ├── 技术水平(初学/中级/专家)
  ├── 工作习惯(早鸟/夜猫/碎片化)
  ├── 信息密度偏好(简洁/详细)
  ├── 幽默感偏好
  ├── ...等

与其他层协同:
  → 让 Skill 更个性化(不只是"怎么做",而是"按你的方式做")
  → 让 Memory 更精准(记住对你重要的事)

v0.7.0 变化:
  Honcho 从唯一高级记忆后端降级为可插拔后端之一
  与 MEM0、ByteRover 等 6 个第三方服务平起平坐
  默认兜底:纯文件 + 全文检索
  → 先行者在撞上社区真实投诉后的战略让步
四大组件如何闭合
记忆(事实层)
  "这个项目用 Python 3.12,测试框架是 pytest"
      ↓ 提炼
技能(流程层)
  "遇到 pytest 报错 → 先看 conftest.py → 再检查 fixtures → 最后看 import"
      ↓ 检索
下次任务:FTS5 搜到历史 + Skill 匹配
      ↓ 优化
Skill 自改进 + Curator 剪枝 + 记忆更新
      ↓
正反馈循环:用得越多 → 提炼越多 → 检索越准 → 改进越快

4.5 进化引擎层——GEPA(Genetic-Pareto Prompt Evolution)

Hermes 的"杀手锏",也是社区最被吹捧的硬核差异。

GEPA 的学术来源
论文:Lakshya Agrawal 等人,ICLR 2026 Oral
标题:《反思性提示词进化可以跑赢强化学习》
(Reflective Prompt Evolution Can Outperform Reinforcement Learning)

独立仓库:NousResearch/hermes-agent-self-evolution
框架:DSPy
核心算法:GEPA
为什么不走 RL 路线?
主流方案(SkillRL / SAGE):
  强化学习 → 梯度更新 → 强化技能库
  问题:
  ├── 数值 reward 颗粒度太粗(跑了得 0.6 分,不知道哪里对哪里错)
  ├── 需要上万次评估才能收敛
  └── 训练成本高

GEPA 的对立路线:
  刻意抛弃强化学习
  → 不用梯度更新
  → 靠大模型的反思能力 + 进化算法
  → 论文证明:不仅跑赢 RL,样本利用效率还更高
GEPA 三大底座
底座 1:反思性变异(Reflective Mutation)
不是瞎猜式的随机变异!

流程:
  1. 读取之前的执行轨迹(trace)
  2. LLM 反思:
     "这次为什么做对了?"
     "这次为什么做错了?"
     "提示词到底该改哪几个字?"
  3. 基于反思生成候选变体

vs 传统随机变异:
  传统:随机改几个字 → 跑评估 → 留高分
  GEPA:先想清楚改什么 → 针对性修改 → 跑评估
  → 变异质量高得多,收敛快得多
底座 2:帕累托前沿选择(Pareto Frontier Selection)
生成了一批候选技能后,怎么选?

传统方法:一刀切,只留全局均分最高的
  问题:丢失多样性,可能在边缘场景表现差

GEPA 方法:帕累托前沿
  只要某个候选在哪怕一个评估样本上表现最强
  → 它就会被保留下来

  示例:
  候选 A:平均 85 分,最高 90
  候选 B:平均 78 分,但某个边界 case 得分 95
  候选 C:平均 82 分,内存占用最低

  → A、B、C 都保留(各有所长)
  → 保证技能探索的多样性和鲁棒性
底座 3:自然语言反馈作为变异信号
传统 RL:
  reward = 0.6  ← 一个浮点数
  → 你根本不知道是哪里对哪里错
  → 梯度更新方向模糊

GEPA:
  feedback = "这一步没检查边界条件"
  feedback = "应该先读配置再写缓存"
  feedback = "错误处理逻辑遗漏了超时情况"
  ← 具体的自然语言反馈

  → LLM 读得懂这种反馈
  → 据此产生下一轮变体
  → 比解读一个浮点数有效得多
GEPA 完整工作流
┌──────────────────────────────────────────────────────┐
│ Step 1:采样评估集                                     │
│   系统定期读取现有 SKILL 文件                          │
│   从历史会话中抽样(或合成)搞出评估集                  │
└──────────────────────────────────────────────────────┘
              ↓
┌──────────────────────────────────────────────────────┐
│ Step 2:GEPA 介入                                     │
│   读取执行轨迹                                        │
│   → 反思提意见(Reflective Mutation)                 │
│   → 生成候选变体                                      │
└──────────────────────────────────────────────────────┘
              ↓
┌──────────────────────────────────────────────────────┐
│ Step 3:评估与选择                                    │
│   跑一轮评估                                         │
│   → 帕累托前沿算法挑出赢家                            │
│   → 保留多样性,不是只留最高分                        │
└──────────────────────────────────────────────────────┘
              ↓
┌──────────────────────────────────────────────────────┐
│ Step 4:人类审查(关键安全阀!)                       │
│   优化后的 Skill 不会直接覆盖原文件                    │
│   → 生成一个 Pull Request                             │
│   → 必须等人类审核员点头合并                          │
│   → 系统永远不会直接提交                              │
└──────────────────────────────────────────────────────┘
GEPA 的性能数据
根据 Nous Research 数据:

  重复性任务效率提升:40%
  vs GRPO 强化学习基线:平均高出 6%,特定任务最高高出 20%
  所需试错次数:少 35 倍
  收敛所需评估次数:100-500 次(传统 RL 需上万次)

4.6 持久化层——混合存储架构

存储结构
~/.hermes/
├── state.db              ← SQLite(会话历史 + FTS5 全文索引)
├── memories/
│   ├── MEMORY.md         ← 持久事实(环境、规则、教训)
│   └── USER.md           ← 用户偏好(风格、习惯、背景)
├── skills/
│   ├── deployment/
│   │   └── deploy-staging/
│   │       └── SKILL.md  ← 自动生成的技能文件
│   ├── devops/
│   │   └── server-monitor/
│   │       └── SKILL.md
│   └── ...
└── sessions/
    ├── session-001.jsonl
    ├── session-002.jsonl
    └── ...
四层内存分离(Token 控制核心设计)
┌──────────────────────────────────────────────────┐
│ 1. Always-On(常驻内存)                          │
│    MEMORY.md + USER.md 冻结快照                   │
│    每次会话注入 system prompt                     │
│    命中 provider prompt cache → token 成本极低    │
├──────────────────────────────────────────────────┤
│ 2. On-Demand(按需内存)                          │
│    FTS5 搜索 + LLM 总结                           │
│    需要时才检索,不占默认上下文                    │
├──────────────────────────────────────────────────┤
│ 3. Procedural(程序性内存)                       │
│    SKILL.md 技能文件                               │
│    渐进式披露:Tier 0 概要 → Tier 1 完整 → Tier 2  │
├──────────────────────────────────────────────────┤
│ 4. Passive(被动内存)                            │
│    Honcho 用户建模                                 │
│    可选开启,后台被动构建                          │
└──────────────────────────────────────────────────┘

关键设计:缓存感知(Cache-Aware)
  → 会话初始化时冻结快照
  → 高频模型调用可高效使用缓存的上下文窗口
  → 学习过程不会不断增加 Token 费用
上下文压缩前的保护
上下文接近阈值时:

  Step 1: Memory Flush
          强制 Agent 将关键状态写入磁盘文件
          ↓
  Step 2: 压缩总结
          对上下文进行摘要压缩
          ↓
  Step 3: 继续运行
          压缩后的上下文 + 持久化文件 = 无损继续

4.7 执行沙箱层——六终端后端

比 OpenClaw 更细粒度的安全与性能权衡

后端 执行环境 隔离级别 适用场景
local 宿主机直接运行 日常开发、访问本地文件
docker Docker 容器 完全隔离(Namespaces, cap-drop ALL) 不受信任代码、CI/CD
ssh 远程服务器 网络边界 计算密集型任务
daytona 云端工作空间 完全隔离(云容器) 长期保存状态的云端环境
modal 无服务器沙盒 完全隔离(云 VM) 突发 GPU 需求、按量付费
singularity HPC 容器 Namespaces(–containall) 学术研究集群
灵活性:
  从个人笔记本 → 企业服务器 → HPC 集群
  在隔离强度与执行效率之间做任务级选择

  每个任务可以独立选择后端
  不需要全局统一配置

五、技能系统全拆解:会生长的 Skill

Hermes Skill vs 传统 Skill

传统 Skill(OpenClaw 等):
  人工编写 → 安装 → 固定不变 → 过时了手动更新

Hermes Skill:
  自动生成 → 自动匹配 → 自动进化 → 自动优化
  ├── 生命周期劈成两截:
  │   一截:运行时静默生成
  │   一截:离线硬核进化
  └── 用户完全无感

SKILL.md 完整格式

---
# Part 1: Frontmatter(元数据)
name: deploy-staging
description: 一键部署到 staging 环境
version: 1.2.0
platforms: [linux, docker]
metadata:
  hermes:
    tags: [devops]
    category: deployment
    auto_generated: true        # Hermes 自动生成标记
    use_count: 23               # 使用计数
    last_improved: 2026-05-15   # 上次进化时间
    confidence: 0.87            # 自评估置信度
---

# Part 2: Markdown Body(步骤说明)

## 什么时候用
当代码合并到 main 分支后需要部署到 staging 环境时。

## 步骤
1. git pull origin main
2. 检查 conftest.py 配置
3. 运行 pytest --staging
4. docker build -t staging:latest .
5. docker push registry/staging:latest
6. kubectl rollout restart deployment/staging

## 注意事项
- 先检查 conftest.py,再检查 fixtures
- staging 环境变量在 .env.staging 中
- 如果 pytest 失败,不要继续部署

## 错误恢复
- 部署失败 → kubectl rollout undo
- 测试失败 → 检查最近的 commit diff

技能的完整生命周期

┌─────────────────────────────────────────────────────┐
│ Phase 1:静默生成(运行时)                           │
│                                                       │
│  用户要求完成复杂任务                                 │
│      ↓                                                │
│  Agent 执行任务(tool call ≥ 5 或出错恢复)          │
│      ↓                                                │
│  硬规则触发:后台进程总结 trajectory                  │
│      ↓                                                │
│  自动打包成 SKILL.md → 存入 ~/.hermes/skills/        │
│      ↓                                                │
│  完全静默,用户可能根本不知道                         │
└─────────────────────────────────────────────────────┘
              ↓
┌─────────────────────────────────────────────────────┐
│ Phase 2:渐进式加载(下次使用)                       │
│                                                       │
│  Tier 0:名称 + 描述注入 system prompt(~3000 token)│
│      ↓ 方向匹配                                      │
│  Tier 1:展开完整 SKILL.md 内容                      │
│      ↓ 需要更多细节                                  │
│  Tier 2:加载补充说明                                │
└─────────────────────────────────────────────────────┘
              ↓
┌─────────────────────────────────────────────────────┐
│ Phase 3:使用中改进(运行时)                         │
│                                                       │
│  每次 bump_use() 使用计数 +1                         │
│  支持 patch 增量修改(不全量重写)                    │
│  记录成功/失败轨迹                                    │
└─────────────────────────────────────────────────────┘
              ↓
┌─────────────────────────────────────────────────────┐
│ Phase 4:离线进化(GEPA)                             │
│                                                       │
│  系统定期读取 SKILL + 历史会话                       │
│      ↓                                                │
│  GEPA:反思性变异 → 帕累托选择 → 评估                │
│      ↓                                                │
│  优化后的 Skill → 生成 PR(不直接覆盖!)            │
│      ↓                                                │
│  人类审核 → 合并 → 新版技能生效                      │
└─────────────────────────────────────────────────────┘
              ↓
┌─────────────────────────────────────────────────────┐
│ Phase 5:Curator 周期剪枝(v0.12+)                  │
│                                                       │
│  每 7 天后台运行                                     │
│  → 评分:使用频率 × 成功率 × 置信度                  │
│  → 合并:相似技能合并                                │
│  → 剪枝:低效技能降级或删除                          │
│  → 重写:自动生成更优版本                            │
└─────────────────────────────────────────────────────┘

六、记忆系统全拆解:四层 vs 双文件

与 OpenClaw 记忆对比

OpenClaw(双文件 + 日志):             Hermes(四层混合):
┌───────────────────────┐            ┌──────────────────────────┐
│ MEMORY.md              │            │ MEMORY.md(事实层)        │
│ (长期记忆)            │            │ 上限 800 tokens,Agent 自管│
│                        │            │                          │
│ memory/YYYY-MM-DD.md   │            │ USER.md(用户偏好层)      │
│ (短期日志)            │            │ 上限 500 tokens,Agent 自管│
│                        │            │                          │
│ sessions.jsonl         │            │ skills/(程序性记忆层)    │
│ (会话历史)            │            │ 自动生成的 SKILL.md       │
│                        │            │                          │
│                        │            │ state.db(情景记忆层)     │
│                        │            │ SQLite + FTS5 全文检索    │
│                        │            │                          │
│                        │            │ Honcho(用户建模层,可选) │
│                        │            │ 12 维辩证式用户画像       │
└───────────────────────┘            └──────────────────────────┘

谁决定什么值得记住——最关键的区别

OpenClaw:
  → 人决定。Agent 按规则把关键信息写入 MEMORY.md
  → 规则写在 AGENTS.md 里,开发者配置
  → 确定性强,但不会"主动发现"值得记住的东西

Hermes:
  → Agent 自己决定。通过 Periodic Nudges
  → Agent 自己判断"什么值得持久化"
  → 主动性强,但可能判断不准
  → 社区发现:Hermes 判断自己"是否完成任务"时几乎总觉得自己成功了
  → 所以反思出来的记忆,非常薄弱

程序性记忆——Hermes 独有层

OpenClaw 只有"事实性记忆":
  "文件服务器 IP 是 192.168.1.10"     ← 知道"是什么"

Hermes 额外有"程序性记忆":
  "遇到 pytest 报错 → 先看 conftest.py → 再检查 fixtures"  ← 知道"怎么做"

这是从"情景记忆"走向"程序性记忆"的质变:
  情景记忆:记得发生了什么(episodic)
  程序性记忆:知道该怎么做(procedural)

→ 让记忆变成可以读、可以改、可以提交到 Git、可以团队共享的工件

七、Agent Loop 深度对比:Hermes vs OpenClaw

维度 OpenClaw Hermes
调度模型 Gateway 主导的 Channel 命令队列 Agent Loop 主导的 ReAct 循环
提示词构建 Gateway 统一注入(按渠道动态生成) Agent 内部组装(加载快照 + Skill 摘要)
工具执行 Gateway 注入工具链,Pi 执行 Agent 直接调用,支持 pre/post hooks
学习闭环 ❌ 无(v0.12 后补 Active Memory) ✅ 核心架构关切,一等公民
迭代预算 默认上限 默认 20 轮,更多轮次 = 更多学习
核心逻辑位置 在 Gateway 在 Agent Loop
设计取向 重网关,轻 Agent 轻网关,重 Agent

最本质的区别:学习闭环的嵌入位置。

OpenClaw:执行是执行,学习是学习(两码事)
  → v0.12 后开始补课:Dreaming 做离线记忆整理
  → Active Memory 在主回复前跑记忆子 Agent

Hermes:执行即学习,学习即执行(一码事)
  → 每次复杂任务完成 → 自动提炼技能
  → 每次会话结束 → 自动 nudge 记忆
  → 学习闭环嵌入在 Agent Loop 的每一个 Post-Execution 阶段

八、功能全景

工具系统(40+ 内置工具)

类别 工具 说明
文件管理 read/write/edit/search 文件系统全操作
浏览器 browser_navigate/click/screenshot Playwright 语义快照
终端 exec/bash Shell 命令执行
通信 email/calendar/contacts 邮件、日历、通讯录
子代理 delegate_task 单任务/最多 3 个并行子任务
记忆 memory_add/replace/remove Agent 自主管理记忆
技能 skill_create/update/search 技能生命周期管理
搜索 web_search/kb_search 网络和知识库搜索

多平台消息网关

Telegram ──┐                    ┌── Signal(OpenClaw 不支持)
Discord  ──┤                    │
Slack    ──┼── Gateway ────────┤── CLI/TUI
WhatsApp ──┤   (单进程多渠道)│
Signal   ──┘                    └── 跨平台上下文保持

LLM 提供商(200+ 模型)

OpenRouter   → Claude / GPT / Gemini / Llama / DeepSeek
OpenAI       → GPT-5.4 / GPT-5.4 Thinking
Nous Portal  → Hermes 模型系列
Ollama       → Gemma 4 / Llama 4 / Qwen 3.5 / DeepSeek(本地)
其他         → z.ai / Kimi / MiniMax / GLM / 自定义端点

一条命令切换模型,无需改代码

MCP 双向集成

MCP 客户端:连接外部 MCP 服务器(数据库、API、文件系统)
MCP 服务器模式(v0.6.0+):将 Hermes 暴露为 MCP 服务器
  → IDE 和其他工具可将 Hermes 用作后端

九、安全模型

安全默认设置

机制 说明
Docker 沙箱 生产部署推荐,只读 root + cap-drop ALL
提示词注入扫描 v0.7.0 默认开启
工具权限限制 限制 Agent 可在无人监督情况下使用的工具
凭证过滤 防止 API 密钥出现在 Agent 上下文中
审计日志 hermes logs --follow 实时监控
人类在环审查 GEPA 进化的 Skill 必须人类审核才能合并

插件安全设计

Event Hooks 系统 6 种钩子
  → 5 种是触发即忘(fire-and-forget)的看客
  → 系统根本不管返回值

修改 Agent 运行上下文的注入点:
  → 只有 1 个

官方底线:
  就算插件代码跑崩了,也绝不拖垮 Agent 的主循环

底层逻辑:
  把开发者当成潜在敌人
  → 只开放最小必要接口
  → 确保核心稳定性

十、局限性与诚实说明

┌──────────────────────────────────────────────────────────┐
│ 1. 记忆容量硬上限                                        │
│    MEMORY.md 800 tokens / USER.md 500 tokens             │
│    → 防止 token 爆炸,需要 Agent 主动 curation           │
│    → 但 Agent 可能判断不准什么该删                        │
├──────────────────────────────────────────────────────────┤
│ 2. Skill 质量依赖 LLM 自评估                             │
│    → 早期可能需人工微调                                  │
│    → 社区反馈:精心调制的技能被自动进化流程覆盖            │
├──────────────────────────────────────────────────────────┤
│ 3. Curator 是周期性而非实时                              │
│    → 每 7 天才运行一次                                   │
│    → 不会即时优化                                        │
├──────────────────────────────────────────────────────────┤
│ 4. 反思质量存疑                                         │
│    → Agent 判断"是否完成"时几乎总觉得自己成功了            │
│    → 反思出来的记忆非常薄弱                              │
├──────────────────────────────────────────────────────────┤
│ 5. 不适合零容错场景                                     │
│    → 核心合同、底层代码、财务模型 → 全自动是隐患          │
│    → 容错率高的日常重复任务 → 能站得住                    │
├──────────────────────────────────────────────────────────┤
│ 6. 依赖强模型做反思                                     │
│    → 弱模型执行 routine 可以,但反思质量不够              │
└──────────────────────────────────────────────────────────┘

十一、ima.copilot 中的映射

Hermes 原版 ima.copilot 版本 作用
MEMORY.md memory_md 持久化事实与决策
USER.md user_md 用户档案
skills/ + SKILL.md Skill 系统(use_skill 技能加载与执行
FTS5 + SQLite qa 层(会话上下文) 跨会话检索
state.db sessions daily 层(日摘要) 短期记忆
Honcho User Modeling —(暂无对应) 用户建模
GEPA 进化引擎 —(暂无对应) 技能自动进化
Curator —(暂无对应) 技能周期剪枝
Periodic Nudges memory_write(用户触发) 记忆持久化

ima.copilot 采用了 Hermes 的记忆架构思路(双文件 + 层级分离),但暂未集成 GEPA 进化引擎和 Honcho 用户建模。


十二、演进弧线:从激进到克制

2026.02.25  Hermes 首发
  旗号:"与你共同成长的 Agent"
  路线:主动记忆、自动进化、强行替用户做决定
  → 一口气冲到 57,200 颗星
      ↓
2026.04.03  v0.7.0 韧性更新
  悄悄往回撤了半步:
  → Honcho 从唯一高级后端降级为可插拔后端之一
  → 纯文件 + 全文检索成为默认兜底
  → 把记忆的选择权交还给了用户
      ↓
  先行者在撞上社区真实投诉后的战略让步
  → 觉得现在的规则系统还吃不透所有复杂场景
  → 有些选择不必强行替用户做

同时,OpenClaw 在反方向补课

2026.04.05  OpenClaw 发布 Dreaming
  → 离线记忆整理:短期流水文档 → 提炼 → 晋升为 MEMORY.md
      ↓
2026.04.10  OpenClaw 发布 Active Memory
  → 主回复前跑记忆子 Agent
  → 大模型做裁判的主动派打法
  → 粒度比 Hermes 固定 15 轮一次的微调更细
      ↓
  大家全都在往"替你做决定"这条路上靠
  Hermes 只不过下注最早、最狠

十三、选型指南

选择 Hermes,如果你需要

✅ 长期陪伴、越用越懂的 AI 伙伴
   Honcho 用户建模 + 持续技能生成
   数周后 Agent 会记住你的编码规范和决策偏好

✅ 复杂、重复性高的研发任务
   代码分析、数据处理、研究流程的"效率复利"
   第一次生成技能后,后续速度提升 40%

✅ 深入定制"会学习的 AI"
   基于 Python + DSPy 的架构
   可以介入学习循环,修改进化算法
   作为研究平台使用

不选择 Hermes,如果你需要

❌ 零容错的关键业务
   核心合同、底层代码、财务模型
   全自动模式本身是隐患

❌ 严格的合规与审计控制
   Gateway 的多 Agent 路由、RBAC、策略引擎
   金融、医疗等行业的治理要求

❌ 快速搭建、稳定优先
   700+ 社区技能几小时连全渠道
   不想等 Agent 慢慢学习

十四、总结

Hermes 的"智能"不是功能多,而是闭环正反馈——

  • Agent-Curated Memory 把记忆从被动存储变成主动管理
  • Skill Auto-Creation 把经验从一次性消耗变成可复用资产
  • FTS5 + LLM Recall 把历史从归档文件变成活的检索库
  • GEPA 把技能优化从人工调参变成算法驱动的进化
  • Honcho 把用户理解从静态配置变成辩证式建模
  • Curator 把技能库从无限膨胀变成有序收敛

用得越多 → 提炼越多 → 检索越准 → 改进越快 → 三个月后,你拥有一个真正"共事多年"的 Agent。

但这不是魔法——它是一套精心设计的工程机制,把"越用越聪明"从口号变成系统行为。
每一步都有硬规则兜底,每一次进化都需要人类审查。
Hermes 赌的不是今天能多完美,而是未来模型更强时,它的架构能最先吃到红利。

Logo

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

更多推荐