乐于分享
好东西不私藏

把OpenClaw、Hermes和Claude Code都跑了一遍,Harness这么弱鸡啊!

把OpenClaw、Hermes和Claude Code都跑了一遍,Harness这么弱鸡啊!

前段时间,我陆陆续续装了三个AI编程助手:Claude CodeHermes Agent 和 OpenClaw

初衷很简单——想找个趁手的工具。但用了没多久就发现一个奇怪的事:这三个东西明明都在帮你写代码、改文件、跑命令,可用起来的感觉完全不一样。

Claude Code 像个沉默但靠谱的高级工程师,你让它干嘛它干嘛,但你不问它绝对不多说一个字。Hermes 像个有强迫症的实习生——做完每个任务都要写个总结,过两天再问你”上次那个方案要不要优化一下”。OpenClaw 最离谱,一装上就问你”要不要连你手机?要不要接 Telegram?要不要搞个定时任务?”

我当时觉得这就是三种产品风格。直到后来慢慢琢磨,看了些关于 Agent Harness 的分析,才意识到问题出在哪——它们虽然都叫 “AI Agent”,但底层的 Harness 设计哲学完全不同

不是模型的问题,是 Harness 的问题

业界有个共识公式:Agent = model + harness

什么意思?你给 Claude、GPT 套上一个能调用工具、记录过程、评判结果的”外壳”,它才从”模型”变成了”Agent”。这个外壳就是 Harness。

一个最简版的 Harness 只需要五样东西:

  • Task:你要 Agent 干什么

  • Environment:它能操作什么文件、代码仓库

  • Tools:它能用哪些工具(读文件、跑命令)

  • Trace:每一步调了什么、返回了什么,全部记下来

  • Grader:任务做完了,判断成功还是失败

听起来很简单对吧?但正是这五个模块的取舍,决定了 OpenClaw、Hermes 和 Claude Code 走上了三条完全不同的路。

三个框架,三种 Harness 哲学

Claude Code:脚手架型——越轻越好

Claude Code 的设计有个核心原则:信任模型,管好边界

它不会教模型该怎么做——模型自己想调什么工具、什么顺序、什么时候停,它全听模型的。Harness 只在两处卡住你:权限检查和上下文溢出。

你细看它的源码会发现,最庞大的代码模块不是主循环,而是权限系统——六种权限模式、八个权限来源、自动审批分类器。主循环反而薄得可怜,就是把每轮消息历史完整甩给模型,工具跑完立刻流式返回。

记忆也是极简路线:一个 CLAUDE.md 文件,再加一个 Auto Memory——模型自己往目录里写 Markdown。没有向量检索,没有 embedding,没有外部数据库。它相信模型够聪明,让它看到就够了。

我在用 Claude Code 时最直观的感受就是:它永远不会主动帮你记东西。你说”帮我记住这个”,它才会写一行。你不说,它就当没发生。但也正因如此,它的上下文一直很干净,不会被一堆”可能有用”的记忆撑爆。

Hermes Agent:学习系统型——越用越聪明

Hermes 的思路和 Claude Code 完全相反:光让模型看到不够,得帮它积累

它的记忆系统分三层:

  • 第一层:MEMORY.md 文件,会话开始时注入 prompt

  • 第二层:SQLite + 全文搜索,所有历史会话可检索

  • 第三层:8 个外部 memory provider 插件,可以做跨会话的推理和用户建模

最让我惊讶的是它的程序性记忆——Agent 完成任务后,会自己把方法总结成技能文件存下来。下次遇到同类任务,直接加载技能。用了一段时间,它自己积累了 20 多个技能,同类任务完成速度快了接近一半。

这感觉就像带了一个会自己写 SOP 的助理。第一次做某事磕磕绊绊,第二次就利索了,第三次直接秒出。

但代价是什么?上下文膨胀。Hermes 默认会加载历史记忆摘要和技能清单,对于一个复杂任务,光是 system prompt 就占了小半窗口。

OpenClaw:基础设施型——先建管道

OpenClaw 不跟你谈记忆、不跟你谈学习。它上来就是一个问题:你的 Agent 跑在哪?谁来连它?

它的核心是 Gateway——一个长期运行的控制平面。无论是 CLI、macOS App、Web UI 还是 Telegram 机器人,全部通过 WebSocket 连到同一个 Gateway。你的手机、Mac、远程设备统一声明为 node,暴露摄像头、屏幕、Canvas 这些能力。

OpenClaw 的设计哲学是:先做神经系统,再做大脑。

它不在乎模型是 Claude 还是 GPT,先把你所有设备的连接管道铺好。记忆系统也别急着定——搞了个 Context Engine 可插拔架构,四个生命周期点(消息进来时、构建上下文时、压缩时、一轮结束后)全部开放成插件接口。

能力扩展也走生态路线:59,000+ 社区 Skill 挂在 ClawHub 上,一条命令安装。这种”把能力管理交给社区”的思路,让它成了三个框架里最不像产品的那个——更像一个Agent 操作系统

模型一直在进步,Harness 呢?

这个问题三个框架都想过,答案完全不一样。

Claude Code 做减法。它认为 Harness 里编码的都是对模型能力边界的假设。模型变强了,这些假设就过期了。所以它设了大量功能开关,每个组件都要能被安全移除。Sonnet 4.5 时有上下文焦虑,加了重置机制——Opus 4.5 出来后行为自己消失了,重置机制直接变死代码。

Hermes 做加法。它认为有些东西永远不会过期:你的历史任务记录、你沉淀下来的技能、你对用户的建模。模型再强,也需要知道”上次这个用户让我做过什么”。所以它花大力气做技能自动优化——用 DSPy 跑评估任务,持续优化沉淀下来的能力。

OpenClaw 建管道。它说模型再强也替代不了”管谁能在什么时候通过什么入口让 Agent 做什么事”这一层。Gateway、多入口路由、设备节点、会话隔离——这些是连接现实世界的管道,不会因为模型升级而过时。

维度 Claude Code Hermes Agent OpenClaw
核心定位
权限+上下文保护
Agent Loop 能力密度
多入口协议统一
记忆方案
极简文件型
三层分级+外部插件
可插拔 Context Engine
扩展方式
MCP + Hooks + Skills
Registry 自注册+自创建技能
ClawHub 社区生态
模型进步
做减法,移除过时组件
做加法,积累经验复利
建管道,基础设施不变
一句话总结
信任模型,管好边界
每次任务变下次能力
先连世界,再谈智能

我怎么选的

坦白说,我现在三个都在用,场景不一样。

日常写代码、改 bug 这些零碎活,我用 Claude Code。它最安静,不废话,不拦我,也不往上下文里塞一堆我不需要的东西。唯一的代价是——你用完就完了,它不会帮你记住任何东西。

但遇到那种需要反复琢磨的大项目,比如搭一个从零到一的系统、写一个系列文章,我就切到 Hermes。它那个”做完自动存技能”的机制是真香——上周调好的 prompt 模板,这周直接加载,不用重新来一遍。当然,上下文确实会涨,但对我来说值。

OpenClaw 我用得最少,但不是因为它不好。是我目前的需求还没到那个量级——什么时候我需要让 Agent 定时跑任务、手机远程触发、多设备协同,它就是我唯一的选项。它的 Gateway 架构决定了它能撑很久,这是 Claude Code 和 Hermes 目前都给不了的。

说到底,你得先搞清楚自己缺什么。缺安静就上 Claude Code,缺积累就上 Hermes,缺连接就上 OpenClaw。三个都缺的话——恭喜你,跟我一样,三个都得装。

说个有意思的事:这三个框架最近都在互相抄。Claude Code 加了 auto memory 和 channels,Hermes 加了 Gateway,OpenClaw 在搞可插拔的 Context Engine。

起步的时候各走各的,走到后面发现大家都在往同一个方向靠——一个有记忆、有技能、有入口、有权限的个人 AI 系统。

说点实在的

写这篇文章的时候我其实在想一件事:我们花了太多时间纠结选哪个模型。Claude 还是 GPT?Opus 还是 Sonnet?

但跑完这三个框架之后我发现,真正拉开差距的不是模型,是你怎么用它。

你用 Claude Code 的方式决定了它是个听话的工具还是一个能自主决策的 Agent。你给 Hermes 喂了多少任务决定了它的技能库能不能真正帮到你。你给 OpenClaw 接了哪些设备决定了它到底是个聊天窗口还是你的数字分身。

回到那个公式——Agent = model + harness。往深了想,模型是别人造的,Harness 是你自己搭的。

别人造的东西会趋同,你自己搭的东西才是你独有的。

往期推荐

▶ 84.9k Star的火爆Skills!让OpenClaw和Hermes真正听懂你!
▶ 7步让能力提升10倍!Hermes Agent满配指南!
▶ 装了一个插件后,我的OpenClaw、Claude、Cursor突然变聪明了 10 倍!
OpenClaw完成了历史使命,没人用了。