一文快速看懂Hermes Agent

0 阅读4分钟

OpenClaw才火了一段时间,最近又流行起Hermes Agent,据说可以从OpenClaw无缝迁移。坦白讲,我当时的内心毫无波澜,没有第一时间去了解的想法,毕竟这类「下一代 AI 助手」的营销话术我听得太多了,说不定没多久就销声匿迹了。

不过,开源社区又接连延伸出许多类似的项目,而且Hermes主要是用Python编写的,这一点还是让我倍感亲切。因此打算简单分析一下这个项目,看看对于普通人而言,有了龙虾之外,还有没有必要再安装一个新的工具。

在这里插入图片描述

快速使用

Hermes同样只需要一行命令就可以安装:

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

需要注意的是,目前只支持Linux, macOS系统,如果是Windows用户,需要额外安装WSL2才行

source ~/.bashrc   
hermes              # 启动对话

Hermes支持一行代码把所有的配置、记忆、技能和 API 密钥搬过去:

hermes setup # 首次设置时
hermes claw migrate # 完整迁移

架构解析

OpenClaw,基于中心化的调度

OpenClaw的核心是一个消息路由层,它接收来自Telegram、Slack、WhatsApp的消息,然后转发给 LLM,再把 LLM 的响应路由回对应的平台。它的架构大概是这样的:

消息入口 → 消息解析 → LLM 调用 → 工具执行 → 响应路由 → 消息出口

这个模型很清晰,也很容易理解。只不过每次对话都是独立的上下文,工具执行完就结束了,没有任何东西被沉淀下来。

Hermes,一个闭环学习系统

再看Hermes的架构,它的设计要明显不同:

┌─────────────────────────────────────────────────────────────┐
│                     AIAgent (run_agent.py)                   │
│              核心对话循环,约 9600 行代码                     │
└─────────────────────────────────────────────────────────────┘
                              │
        ┌─────────────────────┼─────────────────────┐
        ▼                     ▼                     ▼
   ┌─────────┐          ┌──────────┐         ┌─────────┐
   │ Prompt  │          │ Tool     │         │ Session │
   │ Builder │          │ Registry │         │ Storage │
   └─────────┘          └──────────┘         └─────────┘
                              │                     │
                              ▼                     ▼
                      47个注册工具              SQLite+FTS5
                      20个工具集                全文搜索

核心区别在于三个关键子系统:

1. 记忆系统 (hermes_state.py)

Hermes用SQLite + FTS5做会话存储。每个会话都有lineage追踪,压缩后的会话会保留父子关系。这意味着当你跨会话问之前的聊天信息时,它能通过FTS5搜索找到之前的对话,然后用 LLM 总结成可用的上下文。

OpenClaw也有记忆,但它是靠外部技能和文件系统实现的,不是内置能力。

2. 技能系统 (skills/)

这是Hermes最有意思的部分。当你完成一个复杂任务后,它会自动把解决过程写成可复用的技能文件,保存在 ~/.hermes/skills/ 下,下次遇到类似问题就能直接调用。

看代码的话,技能注册在 agent/skill_commands.py,技能执行则在 skills/ 目录下。

3. 子代理委托 (delegate_tool.py)

Hermes支持隔离的子代理,每个子代理有自己的对话和终端。这不是简单的并发执行,子代理之间通过 RPC 通信,可以共享结果但不共享上下文。这意味着一个任务可以拆成多个独立的流水线,每个流水线消耗零上下文。

# 伪代码示意
result = await agent.delegate(
    subagent_id="code-reviewer",
    task="review this PR",
    context={"pr_url": "..."}
)

对比总结

维度OpenClawHermes
核心机制Gateway统一管理会话、路由、渠道闭环学习循环
会话存储简单文件SQLite + FTS5 全文搜索
技能系统固定技能自动从任务中学习生成
底层语言JSPython

结论

如果你只是需要一个帮你处理日常事务的助手,比如回邮件、排日程、自动化工作流,那么OpenClaw足矣,不需要再折腾了。它的技能库很丰富,社区也很活跃,虽然Bug不少,但是也持续在修复中。

但如果你想要一个会成长的助手,需要更加智能化的记忆,让它记得你、它能从错误中学习、它能自动创建新技能,那Hermes值得试试。另外,如果你主要做的是RL训练或者Agent评估,可能更加熟悉Python,并且能够自己动手优化代码,那么Hermes就是更优的选择了。它有一些OpenClaw完全没有的功能,比如在 environments/ 目录,Hermes提供了一个完整的agent评估框架,不只是跑测试,还能生成训练数据。对于做AI研究的,这套内置的东西能省很多功夫。