从OpenClaw到Hermes Agent:两款爆火开源AI Agent的对决与深层技术哲学
前言:当「龙虾」遇见「爱马仕」
2026年4月,AI开源社区最热闹的话题是什么?不是GPT-6发布,不是Claude Opus 4.7登场,而是一场「龙虾」与「马」之间的王者之争。
先火的是OpenClaw——这个被开发者昵称为「龙虾」的AI Agent框架,在2025年末横空出世,半年狂揽35万GitHub星标,一度成为开源Agent领域的绝对霸主。它的架构设计之精妙、工具链之完整,让无数开发者感叹:「终于有一款能让AI真正帮我们干活的工具了。」
然而进入2026年4月,才火了不到两个月的OpenClaw就迎来了它的挑战者——Hermes Agent,被社区戏称为「爱马仕」。它连续数周占据GitHub Trending榜首,上线首月斩获2.2万星,4月新版本发布后单日新增6400+星,六周内狂揽超过6.4万星,截至4月中旬总星标突破7万,周均增速是同期同类项目的三倍有余。
更戏剧性的是,4月10日,Nous Research的创始人Teknium跳出来发推吐槽:Anthropic正在「复制」Hermes的自动判断任务完成、主动提醒用户的功能。社区叙事因此高度统一:Hermes凭借自进化Agent、自动记忆管理和用户建模系统,在技术上全面超越了前任王者OpenClaw。
但如果我们真正把两边拆开对比,会发现一个令人震惊的事实:两者在功能上几乎一模一样。
定时调度、子Agent委派、浏览器自动化、TTS语音合成、Vision视觉能力、图像生成、语音交互、多平台Gateway集成——功能清单对着打勾,几乎每一项两边都有。功能表上的「绝对碾压」根本不存在。
那么,Hermes凭什么火成这样?社区里被吹上天的「自进化」「自动记忆」「用户建模」,到底有多少是真正的底层结构差异?本文将深入代码与架构层面,揭开这场对决的真相,并探讨两者背后截然不同的技术哲学。
一、Skill体系:谁来按下启动键?
1.1 什么是Skill?
Skill(技能)是Agent工作流的知识单元,本质上就是一个Markdown文件。它的作用是告诉Agent:遇到某类任务该按什么步骤干、中间调用什么工具、搞砸了怎么救场。
Skill的质量直接决定Agent的执行效率。一个精心编写的Skill,可以让Agent在遇到同类任务时,从「每次都要从头推理」变成「直接调用已有经验」,效率提升可能是10倍甚至100倍。
1.2 OpenClaw的Skill体系:全手动模式
OpenClaw的Skill系统设计非常清晰,但每一步都需要用户主动介入:
- 手动创建Skill文件:用户需要自己在特定目录下创建
.md格式的Skill文件 - 手动安装:通过CLI命令将Skill安装到系统
- 手动授权:三个条件(文件存在 + 已安装 + 已授权)全部满足后,Skill才会生效
- 手动管理生命周期:新增、修改、禁用Skill都需要用户操作
更关键的是,OpenClaw的Skill加载机制极为简单粗暴:只要配了就全量塞进上下文,除非用户手动加禁用标签,否则系统不会做任何任务匹配判断。
# OpenClaw Skill加载示意
def load_skills():
# 粗暴全量加载
for skill in all_installed_skills:
context.add(skill.content) # 不做匹配,全部塞进去
这种设计的优点是:用户有完全的控制权。你知道自己给Agent喂了什么,知道它在什么场景下会调用什么Skill。但缺点也很明显:每一步都需要人工介入,无法形成自动化的经验积累闭环。
1.3 Hermes的Skill体系:自动进化闭环
Hermes把技能的生命周期硬生生劈成了两截:运行时的静默生成和离线的批量进化。
第一截:运行时静默生成
平时让Agent干活,只要满足以下任一条件,主仓库里的硬规则就会被触发:
- 在任务执行过程中调用了5次以上工具
- 出了错又自己把流程救回来了
- 用户直接纠正了Agent的输出
Agent会自动把刚才那套跑通的工作流打包,存成本地的Skill文件。这一步完全静默,用户根本不知道它又给自己写了个新技能。
第二截:四层渐进加载
下次再遇到类似任务,Agent不会傻傻地加载全部Skill,而是分四层渐进加载:
Tier 0(目录卡片层) → 只把名称和描述塞进系统提示词(约3000 token)
Tier 1(摘要层) → 加载核心执行步骤
Tier 2(详细层) → 加载完整内容,包括边界条件处理
Tier 3(全量层) → 加载所有细节
就像去图书馆找资料:先看目录卡片确定方向,再逐层深入。这套机制把Skill匹配做到了精准且高效。
第三截:离线批量进化(核心武器)
真正让Hermes拉开身位的,是内置的离线批量进化算法,放在独立仓库hermes-agent-self-evolution中。引擎用的是DSPy框架,核心算法叫GEPA。
GEPA——Genetic-Pareto Prompt Evolution,出自Lakshya Agrawal等人的ICLR 2026 Oral论文《反思性提示词进化可以跑赢强化学习》。
这是最关键的部分。大多数学术界的技能进化方案都在走RL(强化学习)路线,像SkillRL或SAGE这些框架,指望用梯度更新来强化技能库。但GEPA刻意抛弃了强化学习,走了一条完全对立的路:用大模型的反思能力加上进化算法,不仅能跑赢RL,样本利用效率还更高。
GEPA有三个硬核底座:
① 反思性变异(Reflective Mutation)
不是瞎猜式的随机变异。模型会读之前的执行轨迹(trace),自己反思:
- 这次为什么做对了?
- 为什么做错了?
- 提示词到底该改哪几个字?
② 帕累托前沿选择(Pareto Frontier Selection)
生成了一批候选技能后,不是只留全局均分最高的。只要某个候选在哪怕一个评估样本上表现最强,它就会被保留下来。这么做是为了保证技能探索的多样性和鲁棒性。
③ 自然语言反馈作为变异信号
传统RL靠数值reward引导参数更新,但数值信号颗粒度太粗——跑了一次得0.6分,你根本不知道哪里对哪里错。GEPA的每次变异用的是具体的自然语言反馈:
- 「这一步没检查边界条件」
- 「应该先读配置再写缓存」
- 「文件描述符没有正确关闭」
LLM读得懂这种反馈并据此产生下一轮变体,比解读一个浮点数有效得多。
完整的进化工作流:
1. 系统定期读取现有SKILL文件
2. 从历史会话中抽样(或自己合成)生成评估集
3. GEPA介入:读执行轨迹 → 反思提意见 → 生成候选变体
4. 跑一轮评估
5. 帕累托算法选出最优
6. 生成PR(Pull Request),等待人类审核
关键设计:进化后的Skill不会直接覆盖原文件,而是生成PR,必须等用户审核合并才生效。 系统永远不会进行直接提交。这直接戳破了社区里「用户完全无需介入」的爽文神话。
1.4 两者的本质差异
OpenClaw说:「你自己搞。」
Hermes说:「放着我来。」
真正的区别不在于Skill本身,而在于谁来按下启动键。OpenClaw把决策权交给用户,保证控制力但无法自动积累;Hermes把决策权硬编码进规则系统,让系统在特定条件下自动执行,减少用户的认知负担。
二、记忆系统:谁在替谁记事?
2.1 三大主流Agent的记忆系统对比
现在的三大主流开源Agent(Claude Code、OpenClaw、Hermes)都有自动记忆,但只要稍微深挖就会发现,它们服务的对象、触发机制和记忆保质期完全是两码事。
2.2 Claude Code:严格项目隔离的记录仪
Claude Code的自动记忆是默认开启的,干活时会自动把构建命令、调试经验、架构笔记甚至代码风格都记下来,每24小时跑一次Auto Dream整理,把过期或自相矛盾的内容清掉。
但这套系统有极其严格的项目隔离:边界卡死在git root(项目根目录)上。项目A里学到的血泪教训,绝对带不到项目B里。它不记你的个人偏好,不关心坐在屏幕对面的是谁,脑子里只有「这个项目该怎么跑」。
2.3 OpenClaw:被动触发的长期记忆
OpenClaw的记忆系统更偏长程。每次启动对话,它都会把包括MEMORY.md和USER.md在内的8个底层文件强制灌进上下文。这两个文件不仅跨项目共享,而且会自动写入。
写入机制极为被动,更像是兜底:每次对话的上下文(token)快要撑爆、系统准备做大压缩(compaction)之前,Agent会悄悄跑一个silent turn(隐藏轮次)。在这个轮次里,把当前聊过的重点随手记到当天的日记文件里,同时把关于你的偏好写进长期挂载的MEMORY.md或USER.md。
所以隔几天一打开发现它「居然还记得你是谁」,靠的是这张被动结成的长期大网。这确实能让人产生「这AI可以养」的实感。但本质上更像是一种求生本能——眼看脑子装不下了赶紧存一下档。
2.4 Hermes:主动出击的认知引擎
Hermes的记忆系统在v0.7之前默认使用Honcho作为长期记忆后端。Honcho不走向量相似度检索的老路,而是一个**「AI原生」的记忆后端**,主打异步的辩证推理和深度实体建模。
Agent和用户聊完天,主会话结束了,但Honcho的活才刚开始:
- 在后台拉起额外的模型调用
- 对刚聊完的历史进行分析
- 提炼出用户话里的概念(Entity)
- 提取底层偏好
- 把用户前后矛盾的话进行辩证和对齐
- 把碎碎念计算成结构化的「洞察(Insight)」
更关键的是,Hermes搞了个微调(nudge)机制:不等脑子撑爆,大概每聊15轮对话就会被硬性触发一次。这是系统强制塞给Agent的一条反思指令——赶紧回顾一下刚才聊的,看看这人有什么习惯值得记一笔。
这种高频的主动反思,让Hermes在同等时间里写进持久文件的信息量大得惊人。
不仅写入更积极,Hermes找回记忆的手法也更硬:默认内置SQLite FTS5全文检索能力。不用配什么词向量服务,Agent想翻旧账,直接就能去庞大的过往聊天记录里扫街。
2.5 三者对比一览
| 维度 | Claude Code | OpenClaw | Hermes |
|---|---|---|---|
| 记忆隔离 | 项目级严格隔离 | 跨项目全局共享 | 跨项目全局共享 |
| 写入触发 | 主动定期整理(每24h) | 被动(上下文压缩前) | 主动(每15轮强制) |
| 记忆后端 | 内置auto-memory | 文件系统+关键词搜索 | Honcho+多插件支持+SQLite FTS5 |
| 检索方式 | 语义向量 | 关键词生搜 | 全文检索 |
| 记忆质量 | 项目导向,不关心人 | 被动积累,偏向用户 | 主动反思+辩证推理 |
三、上下文管理:确定性优先于智能
3.1 Session内部不做动态判断
无论Skill的自动生成,还是记忆的高频主动写入,背后的核心逻辑都是同一个:Hermes只是替你把本该你做的决定都做了。
但系统复杂度是守恒的。你不用动手,不代表决策凭空消失了,它只是从你的手动操作转移到了底层的硬编码规则里。
在构建这套harness的过程中,Hermes的设计者领悟了一个道理:模型判断不可信,那就做成死规则。
Agent干活的时候并不是一个纯粹的大模型在裸跑思考,大模型外面严严实实地包着一层代码框架。这层框架里写满了条件判断:
工具调用满5次了吗? → 触发技能生成
对话轮数凑够15轮了吗? → 触发反思指令
刚才是不是刚死里逃生重试了一次? → 记录经验
用户有没有明确指出错误? → 修正并沉淀
这些问题系统根本不打算交给大模型去模糊判断,而是用确定性的代码一条条死盯。条件一满足,立刻执行预设动作。
3.2 上下文管理:宁可笨一点,也要稳一点
当对话撑到85%阈值时,Hermes的ContextCompressor根本不让大模型做智能摘要,而是一套纯粹的字符串替换逻辑,把旧的工具输出直接换成一个占位符。粗暴但绝对安全。
记忆层面用的是冻结快照策略:开机时把记忆一次性倒进系统提示词,中途不刷新,等下次重启才生效。这牺牲了实时性,但换来了前缀缓存稳定的命中率,直接砍掉大约75%的token输入成本。
两个选择的底层精神高度一致:session内部不让LLM做关于上下文和记忆的动态判断,用最笨的规则保住确定性。
3.3 安全审查:规则化而非模型化
内置的Smart审批模式同样不让大模型当裁判去判断一条命令危不危险,而是直接拿硬编码的黑名单去正则匹配终端操作。匹配中就必须人类点头确认。
3.4 插件系统:把开发者当潜在敌人
Event Hooks系统里有6种钩子,其中5种全都是**触发即忘(fire-and-forget)**的看客,系统根本不管它们的返回值。想修改Agent的运行上下文只有一个唯一的注入点。官方死死卡住一条底线:就算插件代码跑崩了也绝不拖垮Agent的主循环。
这几个看似保守的选择,底层逻辑高度一致。
今年初Chroma团队做过压测:单轮变多轮后,模型平均性能直接掉39%,最惨能掉85%。同一时期的记忆综述论文也指出,在超长上下文施压下,死板的规则化跑分愣是碾压了让大模型全权统管的方案。
当大模型驾驭超长上下文的底子还虚的时候,那些听起来越智能的统管方案越容易原地爆炸。反倒是越笨的死规则越靠得住。
四、干预递减光谱:谁站在哪一端?
4.1 开源Agent的一段光谱
把Claude Code、OpenClaw和Hermes串起来看,市面上的开源Agent其实铺成了一段清晰的**「干预递减」光谱**:
Claude Code / Codex OpenClaw Hermes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
「所有决定由人来做」 「全都交给Agent包办」
↓ ↓
生产工具定位 自动化工具定位
精确控制第一顺位 用户体验第一顺位
开发者必须盯每一步 Agent在阴影中自主进化
4.2 各端的特点
Claude Code / Codex端(最左):
- 每一步都要人类确认
- Skill需要手动编写和安装
- 记忆完全按项目隔离
- 适合专业开发场景,精确控制永远是第一顺位
OpenClaw端(中间偏左):
- 定时调度、Skill系统都已内置
- 但Skill需要手动安装
- 记忆靠被动触发
- 适合有一定技术背景的用户
Hermes端(最右):
- Skill自动生成、自动进化
- 记忆主动写入且高频触发
- 上下文管理全部规则化
- 押注:大部分用户既不想弄懂、也不屑于弄懂Agent怎么跑
- 目标:让你不知不觉中自己越变越好
4.3 Hermes的野心
Hermes的野心不是让你觉得它好用,而是让它在不知不觉中自己越变越好。它的核心假设是:大多数用户要的不是控制权,而是结果。你只管张嘴提需求,剩下的Skill匹配、记忆分类、上下文压缩,全都在阴影里完成。
这不是一个技术判断,而是一个产品判断。
五、扛不住硬活,但方向对了
5.1 激进设计的问题
尽管Hermes已经很克制,用各种技术保守的规则系统剥夺了模型的自由判定权,以使这个更自动化的系统能够稳定。但就放了这么点非规则的权限,模型就开始拉垮。
重灾区是那套引以为傲的技能系统。
不止一个高阶玩家抱怨:自己花好几个小时手动精调出来的Skill,被全自动的进化流程直接覆盖掉,这完全是没法接受的灾难。
自动记忆微调的机制同样经不起细看。nudge的本质是让Agent自己判断这轮有没有值得记的,但社区发现Hermes判断自己「是否完成了任务」时几乎总觉得自己成功了。所以反思出来的记忆,非常薄弱。
如果是拟一份核心合同、过一遍底层代码、或者搭复杂的财务模型,全自动模式本身就是一个巨大的隐患。这也是那些老牌专业工具不敢直接上全自动的原因——专业人士会为Agent的脑抽付出真金白银代价的。
5.2 它真正擅长的场景
但是在写周报、翻天气、整理本地文件这种容错率极高的日常重复任务里,Hermes现在确实能站得住。只要给它二十几次迭代的机会,那些慢慢攒起来的Skill和记忆,确实能让它跑得又稳又快。
更关键的是,它踩在了一个基本确定的方向上。
5.3 一个有意思的演进信号
梳理这两个月的发展,会看到一条非常有意思的演进弧线:
- 2026年2月25日:Hermes首发,打出的旗号是「与你共同成长的Agent」。靠着主动记忆、自动进化和激进路线,一口气冲到57,200颗星。
- 2026年4月3日:v0.7韧性更新发布,悄悄往回撤了半步。引入了抽象接口,把原本写死在系统里的唯一高级记忆后端Honcho,降级成了和MEM0、ByteRover等6个第三方服务平起平坐的插件。反而把最原始的纯文件+全文检索顶成了默认兜底方案。
一个自己靠「AI原生记忆」出圈的项目,在新版本里悄悄把最土的文件系统检索推上了默认位。这背后的信息量极大:团队意识到Honcho那种重剑无锋的风格太费token了,设成插件让用户自己选是更务实的选择。
六、技术哲学:自动化并没有消灭决策
6.1 被隐藏的复杂度
把视角拉高,我们会发现OpenClaw和Hermes之争,本质上是两种技术哲学的碰撞:
OpenClaw哲学:
- 用户是主人,Agent是工具
- 控制权神圣不可侵犯
- 每一个自动化步骤都需要用户显式授权
- 优点:稳定、可预测、出了问题容易排查
- 代价:每一步都需要人工介入,无法自动积累
Hermes哲学:
- Agent是伙伴,用户是被服务的对象
- 能自动化的就自动化,把决策藏到看不见的地方
- 用户不需要懂技术,只需要提需求
- 优点:上手极简,长期使用越来越聪明
- 代价:黑箱化,出了问题排查困难,全自动模式在专业场景有风险
6.2 没有免费的午餐
这两种哲学各有其合理性和局限性。
OpenClaw的设计哲学对专业用户极度友好。你知道自己给Agent喂了什么,知道它在什么场景下会调用什么Skill,出了问题可以快速定位。但对普通用户来说,每一步都要手动配置的学习曲线太高了。
Hermes的设计哲学对普通用户极度友好。你不需要任何配置,装好就能用,用着用着就越来越聪明。但对专业用户来说,那些在阴影里自动发生的变化是不可接受的——你精心调优的东西,可能被自动进化流程覆盖掉。
自动化并没有消灭决策,它只是把决策藏到了看不见的地方。
6.3 行业趋势的信号
从更宏观的视角来看,AI Agent领域正在经历一个从「工具」到「伙伴」的范式转变:
第一代(工具) → 第二代(伙伴)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
我下达命令 我提出需求
Agent执行 Agent理解意图
我检查结果 Agent主动汇报
我更新规则 Agent自动进化
这个转变的方向是确定的,但路径是曲折的。Hermes踩对了方向,但它的实现方式——把大量决策硬编码进规则系统——也暴露了当前大模型能力的局限性。
当大模型真正能够可靠地判断上下文、管理记忆、优化技能的时候,这些「死规则」才会真正被解放。但在那之前,Hermes式的保守主义工程实践,是目前能找到的最诚实的解法。
七、实战部署:如何在你的服务器上跑起来
7.1 环境要求
最低配置:可在 $5 VPS 上运行
推荐配置:2GB+ 内存(做浏览器自动化需要更多)
系统要求:Linux / macOS / WSL2 / Android (Termux)
语言要求:Python >= 3.11(硬性要求)
7.2 快速安装
# 克隆仓库
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
# 安装依赖
pip install hermes-agent
# 配置API Key(支持多种后端)
export OPENAI_API_KEY="your-key"
# 或者
export OPENROUTER_API_KEY="your-key"
# 或者配置其他支持的模型后端
# 启动CLI
hermes
7.3 Skill系统实战
<!-- my-coding-skill.md -->
# 我的代码审查技能
## 触发条件
当用户要求"审查代码"、"看看这段代码有什么问题"时激活
## 执行步骤
1. 读取目标文件的完整内容
2. 静态分析:检查常见漏洞模式
- SQL注入风险
- XSS风险
- 硬编码密钥
- 未处理的异常
3. 代码质量评估
- 命名规范
- 函数复杂度
- 重复代码
4. 输出结构化报告
## 边界条件
- 文件超过5000行:分段处理,每段单独分析后合并
- 二进制文件:跳过,输出"不支持二进制文件"
- 网络错误:重试3次,失败后输出具体错误
## 急救措施
- Agent崩溃:重启Agent,报告已分析到的位置
- 上下文超限:只分析核心逻辑,跳过辅助函数
7.4 记忆系统配置
# config/memory.json
{
"backend": "honcho", // 或 "mem0", "byterover", "file_system"
"nudge_interval": 15, // 每15轮触发一次反思
"context_threshold": 0.85, // 上下文用到85%时压缩
"freeze_memory": true // Session内不刷新记忆快照
}
八、总结:没有完美的Agent,只有适合的选择
8.1 选OpenClaw,如果:
- 你是专业开发者,需要精确控制每一步
- 你想自己管理Skill体系,不想被系统「擅自」做决定
- 你在使用多项目场景,需要严格的项目隔离
- 你更看重透明度和可预测性,而不是开箱即用的便利
- 你需要深度定制的Agent行为,愿意投入时间配置
8.2 选Hermes,如果:
- 你是普通用户,想要一个「装好就能用」的智能助手
- 你追求长期使用体验,愿意给Agent 20+ 次迭代的机会
- 你不需要理解技术细节,只想要结果
- 你在个人助理场景(整理文件、写周报、管理日程)
- 你愿意接受全自动进化带来的不确定性,换取更好的长期体验
8.3 两者都在进化
有趣的是,两边团队都在互相学习。OpenClaw在增强自动化能力,Hermes在往回撤变得更可控。这个互相「抄作业」的过程,最终受益的是用户。
2026年的AI Agent战争,不是零和游戏。 OpenClaw和Hermes代表了两种同样有效但服务不同人群的产品哲学。一个是给「想自己掌控」的用户的,一个是给「只想要结果」的用户。
最终胜出的不会是某一个,而会是多个定位不同的Agent生态共存,就像IDE领域VSCode和JetBrains各有一席之地一样。
附录:关键时间线
| 时间 | 事件 |
|---|---|
| 2025年末 | OpenClaw横空出世,半年狂揽35万星 |
| 2026年2月25日 | Hermes Agent首发,首月斩获2.2万星 |
| 2026年4月3日 | Hermes v0.7韧性更新,记忆后端抽象化 |
| 2026年4月10日 | Teknium炮轰Anthropic「复制」Hermes功能 |
| 2026年4月14日 | GitHub星标突破7万,连续多日霸榜Trending |
| 2026年4月15日 | EvoMap指控Hermes抄袭其Evolver引擎 |
| 2026年4月中旬 | 总星标突破8.5万 |
本文参考资料: