Hermes Agent 深度解析:110K Star 的自进化 AI Agent,凭什么成为 OpenClaw 最强替代

一、先搞清楚:Hermes Agent 到底是什么?
Hermes Agent 是 Nous Research 在 2026 年 2 月开源的一个自主 AI Agent 框架,MIT 协议。它运行在服务器上,24 小时在线。跟 IDE 里的编程 Copilot 不同,跟套壳聊天机器人也不是一回事。
最特别的一点:它能从自己完成的任务里学东西。每做完一个任务,把踩过的坑、有效的做法提炼成可复用的”技能”,下次遇到类似场景直接用。
上线不到半年,GitHub 110K+ Star。按 OpenRouter 2026 年 5 月的数据,Hermes Agent 的 Token 月调用量 2710 亿,超过了 OpenClaw 的 2450 亿和 Claude Code 的 792 亿。
版本迭代节奏
| 版本 | 日期 | 关键变化 |
|---|---|---|
| v0.1.0 | 2026.2.25 | 初始发布 |
| v0.2.0 | 2026.3.12 | 多平台消息网关、MCP 客户端、70+ 内置技能 |
| v0.8.0 | 2026.4.8 | 记忆系统增强、技能自动生成成熟化 |
| v0.13.0 | 2026.5.7 | 多 Agent Kanban 看板、/goal 锁定、Checkpoints v2、20 平台支持 |
| v0.15.0 | 2026.6 | 代码精简 76%、Swarm 多 Agent 协作、Brainworm 安全防御 |
从 v0.1.0 到 v0.15.0 不到四个月,迭代速度相当快。
二、为什么突然火了?它和 OpenClaw 到底差在哪?
OpenClaw 的用法是你给 Agent 写 Skill,Agent 按 Skill 执行。Hermes 的用法是 Agent 自己从任务里长 Skill。
| 维度 | OpenClaw | Hermes Agent |
|---|---|---|
| Skill 来源 | 人手写 Markdown | Agent 自动从任务中提炼 |
| 记忆模式 | 纯追加,文件越用越大 | 容量上限 + 自动淘汰,保持精简 |
| 系统提示词 | 重型背包,全部塞进上下文 | 动态图书馆,按需加载 |
| 学习能力 | 无——第 100 次犯的错和第 1 次一样 | 闭环学习,用越多错越少 |
| 多平台 | Discord/Slack/Telegram | 20+ 平台,含微信/钉钉/飞书 |
| 模型兼容 | 较窄 | 200+ 模型,支持本地 Ollama |
OpenClaw 在 AI Agent 普及上的贡献不用多说。但有一个架构上的硬伤:Agent 不会从工作里学到东西。你写了多少 Skill,它就会多少。不写就不会。MEMORY.md 是纯追加模式,用几个月就膨胀成几万行的文件,加载和检索都成问题。
Hermes 的做法不同。任务完成后自动触发审查,合格的经验变成 Skill,过时的记忆被主动淘汰。整个架构为”自主学习”留了通路。
HN 上有一篇帖子叫 “Data Is the Final Moat”,观点很直接:模型智能在商品化,Agent 框架在开源,真正的护城河是 Agent 在工作里积累的领域知识。这一点上 Hermes 走在了 OpenClaw 前面。
三、自进化引擎:三个子系统如何协作?
大多数 AI Agent 每次会话结束就清零。Hermes 搞了一套学习闭环,三个子系统配合:
1. Memory:Agent 的随身小本子
两个纯文本文件,用 § 分隔条目:
~/.hermes/memories/
├── MEMORY.md # 环境事实(项目约定、工具怪癖、路径配置)
└── USER.md # Agent 对你的认知(偏好、沟通风格、工作习惯)
有意思的是容量上限。MEMORY 限 2200 字符,USER 限 1375 字符。容量有限,Agent 不得不做信息压缩,重要的留下来,过时的被自然挤掉。
超限时不会静默丢弃旧条目。它会返回 current_entries,让模型看到所有现有条目,自己判断哪些该删、哪些可以合并。模型不是被动执行淘汰规则,而是在做信息整理,这本身就是一次”自我反思”。
每次会话启动时,Memory 加载后冻结为快照注入系统提示词。冻结的好处:保护前缀缓存(Prefix Cache),新写入的内容只改磁盘,下一个会话才刷新,不会每次 API 调用都重新计费。
Memory 还有严格的安全扫描。如果模型试图往 Memory 里写 “ignore all previous instructions”,正则直接拦截。Memory 最终会注入系统提示词,被劫持等于整个 Agent 被攻破,这条防线必须保住。
2. Skill:把做过的事变成会做的事
Memory 存”事实”,Skill 存”操作步骤”。每个 Skill 是一个目录,核心是 SKILL.md:
---
name: flask-k8s-deploy
description: Deploy a Flask app to Kubernetes with health checks
---
## Triggers
- User wants to deploy a Flask/Python app to Kubernetes
## Steps
1. Create Dockerfile with gunicorn (not dev server)
2. Build and push image to registry BEFORE creating deployment
3. Write deployment.yaml with livenessProbe pointing to /health
4. kubectl apply both files
## Pitfalls
- MUST push image before kubectl apply, otherwise ImagePullBackOff
- Flask 默认没有 /health 端点,需要手动添加
- livenessProbe path 必须返回 200,不能用需要认证的路径
Pitfalls 这节是 Agent 踩坑后追加的,不是预先写好的。Skill 层面的 self-improving 就体现在这里。
创建触发条件来自工具 Schema 里的自动指令。skill_manage 工具的 Schema 里明确写着:复杂任务成功后(5+ 次工具调用)、踩坑修复后、用户纠正过的做法,都应该自动创建 Skill。
更新用的是精准局部 patch,不是全量重写。fuzzy_find_and_replace 做模糊匹配,容忍格式差异。每次修改后跑安全扫描,不通过自动回滚。
加载策略也值得说一下。OpenClaw 是”重型背包”模式,SOUL.md、IDENTITY.md、各种设定一股脑塞进上下文。设定越多 Token 浪费越严重,模型注意力也被稀释。Hermes 只在系统提示词里放一个轻量索引,每个 Skill 的名字加一句话描述。Agent 判断某个 Skill 跟当前任务相关时,才通过 skill_view 加载完整内容。先看目录再翻全文,按需加载。
3. Nudge Engine:谁来提醒 Agent”该学习了”?
Memory 和 Skill 都是存储系统,写入需要触发。Nudge Engine 就是这个触发器:
- Memory 触发器:每 10 个用户回合触发一次
- Skill 触发器:每 10 次工具迭代触发一次
粒度不同的原因很简单。Memory 的信息来自用户输入,按回合计;Skill 的经验来自工具使用过程,按迭代计。
触发后不会插一句”让我想想有没有什么该记的”来打扰你。它在后台 fork 一个独立 Agent 实例,拿着主对话快照做静默审查,输出重定向到 /dev/null,你完全无感。审查 Agent 自身的 nudge 被禁用,避免无限递归。最后以 “If nothing is worth saving, just say ‘Nothing to save.’” 收尾,防止审查 Agent 为了”交差”往里硬塞东西。
实战案例:从”不会”到”精通”的三次会话
第 1 次,摸索。用户说”帮我把 Flask 应用部署到 K8s”。Memory 和 Skill 都是空的,Agent 靠基座知识硬上。12 次工具调用,踩了两个坑:忘记推镜像到 Registry(ImagePullBackOff),livenessProbe 路径不对(CrashLoopBackOff)。修好后,后台 Review Agent 把整个过程提炼成 flask-k8s-deploy Skill。
第 2 次,复用。用户说”帮我再部署一个 Django 应用到 K8s”。Agent 加载 flask-k8s-deploy Skill,照着步骤走,9 次调用完成。遇到 Django 特有的 DisallowedHost 错误,Skill 没覆盖。修好后,Review Agent 自动 patch Skill,补上 ALLOWED_HOSTS 环境变量的坑,同时记住用户用的是 Azure Registry。
第 3 次,精通。用户说”帮我部署一个新的 FastAPI 微服务”。Agent 已经知道你用哪个 Registry、集群在哪、Django 和 Flask 的坑怎么绕。6 次调用,零错误。
三次会话,12 次调用降到 6 次,两个坑降到零。这就是自进化的实际效果。
四、实战:5 分钟跑起来
安装
curl -fsSL https://hermes-agent.sh | bash
核心配置在 ~/.hermes/config.yaml:
gateway:
mode: local
provider: openrouter # 也可用 openai / anthropic / ollama
model: anthropic/claude-sonnet-4-20250514
api_key: ${OPENROUTER_API_KEY}
platforms:
- type: telegram
token: ${TELEGRAM_BOT_TOKEN}
- type: wechat # 原生支持微信
app_id: ${WECHAT_APP_ID}
接入微信
Hermes 原生支持微信(腾讯 iLink Bot API),不需要折腾 webhook 中转或第三方桥接。配好 app_id 和 app_secret 就能直接收发消息。掘金上有完整的从零搭建并打通微信的踩坑记录,包括环境变量配置、API Key 权限、微信配对排错等。
模型选择
Skill 创建质量高度依赖模型推理能力。Claude Sonnet 4 或 GPT-5 效果最好,Skill 结构清晰、Pitfalls 准确。有人把 23 个 Agent 全部切到 GLM-5.1,执行效率没问题,但复杂推理时偶尔漏边缘情况。追求成本最低的话,DeepSeek-V3 性价比最高,只是 Skill 质量会打折扣。
| 场景 | 推荐模型 | 月成本估算 |
|---|---|---|
| 生产环境 / 团队共用 | Claude Sonnet 4 | $30-60 |
| 个人开发 / 日常使用 | DeepSeek-V3 | $5-10 |
| 隐私敏感 / 离线场景 | Ollama + Qwen3 | 仅电费 |
五、不得不说的风险与争议
1. Web3 背景与代币预期
Nous Research 核心团队有深厚的 Web3 背景。CEO 来自 Eden Network,融资约 7000 万美元,投资方为加密机构。链上已出现非官方 “NOUS” 代币,社区有”空投预期”炒作。项目官方还没有发布任何代币计划。这层 Web3 气质让一部分开发者保持观望。
2. 抄袭指控
中国开发者团队 EvoMap 发过公开信,指责 Hermes Agent 复刻了其 2026 年 2 月初开源的 Evolver 自进化引擎核心架构。EvoMap 提供了时序对比和架构相似度分析,Nous Research 未作正式回应。目前没有法律裁定。
3. 密钥安全
开源 Hermes 的安全扫描覆盖了单机场景的威胁检测。但 API Key 写在环境变量里,数据库密码明文存配置文件,Agent 一旦有终端权限,这些凭证就暴露了。生产环境建议通过网关代理鉴权,密钥不落盘。
六、适合谁?不适合谁?
适合:
- 需要 Agent 长期维护项目、积累领域知识的人
- 希望 Agent 能接入微信/飞书/钉钉做日常自动化的团队
- 愿意投入时间让 Agent “成长”的早期使用者
- 从 OpenClaw 迁移过来的用户(
hermes claw migrate一键导入)
不适合:
- 只需要一次性问答、不需要持久记忆的场景
- 对 Web3 背景天然排斥的用户
- 对 Agent 自主写入能力有严格合规要求的金融/医疗行业
- 想开箱即用、不想花时间”养” Agent 的用户
七、总结
Hermes Agent 跟 OpenClaw 的核心区别不在功能多少。OpenClaw 靠人喂 Skill,Hermes 自己长 Skill。Memory 记住你是谁,Skill 记住怎么做事,Nudge Engine 保证这个循环不停转。用得越久,Agent 干活越快,踩坑越少。
热度之下有些事情需要冷静看。Web3 背景、抄袭争议、安全边界,这些不是技术问题,但影响你的技术选型。能接受这些不确定性,愿意投入时间让 Agent “成长”的话,Hermes 值得一试。
如果你已经在用 OpenClaw,hermes claw migrate 一条命令就能导入全部配置和记忆数据。用三周,你应该能感受到差别。
延伸阅读:访问 Hermes Agent 官网 或 GitHub 仓库 NousResearch/hermes-agent 了解最新版本。