510 lines
17 KiB
Markdown
510 lines
17 KiB
Markdown
# OpenClaw vs Hermes 架构深度对比分析
|
||
|
||
> 资料来源:视频总结、官方文档、技术深度解析
|
||
> 整理时间:2026-05-06
|
||
|
||
---
|
||
|
||
## 一、核心理念对比
|
||
|
||
| 维度 | OpenClaw | Hermes |
|
||
|------|----------|--------|
|
||
| **定位** | 企业级多智能体框架 | 自主进化的个人 AI 伙伴 |
|
||
| **核心口号** | 模块化 + 可组合性 | The agent that grows with you |
|
||
| **设计哲学** | 你告诉它做什么 | 它学会你自己想做什么 |
|
||
| **适用人群** | 需要精细控制的开发者/企业 | 想要省心、越用越聪明的个人用户 |
|
||
|
||
**一句话本质差异**:
|
||
> OpenClaw 是一个**可控的 Agent 运行时**,Hermes 是一个**会自我进化的认知系统**。
|
||
|
||
---
|
||
|
||
## 二、架构对比
|
||
|
||
### 2.1 OpenClaw:Gateway 中心化架构
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────┐
|
||
│ Gateway │
|
||
│ (WebSocket + HTTP API + OpenAI兼容) │
|
||
├─────────────────────────────────────────────────────┤
|
||
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
||
│ │ Agent 1 │ │ Agent 2 │ │ Agent N │ │
|
||
│ │ (main) │ │ │ │ │ │
|
||
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
|
||
│ │ │ │ │
|
||
│ ┌────┴─────────────┴─────────────┴────┐ │
|
||
│ │ Workspace + Sessions │ │
|
||
│ │ AGENTS.md / SOUL.md / USER.md │ │
|
||
│ │ Skills / Memory / Tools │ │
|
||
│ └───────────────────────────────────────┘ │
|
||
├─────────────────────────────────────────────────────┤
|
||
│ Channels (飞书/Discord/Telegram等) │
|
||
└─────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
**特点**:
|
||
- 单一 Gateway 进程常驻运行
|
||
- 多 Agent 通过 Binding 系统路由
|
||
- Workspace 文件驱动人设和行为
|
||
- 工具通过 Skills 系统扩展
|
||
|
||
### 2.2 Hermes:AIAgent 核心循环架构
|
||
|
||
```
|
||
┌────────────────────────────────────────────────────────────┐
|
||
│ ENTRY POINTS │
|
||
│ CLI / TUI / Gateway (14+平台) / Cron / Batch / ACP │
|
||
└─────────────────────┬──────────────────────────────────────┘
|
||
│ 每个入口构建一个 AIAgent
|
||
▼
|
||
┌────────────────────────────────────────────────────────────┐
|
||
│ AIAgent (核心循环 ~13,700 行) │
|
||
│ build_system_prompt → call model → dispatch tools → loop │
|
||
└──────┬─────────────┬──────────────┬───────────┬───────────┘
|
||
│ │ │ │
|
||
▼ ▼ ▼ ▼
|
||
┌──────────┐ ┌──────────┐ ┌────────────┐ ┌─────────────┐
|
||
│ Tools │ │ Skills │ │ Memory │ │ Providers │
|
||
│ Registry │ │ Loader │ │ Manager │ │ (model API) │
|
||
└──────────┘ └──────────┘ └────────────┘ └─────────────┘
|
||
│
|
||
┌────────────────────────────────────────────────┘
|
||
▼
|
||
┌────────────────────────────────────────────────────────────┐
|
||
│ Execution Environments: local / Docker / SSH / Modal │
|
||
└────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
**特点**:
|
||
- 单一 AIAgent 类服务所有入口
|
||
- Harness 工程框架提供控制层
|
||
- 五步学习循环驱动自我进化
|
||
- 平台差异在薄适配层消失
|
||
|
||
### 2.3 架构哲学差异
|
||
|
||
| 方面 | OpenClaw | Hermes |
|
||
|------|----------|--------|
|
||
| **核心抽象** | Gateway(路由中枢) | AIAgent(认知引擎) |
|
||
| **控制方式** | 显式配置 + Binding 路由 | Harness 控制层 + 自我学习 |
|
||
| **多 Agent** | 支持,通过 Binding 系统 | 支持,最多 3 个并发子 Agent |
|
||
| **平台差异** | Channel 适配器 | 薄适配层,跨平台上下文连续 |
|
||
| **扩展方式** | Skills 系统(手动安装) | 自注册 + MCP 即插即用 |
|
||
|
||
---
|
||
|
||
## 三、记忆系统对比
|
||
|
||
### 3.1 OpenClaw:文件驱动 + QMD 搜索
|
||
|
||
**存储方式**:
|
||
- `MEMORY.md`:精选长期记忆(手动编辑)
|
||
- `memory/YYYY-MM-DD.md`:每日记忆日志
|
||
- `AGENTS.md`/`SOUL.md`/`USER.md`:人设和上下文
|
||
|
||
**记忆特点**:
|
||
- 用户手动维护,需要主动更新
|
||
- QMD 后端支持跨会话语义搜索
|
||
- 仅主会话加载 MEMORY.md(隐私保护)
|
||
|
||
**记忆流程**:
|
||
```
|
||
用户编辑文件 → 重启会话 → 记忆生效
|
||
```
|
||
|
||
### 3.2 Hermes:三层认知架构 + 自动压缩
|
||
|
||
**三层记忆**:
|
||
|
||
| 层级 | 类型 | 内容 | 存储 | 作用 |
|
||
|------|------|------|------|------|
|
||
| Session Memory | 情景记忆 | 单次对话全内容 | SQLite | "这次对话发生了什么?" |
|
||
| Persistent Memory | 语义记忆 | 身份、关系、长期知识 | MEMORY.md + USER.md | "我是谁?用户是谁?" |
|
||
| Skill Memory | 程序记忆 | 如何执行任务的步骤 | `~/.hermes/skills/` | "我怎么做这件事?" |
|
||
|
||
**Honcho 用户画像**:
|
||
- 渐进式建立用户偏好
|
||
- 在多次交互中拼凑出风格、专业、偏好
|
||
- 不用每次都重新解释
|
||
|
||
**自动压缩**:
|
||
- LLM Summarization 自动压缩历史对话
|
||
- SQLite + FTS5 全文本检索
|
||
- 评估对话,筛选值得保留的信息
|
||
|
||
### 3.3 记忆系统对比
|
||
|
||
| 维度 | OpenClaw | Hermes |
|
||
|------|----------|--------|
|
||
| **存储方式** | 纯 Markdown 文件 | SQLite + FTS5 + Markdown |
|
||
| **更新方式** | 手动编辑文件 | 自动压缩 + LLM 提炼 |
|
||
| **用户画像** | 无 | Honcho 渐进建模 |
|
||
| **检索能力** | QMD 语义搜索 | FTS5 全文本搜索 |
|
||
| **上下文窗口** | 依赖模型上下文 | 渐进式加载(Level 0/1/2)|
|
||
|
||
**核心差异**:
|
||
> OpenClaw 的记忆是**静态的**,需要用户维护。
|
||
> Hermes 的记忆是**动态的**,Agent 自己管理。
|
||
|
||
---
|
||
|
||
## 四、技能系统对比
|
||
|
||
### 4.1 OpenClaw:市场驱动
|
||
|
||
**技能来源**:
|
||
- ClawHub 市场(数千个技能)
|
||
- Workspace skills(最高优先级)
|
||
- Agent skills
|
||
- Managed skills
|
||
- Bundled skills
|
||
|
||
**使用方式**:
|
||
```json5
|
||
{
|
||
agents: {
|
||
defaults: {
|
||
skills: ["skill-a", "skill-b"] // 手动配置
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
**特点**:
|
||
- 需要用户手动安装和配置
|
||
- 按优先级覆盖(workspace > agent > managed > bundled)
|
||
- 技能是文件夹 + SK.md 的结构
|
||
|
||
### 4.2 Hermes:自动进化
|
||
|
||
**技能来源**:
|
||
1. **内置技能(40+)**:开箱即用
|
||
2. **Agent 自创技能**:重复模式 → 自动蒸馏
|
||
3. **社区 Skills Hub**:遵循 agentskills.io 标准
|
||
|
||
**自动生成示例**:
|
||
```yaml
|
||
---
|
||
name: article-summarizer
|
||
description: 以结构化格式总结文章
|
||
triggers:
|
||
- summarize
|
||
- tl;dr
|
||
tools:
|
||
- web_search
|
||
- web_scraper
|
||
- file_write
|
||
---
|
||
|
||
# Article Summarizer
|
||
|
||
你是一个善于提炼文章为清晰结构化摘要的专家。
|
||
...
|
||
```
|
||
|
||
**进化机制**:
|
||
- 重复任务 → 自动蒸馏为新 Skill
|
||
- 表现好的技能存活并传播
|
||
- 自动更新旧技能让它越跑越顺
|
||
|
||
### 4.3 技能系统对比
|
||
|
||
| 维度 | OpenClaw | Hermes |
|
||
|------|----------|--------|
|
||
| **获取方式** | 手动从市场安装 | 自动生成 + 市场 |
|
||
| **维护者** | 用户/开发者 | Agent 自己 |
|
||
| **数量** | 数千个(市场) | 40+ 内置 + 自动生成 |
|
||
| **进化能力** | 无 | 达尔文压力(优胜劣汰)|
|
||
| **格式** | SK.md + 工具脚本 | SK.md + YAML frontmatter |
|
||
| **分享** | ClawHub | agentskills.io |
|
||
|
||
**核心差异**:
|
||
> OpenClaw 技能是**资源**,需要管理和维护。
|
||
> Hermes 技能是**能力**,会自动生长和进化。
|
||
|
||
---
|
||
|
||
## 五、学习循环对比
|
||
|
||
### 5.1 OpenClaw:无自动学习
|
||
|
||
**当前状态**:
|
||
- 无内置的自我改进机制
|
||
- 实验性功能,未生产就绪
|
||
- 依赖用户手动更新 MEMORY.md
|
||
|
||
**用户流程**:
|
||
```
|
||
发现问题 → 思考解决方案 → 编辑文件 → 重启会话
|
||
```
|
||
|
||
### 5.2 Hermes:五步学习飞轮
|
||
|
||
```
|
||
┌─────────────┐
|
||
│ 1. 记忆管理 │ ── 评估对话,筛选值得保留的信息
|
||
└──────┬──────┘
|
||
▼
|
||
┌─────────────┐
|
||
│ 2. 技能创建 │ ── 重复模式 → 自动蒸馏为新 Skill
|
||
└──────┬──────┘
|
||
▼
|
||
┌─────────────┐
|
||
│ 3. 技能自改进│ ── 达尔文压力:表现好的技能存活并传播
|
||
└──────┬──────┘
|
||
▼
|
||
┌─────────────┐
|
||
│ 4. FTS5 召回│ ── 全量历史语义检索,不只依赖当前上下文
|
||
└──────┬──────┘
|
||
▼
|
||
┌─────────────┐
|
||
│ 5. 用户建模 │ ── 通过 Honcho 构建用户画像
|
||
└─────────────┘
|
||
```
|
||
|
||
**飞轮闭环**:
|
||
```
|
||
更好记忆 → 更好技能 → 更好结果 → 更丰富反馈 → 更精确用户模型 → 更相关记忆
|
||
```
|
||
|
||
**关键创新**:
|
||
- Agent 通过 `skill_manage` 工具自己编写 Skills
|
||
- Agent 自己编辑 MEMORY.md
|
||
- 不是人类在改代码,而是 Agent 在自我进化
|
||
|
||
### 5.3 学习能力对比
|
||
|
||
| 维度 | OpenClaw | Hermes |
|
||
|------|----------|--------|
|
||
| **自动学习** | ❌ 无 | ✅ 五步学习飞轮 |
|
||
| **技能进化** | ❌ 无 | ✅ 达尔文压力 |
|
||
| **用户建模** | ❌ 无 | ✅ Honcho 画像 |
|
||
| **反馈闭环** | ❌ 无 | ✅ 闭合循环 |
|
||
| **进化曲线** | 静态 | 第一周→一个月→三个月 |
|
||
|
||
---
|
||
|
||
## 六、安全模型对比
|
||
|
||
### 6.1 OpenClaw:多层防护
|
||
|
||
**认证方式**:
|
||
- Token/Password:共享密钥认证
|
||
- Trusted-Proxy:反向代理信任模式
|
||
- OAuth:第三方登录
|
||
|
||
**安全特性**:
|
||
1. 默认 loopback 绑定(不允许外部访问)
|
||
2. Tool Policy(每个 agent 独立 allow/deny)
|
||
3. DM Ping 验证
|
||
4. 显示 allow list,每条消息验证
|
||
5. 敏感操作审批
|
||
|
||
**工具策略示例**:
|
||
```json5
|
||
{
|
||
agents: [{
|
||
id: "family",
|
||
tools: {
|
||
allow: ["exec", "read", "sessions_list"],
|
||
deny: ["write", "edit", "browser"]
|
||
}
|
||
}]
|
||
}
|
||
```
|
||
|
||
### 6.2 Hermes:四层防护
|
||
|
||
```
|
||
第1层:Tirith(Rust 外部扫描器)
|
||
└─ 同形异义词 URL、终端注入(ANSI 转义隐藏命令)
|
||
|
||
第2层:Regex 危险命令检测
|
||
└─ 归一化后检测(忽略大小写/空格),防止 RM -RF 绕过
|
||
|
||
第3层:Smart Approval(LLM 风险评级)
|
||
└─ 低风险自动批准,中/高风险需人工确认
|
||
|
||
第4层:Approval Scopes(信任累积)
|
||
└─ Once / Session / Permanent 三级,逐步建立信任
|
||
```
|
||
|
||
**额外特性**:
|
||
- 沙盒隔离容器执行(Docker/SSH/Modal)
|
||
- 零遥测:不收集、不上传数据
|
||
- 四层防护可独立工作
|
||
|
||
### 6.3 安全模型对比
|
||
|
||
| 维度 | OpenClaw | Hermes |
|
||
|------|----------|--------|
|
||
| **隔离方式** | Workspace 沙盒 + Tool Policy | 容器级隔离(Docker/SSH)|
|
||
| **危险检测** | Tool Policy + DM Ping | 四层防护(Tirith/Regex/LLM/Scopes)|
|
||
| **数据收集** | 未明确 | 零遥测 |
|
||
| **审批粒度** | 显示 allow list | Once/Session/Permanent 三级 |
|
||
| **默认安全** | loopback 绑定 | 沙盒隔离 |
|
||
|
||
---
|
||
|
||
## 七、平台支持对比
|
||
|
||
### 7.1 OpenClaw
|
||
|
||
**支持的渠道**:
|
||
- 飞书(Feishu)
|
||
- Discord
|
||
- Telegram
|
||
- 其他主流消息平台
|
||
|
||
**跨平台能力**:
|
||
- 支持多渠道接入
|
||
- 通过 Binding 系统路由
|
||
- 但跨平台连续性较弱
|
||
|
||
### 7.2 Hermes
|
||
|
||
**支持的渠道(14+)**:
|
||
- CLI / TUI
|
||
- Telegram / Discord / Slack / WhatsApp
|
||
- 飞书 / WeChat
|
||
- VS Code / Zed / JetBrains(ACP)
|
||
- Web UI / REST API
|
||
|
||
**跨平台连续性**:
|
||
- 单个 AIAgent 服务所有入口
|
||
- 用户可以在 Telegram 开始,Discord 继续
|
||
- 全程共享同一上下文
|
||
|
||
### 7.3 平台支持对比
|
||
|
||
| 维度 | OpenClaw | Hermes |
|
||
|------|----------|--------|
|
||
| **渠道数量** | 多个主流渠道 | 14+ 平台 |
|
||
| **IDE 集成** | 无 | VS Code / Zed / JetBrains |
|
||
| **跨平台连续性** | 较弱 | 强(共享上下文)|
|
||
| **定时任务** | Cron/Heartbeat | Cron(JSON 配置 + 技能绑定)|
|
||
|
||
---
|
||
|
||
## 八、执行环境对比
|
||
|
||
### 8.1 OpenClaw
|
||
|
||
**执行方式**:
|
||
- 直接 shell 执行
|
||
- Workspace 沙盒隔离(可选)
|
||
|
||
### 8.2 Hermes
|
||
|
||
**多种执行环境**:
|
||
|
||
| 环境 | 用途 | 隔离级别 |
|
||
|------|------|---------|
|
||
| local | 开发笔记本,最快 | 无 |
|
||
| docker | 共享开发机 | 容器级 |
|
||
| ssh | 远程 VM | VM 级 |
|
||
| daytona / modal | Serverless 沙箱 | 强隔离 |
|
||
| singularity | HPC 集群 | 集群级 |
|
||
|
||
**特点**:同一工具可在不同执行环境中运行,Agent 本身无感知。
|
||
|
||
---
|
||
|
||
## 九、技术规格对比
|
||
|
||
| 指标 | OpenClaw | Hermes |
|
||
|------|----------|--------|
|
||
| **GitHub Stars** | 未披露 | 47K+(42天内) |
|
||
| **核心代码** | 模块化设计 | ~13,700 行 AIAgent |
|
||
| **内置工具** | 数十个 | 61 个 |
|
||
| **工具集** | MCP 集成 | 52 个工具集 |
|
||
| **技能数量** | 数千个市场 | 40+ 内置 + 自动生成 |
|
||
| **消息平台** | 多个主流 | 14+ 平台 |
|
||
| **模型支持** | 自定义 + OpenAI 兼容 | 18+ Provider |
|
||
| **记忆存储** | Markdown + QMD | SQLite(WAL+FTS5)|
|
||
| **并发子 Agent** | 多 Agent 模式 | 最多 3 个 |
|
||
| **最低部署成本** | 本地运行 | $5 VPS |
|
||
|
||
---
|
||
|
||
## 十、选择指南
|
||
|
||
### 10.1 选 OpenClaw 如果:
|
||
|
||
- ✅ 企业级部署,需要完整审计和合规
|
||
- ✅ 需要精细控制每一条指令
|
||
- ✅ 需要多 Agent 协作和复杂路由
|
||
- ✅ 追求模块化定制
|
||
- ✅ 需要飞书/Discord 等渠道集成
|
||
- ✅ 开发者,有能力维护配置文件
|
||
|
||
### 10.2 选 Hermes 如果:
|
||
|
||
- ✅ 需要"长气的 AI 朋友",记忆力超棒
|
||
- ✅ 预算敏感,想要低成本部署(几十块 ECS)
|
||
- ✅ 不想折腾配置,希望 Agent 自己学会事情
|
||
- ✅ 需要跨平台连续性(Telegram→Discord→WeChat)
|
||
- ✅ 追求自动进化,不想手动维护
|
||
- ✅ 个人使用,想要越用越聪明
|
||
|
||
### 10.3 一句话总结
|
||
|
||
> **OpenClaw 是你告诉他做什么,Hermes 是它学会你自己想做什么。**
|
||
|
||
---
|
||
|
||
## 十一、架构启示
|
||
|
||
### 11.1 Harness 工程范式
|
||
|
||
Hermes 提出的 **Harness Engineering** 代表了 AI 工程的第三范式:
|
||
|
||
| 范式 | 核心 | 特点 |
|
||
|------|------|------|
|
||
| Prompt Engineering | 优化提示词 | 手工调试,易出错 |
|
||
| Context Engineering | 管理上下文 | 复杂,仍是被动的 |
|
||
| **Harness Engineering** | **自我进化的控制基础设施** | 主动学习,持续改进 |
|
||
|
||
**核心洞察**:
|
||
> 模型提供智能,Harness 提供控制。没有 Harness 的 LLM 生产部署就像"把喷气发动机直接连到方向盘上"——有动力但无控制系统。
|
||
|
||
### 11.2 OpenClaw 的优势
|
||
|
||
尽管 Hermes 在学习能力上领先,OpenClaw 仍有独特价值:
|
||
|
||
1. **Gateway 中心化**:更适合企业级部署和审计
|
||
2. **多 Agent 路由**:Binding 系统支持复杂场景
|
||
3. **飞书深度集成**:原生支持飞书渠道
|
||
4. **工具策略**:细粒度的权限控制
|
||
5. **OpenAI 兼容**:便于集成现有生态
|
||
|
||
### 11.3 融合可能
|
||
|
||
两者可以互补:
|
||
- OpenClaw 作为**控制平面**(路由、渠道、多 Agent)
|
||
- Hermes 作为**认知引擎**(记忆、技能、学习)
|
||
|
||
这可能是未来 Agent 框架的方向。
|
||
|
||
---
|
||
|
||
## 十二、结论
|
||
|
||
OpenClaw 和 Hermes 代表了两种截然不同的 Agent 设计哲学:
|
||
|
||
| 哲学 | OpenClaw | Hermes |
|
||
|------|----------|--------|
|
||
| **控制** | 人类控制 Agent | Agent 自我进化 |
|
||
| **记忆** | 静态文件 | 动态三层认知 |
|
||
| **技能** | 资源管理 | 能力生长 |
|
||
| **安全** | 规则驱动 | 沙箱 + 零信任 |
|
||
| **适用** | 企业/开发者 | 个人用户 |
|
||
|
||
**没有绝对的好坏**,只有场景的匹配。选择哪个,取决于你想要 AI 以什么方式陪伴你。
|
||
|
||
---
|
||
|
||
*整理自:视频总结、OpenClaw 官方文档、Hermes Agent 架构文档等多个来源*
|
||
*总结时间: 2026-05-06*
|