📚 系列导航:上一篇 Hermes Agent Promptware 防御指南 已经讲清“Promptware 防御与可观测性指南”;本篇用 Hermes Agent 自改进能力边界 收束整个系列,并给出最终的使用边界。
先给结论:不要问“能不能完全信任”,要问“这项任务里你站在环内、环上还是环外”。 Hermes 提供预览、归档、快照、来源边界、OS 沙箱和审计;这些工具决定的是你能否看见、拦截和恢复,而不是替你消灭所有风险。
ℹ️ 版本说明: 原稿基于 Hermes Agent v0.16.0(2026 年 6 月)源码整理。本文保留其版本化机制分析;命令、数量和界面请以 Hermes Agent 官方文档 与本地输出为准。
用人在环位置评估 Agent 风险
MartinFowler 几年前讲 AI 协作时给过一把尺子,三个刻度:人在环里(in the loop)、人在环上(on the loop)、人在环外(out the loop)。
在环里,是每一步都得你点头,AI 写一行你看一行。在环上,是 AI 自己跑,你站在旁边看仪表盘,发现不对随时能拉闸。在环外,是你把活交出去,睡一觉起来看结果,中间发生了什么你不知道也不在乎。
这把尺子的好处是它不谈情绪,只谈位置。问题从「我该不该信任 AI」变成了「在这件具体的事上,我站在环的哪个位置」。
旧书里我用这把尺子聊过 Hermes 的学习循环,但当时只能停在理念层面。一个会自己写 skill、自己改 skill 的 Agent,它到底把人放在了环的哪一格,那会儿我答不太上来,只能说「应该是在环上」。
两个月后再读源码,这个「应该」可以删掉了。
Curator 的预览、归档、快照与来源边界
v0.16.0 里有个东西叫 Curator,是个真正在后台跑的维护者,定期给 Agent 自己造的 skill 库做合并、归档、打包。这正是「自改进」最容易让人后背发凉的地方:一个程序在你不看着的时候,改它自己。
但你去翻 agent/curator.py ,会发现它的每一个动作都被三道闸卡着,而这三道闸恰好就是「on the loop 的工程化定义。

第一道,dry-run 预览。 hermes curator run —dry-run 跑一遍只产报告、不动库。Agent 想合并哪些、归档哪些,先列给你看,你审完再决定要不要真跑。人没被踢出环,人站在环上看报告。
第二道,永不删除,只归档。源码文件头写着一句 invariant:「绝不自动删除,只归档;归档可恢复。」归档就是把 skill 目录挪进一个 .archive/ 文件夹,随时能 restore 回来。Agent 没有删除权,它最狠也只能把东西挪到一边。
第三道,动手前先打快照。每次 Curator 真要改库,先把整个 skill 目录打成一个带时间戳的 tar.gz,连之前归档的也一起存。改坏了,rollback 一条命令全救回来。
还有一道更隐蔽的边界,我觉得是整套设计里最聪明的一笔:provenance(来源追踪)。Hermes 给每个 skil 记着「你是谁造的」。手写的、从社区装的、出厂自带的,全都打上保护标记,Curator 一个都不许碰。它能动的,只有 Agent 自己 fork 出来造的那部分。
这意味着什么:自改进的「破坏半径」被锁死在 Agent 的自留地里。它可以折腾自己长出来的东西,但碰不到你亲手写的、你信任的那些。出问题,烂的也只是它自己那块地。
把这四样东西摆在一起看,dry-run、不删黑名单、快照、provenance,Fowler 那把抽象的尺子,第一次有了源码刻度。Hermes 明确选了「on the loop」:Agent 自己跑,但你随时能看、能拦、能回退、能划清它的活动边界。
用操作系统沙箱隔离 Hermes Agent
学习循环这块讲完了边界,安全那几章其实在讲同一件事的另一面,只是换了个对象,从「Agent 怎么改自己变成「Agent 怎么碰外面的世界」。
Hermes 的安全文档里有一句话,气质和市面上大部分产品是反的:
「针对一个对抗性的 LLM,唯一的安全边界是操作系统。
这句话很扎人。它等于在说:我进程里那些东西,审批门、输出脱敏、注入扫描、工具白名单,一个都不是真正的边界。它们只是启发式,是「在一个被攻击者影响过的字符串上跑的猜测」。指望它们挡住一个铁了心要搞破坏的模型,结构上就不可能。
大部分产品的营销叙事是反过来的:我有 N 层 AI 防护,每一层都让你更安全。Hermes 偏偏把自家进程内的所有防护都标成「不是边界」,然后把真正的信任锚点丢给操作系统。
💡 推荐
把整个 Agent 进程丢进 OS 沙箱(Docker / OpenShell /远程主机),让文件系统、网络、进程都受 OS 约束。这是真边界。
不推荐:
在 Agent 进程内部堆审批正则、脱敏规则、模式扫描,指望它们拦住对抗输出。这只是启发式,不是墙。
这种诚实是有代价的。承认「我进程内的防护不是边界」,等于主动放弃了一个很好卖的卖点。但它换来一个更结实的东西:你知道自己到底被什么保护着。不是被一堆可能被绕过的正则,而是被一层 OS 级的隔离。
配套的是另一半:全程可审计。Hermes 有一套只读的 observer 契约,Agent 干的每件事,每次模型调用、每次工具执行、每次审批、每个子 Agent 的派生,都带着关联 ID 吐成事件流。自治不等于黑箱。它在你看不见的地方跑,但跑过的每一步都留了痕,事后能完整重建。
把这两条合起来,就是 Hermes 对「自改进 Agent 该信任到哪」给出的工程答案:不在 Agent 的脑子里筑护城河,而是把它整个丢进一个透明的盒子,盒子的墙由操作系统砌,盒子的玻璃让你看清里面每一个动作。
AI Agent 安全机制与产品定位的变化
有意思的是,这套约束层的具体做法,正在变成行业的公共知识。
翻 Hermes 那个 1701 行的审批门源码,注释里大大方方写着灵感来自 Claude Code 的危险命令规则、来自 OpenAI Codex 的命令检测工作。哪些 shell 命令该拦、sudo从 stdin 读密码要防、Agent 不许杀自己的进程,这些「该拦什么」的知识,正在主流 Agent 之间互相抄、互相补。约束层在趋同。
但定位层在分化。同一段时间里,Hermes 自己从两万 star 涨到超过十八万,长出了桌面 App、长出了简体中文界面,开始从极客的命令行玩具往「能发安装包给朋友装」的产品转。它最大的对手 OpenClaw 体量还在前面,但创始人去了别处,项目转进了基金会托管。生态里还冒出了专门面向风险厌恶型企业的硬核分支。
所以你看到一个挺微妙的图景:底层的「怎么把 Agent 关好」越来越像,上层的「这个 Agent 给谁用、长什么样、靠什么变现」越来越不一样。趋同的是工程常识,分化的是产品野心。这大概是任何一个技术从早期走向成熟时都会有的样子:地基的做法收敛,楼盖成什么样各凭本事。
Hermes Agent 开源代码的信任边界
聊到这里,有个问题我一直没正面碰,现在躲不过去了。
Hermes 是 MIT 开源的。开源经常被当成信任的同义词,代码都摆在那儿,谁都能看,还能不信吗。
但你真去看那十八万 star 背后的东西,会有点犹豫。一个 release 就是几百个 commit、上百号人参与,PR 编号已经冲到三万九千多。这么大、这么快的一个项目,「代码公开」和「有人真的逐行审过」之间,隔着一条不小的沟。
更要命的是 Hermes 自己的信任模型亲口承认的那条:第三方 skill 和 plugin,是在 import 的那一刻就执行任意 Python 的。它们以完整的 Agent 权限运行,能读你的凭证,能调你的工具。文档把缓解措施写得很清楚,就四个字「安装前审查」。翻译过来就是:装之前你得自己读一遍那段 Python,别光看它 SKILL.md 里的自我介绍。
这话很诚实,诚实到有点冷。它等于在说:开源给了你审查的权利,但没替你审查。墙我帮你砌好了,门钥匙在你手上,你自己决定让谁进来。
我觉得这恰恰是这套东西最该被记住的态度。它没有用「我们开源所以你尽管信」来糊弄你,而是把每一道防护的局限都标得清清楚楚:审批门抓不住对抗输出、脱敏能被绕过、注入扫描会漏会误报。一个肯把自己防线的破洞主动指给你看的系统,比一个号称「N 层防护、绝对安全」的系统,反而更值得托付一点。
Hermes Agent 自改进能力的最终边界
自改进 Agent 能走多远。
读完这两个月的源码,我的答案不是一个距离,是一个姿势。
它能走多远,取决于你愿意站在环的哪一格。Hermes 把工具备齐了:你想盯着每一步,它有 dry-run;你想放手让它跑,它有快照和归档兜底;你想完全撒手,它有 OS 沙箱和全程审计替你守着底线。它没替你选位置,它只是确保不管你站哪一格,缰绳都还在你手上。
缰绳会自己长,这是旧书的话。两个月后我想补一句:缰绳长得再聪明,握着它的那只手,最好还是你的。
这本书到这里就讲完了。Hermes 还在每周发版本,等你读到这页,它大概又长出了一些这本书里没有的东西。这没关系。一个会自己进化的系统,本来就注定跑在任何一本写它的书前面。你能做的,也是我写这本书想帮你做的,不是记住它今天长什么样,而是看懂它进化时遵循的那几条规矩,哪些边界它绝不越过,哪些刹车它一直留着。
你现在应该能做什么
读到这里,你不需要背住每个版本数字,但应该已经能完成下面这些判断:
- 看到一个 Hermes 功能时,能判断它属于指令、约束、反馈、记忆还是编排层。
- 面对自改进机制时,先查“它会学什么、谁能改、能否预览、怎么回滚”,而不是只看“会不会自己学习”。
- 面对短任务时用
delegate_task,面对跨轮次、要恢复、要审计的任务时考虑 Kanban。 - 安装前先决定进程的“家”和命令执行的“工地”,长期在线部署则优先补齐备份、认证、沙箱和可观测性。
- 把进程内审批和注入检测当作风险缓解,把 Docker、远程主机或其他 OS 级隔离当作真正边界。
- 安装第三方 Skill 或 Plugin 前审查来源、权限、联网行为和代码,不把“开源”误解成“已经有人替你审过”。
真正动手时,按这条路线走就够了:选入口 → 完成最小安装 → 验证一轮对话 → 配记忆与 Skill → 再开外部工具 → 最后才上后台任务和多 Agent。 每加一层能力,都同时补上对应的权限、恢复和观察手段。
剩下的,交给你自己去养。
常见问题
Hermes Agent 可以完全无人值守吗?
技术上可以运行后台任务,但是否适合无人值守取决于权限、数据敏感度、操作可逆性和验收方式。高风险任务应保留人工确认和停止入口。
开源是否意味着 Hermes Agent 可以直接信任?
开源提供审查权,不代表代码、Skill 和 Plugin 已经有人替你审过。安装第三方扩展前仍需检查来源、权限、联网行为和实际代码。
这篇教程里的版本数字会变化吗?
会。原稿以 Hermes Agent v0.16.0 为分析基线,平台、工具、命令参数和默认配置可能继续变化;实际操作前请核对当前官方文档和本地命令帮助。