乐于分享
好东西不私藏

OpenClaw + Hermes Agent:Agent 工程开始从"会调用工具"走向"会积累经验"

OpenClaw + Hermes Agent:Agent 工程开始从"会调用工具"走向"会积累经验"

当入口网关遇到自进化 Agent,大模型应用的工程边界正在被重新划分。


这两年聊 Agent,大家的注意力其实都被一个问题吸住了:

它能不能调用工具?
能查网页吗?能读文件吗?会写代码吗?能跑命令吗?接没接 MCP?
但你把 OpenClaw 和 Hermes Agent 摆在一起看,会发现 Agent 工程真正要解决的事,早就不只是”会不会调用工具”了。
它要回答的是另一组更根本的问题:

一个 Agent 怎么从各种不同的入口接到任务?长期跑下来怎么保住上下文?做过一遍的事,下次怎么还记得?跑得久了,怎么不踩雷?

OpenClaw 和 Hermes Agent 这两个项目,刚好代表了两个完全不同的方向。
OpenClaw 更像是一个多入口 AI Gateway。它把 Telegram、Slack、Discord、WhatsApp、Signal、iMessage、WebChat、移动端节点这些入口全都统一收进同一个 Gateway,让 Agent 不再只活在一个网页聊天框里,而是可以直接出现在用户每天真正在用的那些消息软件里。它的官方文档把 Gateway 描述成 sessions、routing 和 channel connections 的 single source of truth——说白了就是”所有渠道的总开关”。
Hermes Agent 则更像一个能长期运行的 Agent Runtime。它讲的是自我学习、长期记忆、Skills 自动生成、工具调用、MCP 集成、跨会话经验沉淀。官方文档直接把它定位成 self-improving AI agent——重点是这几个能力:从经验里造 Skills、改 Skills,然后在不同会话之间还能记得你是谁、之前在干嘛。
把这俩叠在一起看,你看到的就不是”一个更大的聊天机器人”了,而是一种更接近真实 Agent 系统的分层架构:

这可能就是下一阶段 Agent 工程最值得盯紧的方向。

Agent 不该只有大脑,还得有神经系统

很多 Agent 项目一开始,几乎都是同一个套路:
挑个强模型,接几个工具,写段系统提示词,套个 Web UI,然后宣布——”我们做了一个 Agent”。
这种系统拿来 demo 是没问题的,但要长期跑起来,基本撑不住。

真实的任务从来不会乖乖坐在输入框里等你

为什么撑不住?因为真实任务从来不会从一个干干净净的输入框出发。它们从四面八方冒出来:消息软件、命令行、Webhook、网页表单、群聊、手机端、定时任务、文件变更、系统告警……什么都有。
所以 Agent 首先要解决的根本就不是”怎么思考”,而是更前面那一步——“从哪里感知到这个世界”
这一层是被绝大多数 Agent 项目轻视掉的。它没有”自主决策”那种戏剧感,讲起来也不性感,但它直接决定了 Agent 能不能真正进到工作流里。

OpenClaw 想做的,就是那套”外围神经”

OpenClaw 的核心是一个长期运行的 Gateway,负责接各种消息渠道、维护会话、管路由、连设备节点、跑 WebSocket、提供控制界面。官方架构文档里讲得很明白:这个 long-lived Gateway 拥有所有 messaging surfaces;CLI、Web UI、macOS app、automations 通过 WebSocket 接进来,iOS、Android、headless nodes 也都通过 WebSocket 接进来,各自声明自己能干什么。
也就是说,OpenClaw 真不是个”套了壳的聊天界面”,它更像是 Agent 长出来的一套外围神经系统
它每天在操心的事大概是这一组:

为什么这一步特别关键

我们以前习惯说”打开某个 AI 工具,然后输入需求”。
而 Gateway 型 Agent 要做的事,刚好是反过来的:

用户在他原本干活的那个地方就直接发起需求,Agent 在背后悄悄完成接收、判断、执行、再写回去。

这个差别比看起来要大得多。它意味着 Agent 不再要求用户改变工作习惯——而你要让一个企业用户打开一个新 App,那比让他改业务流程还要难。Agent 必须像水一样,自己渗进那些已经存在的沟通入口里。
这也是为什么 OpenClaw 这种入口型项目,在落地阶段的工程价值会越来越大:模型在变,工具在变,但”用户从哪里发起任务”这件事,基本是不变的——一个稳定的 Gateway,等于给上层 Agent 留了一条不会被生态变化冲走的接入面。

Hermes Agent 解决的是另一件事:做完别失忆

OpenClaw 解决的是”任务从哪儿来,结果回哪儿去”。
Hermes Agent 解决的是另一个问题——”这次做完,下回我能不能更熟练?”

普通 Agent 的最大毛病:每次都像第一天上班

同样的项目背景,得反复讲。
同样的操作规范,得反复说。
同样的坑,得反复踩。
同样的执行路径,得从头摸索一遍。
很多团队的应对方式,就是不停地堆——堆 Prompt、堆聊天记录、堆模板、堆文档。但堆得越多,你会发现复用率反而越低。
为啥?因为这些东西根本没有进到 Agent 的运行机制里去,它们只是散落在系统外面的”文本仓库”。它们躺在 Confluence 里、躺在 Notion 里、躺在某个工程师本地的 markdown 文件里——只在某个工程师碰巧记得的时候,才会被翻出来,粘进 Prompt。这哪是经验沉淀啊,这叫经验考古

Skills 这个东西,关键在于它是 procedural memory

Hermes Agent 的设计重点,就是把”经验沉淀”这件事真正嵌进 Agent Runtime 里
它把 Skills 定义成一种 procedural memory——也就是过程性记忆。Skill 不是泛泛的事实记忆,它要回答的是一个具体得多的问题:这类任务,到底该怎么做?
按官方文档的描述,Hermes 的 Skill 是一个目录,里面有一份SKILL.md,可以再附带 references、templates、scripts、assets;到了需要用的时候,会被注入到对话里。
它和普通的 Prompt 模板,有一个根本性的差别:
Prompt 模板
Hermes Skill
形态
一段静态文本
一个可执行单元
内容
通常就是描述
步骤 + 工具 + 模板 + 反例
触发
人工挑出来用
Agent 自己看上下文判断
演化
离线编辑
任务做完会自己改进
复用
复制粘贴
直接注入到运行时

一个 Skill 实际上装了什么东西

当 Agent 完成一次任务后,如果发现这次的过程值得复用,就可以把它沉淀成一个 Skill。下一次再遇到类似的任务,就不用再发明一遍轮子了。
这一下,Agent 就从”临时问答器”变成了“经验累积器”——也是它和传统脚本最本质的区别:脚本不会变熟,但 Agent 会

两者叠在一起的核心思路:入口和大脑得分层

OpenClaw 和 Hermes Agent 都支持多平台消息,也都支持工具和 Skills。
但你要把两者叠起来用,最忌讳的就是让它俩抢同一份活。一抢,你得到的就不是 1+1>2,而是两个系统都在做半截活儿、彼此踩脚的混乱。
最稳的做法,是分层。
这样划清界限之后,系统会清爽很多:
OpenClaw 不用再操心复杂记忆和长期学习
Hermes Agent 也不用直接管所有消息入口
MCP 工具不用关心用户从哪个渠道来
安全层不用一次性把所有权限都暴露给入口 Agent
这才是健康的 Agent 工程分层。

分层的本质,就是让每一层都有权”做不好某件事”——因为那件事压根就不归它管。

这种”该做什么、不该做什么”的清晰边界,比”什么都能做”难得多,但也值得多。

OpenClaw 适合扮演的角色,是”入口层”

OpenClaw 自己的文档里,Tools、Skills、Plugins 这三层划得很清晰。Tools 是 Agent 能调用的 typed function,像execbrowserweb_searchmessage;Skills 是会被注进系统提示词的SKILL.md,负责告诉 Agent 啥时候用、怎么用工具;Plugins 则可以打包 channels、model providers、tools、skills、speech、voice、media understanding 等一堆能力。
意思是,OpenClaw 自己其实也能做一个完整的 Agent。

但叠在一起的时候,得给它”踩刹车”

当它和 Hermes 一起用的时候,我更建议把它放在入口层,而不是核心认知层。
理由很简单——入口层最重要的三样东西,是稳定、清晰、低权限
一个 Gateway 要操心的事已经够多了:
这些事情你需要它做得,不需要它做得聪明
如果你让入口层也去搞复杂推理、长期记忆、自我修改 Skills、执行高危命令——那这个系统的可控性就开始崩了。

入口越多,攻击面越大

这是工程上的一条铁律——入口越多,攻击面越大;攻击面越大,权限越得克制
OpenClaw 的官方工具文档里也给了tools.allowtools.deny、tool profiles、tool groups 这一系列控制手段,比如可以拒掉exec,只允许文件、浏览器、搜索、消息这些指定的工具组。这些东西不是装饰品,这是在告诉你:入口层就该被默认配成最小权限
所以叠在一起的时候,OpenClaw 最适合干的事是这些:

多渠道接入     消息标准化

身份和 session 映射

任务转发       结果回写

轻量状态读取   基础通知

它是入口,不是万能执行器。

Hermes 适合扮演的角色,是”执行脑”

Hermes Agent 的工程价值,主要在于它对 Agent Loop 实现得比较完整。

Agent Loop 真实的复杂度

它的 Agent Loop 会做这些事:组装系统提示词和工具 schema、选 provider/API mode、处理可中断的模型调用、跑工具、维护 conversation history、上下文压缩、重试、fallback model……官方开发文档里说,它支持多种 API 模式——OpenAI 兼容的 chat completions、Codex/Responses API、Anthropic Messages API,然后统一到内部的 message format。
更关键的是工具执行那部分。
模型一旦返回工具调用,Hermes 要处理:单工具调用、多工具并发、交互式工具串行、危险命令审批、把工具结果写回 history。官方文档讲得很清楚:多工具调用走ThreadPoolExecutor并发执行,但交互类工具会强制串行,危险命令则会触发 approval callback。

这才是 Agent Runtime 的真面目

不是”模型说要调一个工具,然后调一下”那么简单。
而是要处理一堆这种事:
每一件听起来都不”性感”,但每一件都决定了 Agent 能不能跑得动复杂任务。
特别是iteration budget这件事——它解决的是”Agent 不会陷在自己制造的死循环里出不来”这个非常真实的问题。一个没有预算控制的 Agent,碰上一个它根本搞不定的任务,就会一直重试、一直调工具、一直思考,直到把 token 烧光,或者人工把它拉下来。这种死法在生产环境里成本极高,但在 demo 里你几乎看不到。

Hermes 在叠加方案里的位置

所以叠在一起的时候,Hermes 适合扛起来的活是:
它是大脑,也是工作台。

MCP 是这俩之间最干净的工具边界

Agent 系统里最容易乱的地方,就是工具接入。

工具接入是怎么乱起来的

今天接个 GitHub。明天接个数据库。后天接个浏览器。再过几天又来内部 API、文件系统、CMS、部署平台、表格、对象存储……
要是每个工具都直接焊死在 Agent 框架里,最后你得到的就是一锅工具粥——香气可疑,锅底焦黑
更糟的是,这种耦合一旦形成,后面想拆都拆不动——工具的权限边界、错误处理、版本升级,全都和 Agent 主体死死缠在一起。

MCP 就是来解这个结的

Hermes Agent 对 MCP 的支持,正好是干这个的。
按官方 MCP 文档的说法,MCP 让 Hermes 能去连接外部的 tool servers——GitHub、数据库、文件系统、浏览器栈、内部 API,等等;同时 local stdio servers 和 remote HTTP MCP servers 都支持,启动时可以自动发现并注册工具,还可以做 per-server filtering,只暴露你想暴露的那些。
这样一来,工具层就可以独立出来了:

在叠加架构里,MCP 该放哪里

在 OpenClaw + Hermes 这套组合里,MCP 适合作为 Hermes 的主要工具扩展层:
OpenClaw 负责接消息
Hermes 负责想清楚要调什么工具
MCP 负责把外部能力安全地暴露出来
这比让入口层直接去碰所有工具,要稳得多。入口层默认就是不可信的——消息可以从任何用户、任何渠道飘进来,你让它直接去查数据库、跑命令,那基本相当于把家门钥匙挂在门把手上等小偷来。

Skills 是 Agent 工程里的”肌肉记忆”

如果说 MCP 解决的是”Agent 能连什么工具”,那 Skills 解决的就是”Agent 该怎么用这些工具”。
这俩不是一回事,千万别混。

MCP 是能力接口,Skill 是操作经验

举几个具体的例子:

只有工具,没有 Skill,Agent 就像新员工拿着一堆高级设备,但不知道先按哪个开关。

只有 Skill,没有工具,Agent 又会变成纸上流程专家——讲起来花团锦簇,落地时空气打滑。

在叠加方案里,角色怎么分

OpenClaw 和 Hermes 都支持 Skills,但分工可以不一样:

Hermes 负责生成、改进、沉淀 Skills

OpenClaw 负责加载稳定 Skills,在入口侧做轻量执行

共享 Skills 仓库负责版本管理、审查、分发

Skills 资产化,才是关键

这一整套组合,让 Skills 不再只是几段提示词,而是真正能进入工程生命周期的东西。
这才是 Agent 技能资产化的关键所在。资产意味着可审计、可复用、可演进、可被一整个团队一起维护——这事 Prompt 文件夹永远做不到。
而且这背后还有一层影响:一个团队的”Agent 能力”开始变成可以被衡量、被估值的东西,而不再是几个工程师脑子里的隐性知识。

叠加架构里,最怕的就是权限混乱

OpenClaw 和 Hermes 一叠,能力立马变强。但能力一变强,风险也会跟着变强。

这不是危言耸听:已经出过事

OpenClaw 这类系统,本来就要接消息入口、文件、浏览器、命令执行、第三方 Skills——每一个都是潜在的火药桶。公开的安全报道里就出过:OpenClaw 生态里曾出现过恶意 Skills 的问题,集中在第三方 Skill 诱导用户或 Agent 跑恶意脚本、偷敏感信息这些方向。
这不是某个项目自己的事,这是整个 Agent 系统的通用安全悖论:

Agent 越好用,权限越大;权限越大,边界越不能没有。

更麻烦的是,Agent 还引入了一种新的攻击面——通过消息内容做的提示词注入。OpenClaw 这种多入口系统里,一条来自陌生群的消息、一段网页里的隐藏文字、一封邮件里的引用,都可能变成针对 Agent 的攻击载体。这种东西在传统软件安全里根本没有。

权限必须分层拆开

所以叠加架构里,权限必须拆开来管:
第一层,入口权限。OpenClaw 作为入口,默认就该是低权限的。它可以接消息、转发任务、回写结果,但不该默认就拥有宿主机 shell、敏感目录、数据库写入、批量发消息这些高危能力。
第二层,执行权限。Hermes 作为执行脑,可以摸到更多工具,但要靠 MCP 白名单、沙箱、审批流、工具分级来管住。
第三层,Skill 权限。第三方 Skills 不能直接进生产。带安装命令、脚本、浏览器操作、读凭据、钱包相关、SSH、系统目录访问的 Skill,全部都得审
第四层,记忆权限。长期记忆不是垃圾桶,什么都往里塞会出大事。用户隐私、Token、密钥、内部数据、临时敏感信息,这些都不该进可长期复用的 Memory 或 Skill。

一套能落地的六级权限模型

这不是什么理论模型,这是从真实事故里反推出来的最小防御边界。每一级的边界,背后都对应着一个真实发生过、付了代价的失败案例。

Agent 工程里,安全不是事后补的墙纸,它得是地基里的钢筋。


把它们组合起来,是这样一套架构

把 OpenClaw 和 Hermes Agent 叠起来,可以形成这样一整套技术架构:
这套架构最大的好处,就是每一层都只做自己最擅长的那件事:
OpenClaw 不用变成复杂大脑
Hermes 不用变成全渠道入口
MCP 不用理解业务对话
Sandbox 不用参与推理
Skills 不用承担权限控制
层次清楚了,系统才有机会长期演化。
而且这种分层还有一个被低估的好处——任何一层都可以被换掉。明天出来一个比 Hermes 更猛的 Runtime?把中间那层换了。出来一个比 OpenClaw 更好的 Gateway?把最上面那层换了。MCP 协议演进?换工具层适配。这种可替换性,本身就是工程稳定性的一个重要来源。

真正的变化:Agent 从”工具调用”走向”运行系统”

OpenClaw + Hermes Agent 叠在一起,带来的不是一个”功能更多了”的 Agent,而是Agent 形态本身的变化

从一个能力点,到一整个系统

早期的 Agent 大概就是模型 + 工具调用 + 聊天界面;现在开始变成入口层 + Runtime + Memory + Skills + MCP + Sandbox + Audit
这意味着,Agent 工程正在从”写 Prompt”走向”搭系统”。
Prompt 还重要,但它只是其中一层。工具也重要,但工具不是全部。模型能力很关键,但模型替代不了架构。

Agent 工程化真正的门槛

这些问题,才是 Agent 从 Demo 走向工程化真正要迈的门槛。
而且这些问题之间是有优先级的——你可以模型差一点,但不能没审计;可以工具少一点,但不能没权限边界;可以 Skill 少一点,但不能没记忆机制。Agent 工程的成熟度,某种程度上就是看一个团队在这些问题上能答到第几层。

一种新的软件形态,正在浮出水面

OpenClaw 和 Hermes Agent 摆在一起看,真正值得注意的不是”谁更强”。
而是它们刚好代表了 Agent 工程里最关键的两个方向:

OpenClaw 让 Agent 拥有了入口和触达能力。Hermes Agent 让 Agent 拥有了记忆和经验沉淀能力。

一个解决”任务从哪里来”。
一个解决”做完之后留下什么”。
这两件事一旦合上,Agent 就不再只是一个会答题的模型,也不再只是一个会调工具的脚本。
它开始接近一种新的软件形态:

一个能长期跑、能接外部事件、能调工具、能沉淀技能、能跨会话复用经验的智能运行系统。

这才是 Agent 工程真正让人兴奋的地方。
不是又多了一只会说话的机器鸟。而是软件这个东西,终于开始长出一点会记路的神经。
而当我们意识到这件事之后,后面真正值得追问的,也就不再是”哪个框架更强”了,而是:我的团队,接下来要怎么为这种新形态的软件,重新设计自己的工程方法、协作流程,甚至是组织结构。
这,才是接下来真正有意思的题目。