拆解 Hermes Agent:开源 Agent 里唯一的闭环学习系统

最近不少朋友提及到一个开源的智能体:Hermes Agent 。

它针对目前出现的开源 Agent 做了能力改进,具备 闭环学习 能力

能自主创建技能、在使用中改进技能、跨会话积累记忆、甚至能自我建模用户偏好。

一、Hermes Agent 是什么

美国开源 AI 研究实验室 Nous Research 在推出过 Hermes-4-405B、Hermes-4-70B 等开源模型之后,推出了开源 Agent:Hermes Agent,是从"造模型"到"造 Agent"的延伸。

定位:一个自我改进型的 AI Agent

不只是一次性帮你完成任务,而是在长期使用中积累知识、改进技能、越来越懂你。

二、六大核心能力速览

能力 概要
闭环学习系统 自动创建技能、改进技能、持久化记忆、辩证式用户建模
多平台接入 12 个消息平台(Telegram/Discord/Slack/WhatsApp/Signal/Matrix/Mattermost/钉钉/飞书/Email/Home Assistant/Webhook)+ CLI TUI,单一 Gateway 进程统一管理
40+ 内置工具 Web 搜索+提取 / 终端执行 / 文件读写 / 浏览器自动化 / 视觉分析 / 图像生成 / TTS / MoA 混合代理 / 技能管理 / 记忆 / 会话搜索 / 子代理 / Cron / MCP / 安全
6 种执行后端 Local / Docker / SSH / Daytona / Singularity / Modal
子 Agent 委派 隔离子 Agent 并行执行,上下文隔离
自我改进 批量轨迹生成 / Atropos RL 环境 / 轨迹压缩 / WandB 追踪

主要看看它的闭环学习系统。

三、闭环学习------拆解最核心的差异化

其他 Agent: Claude Code、DeerFlow、OpenClaw------要么是无状态的,要么只有被动记忆(你告诉它记住什么,它才记住)。

例如之前介绍 OpenClaw 安装的这方面技能文章:

让 OpenClaw 帮你干活(四):Proactive Agent 技能让AI眼里有活

给 OpenClaw 装了一套"学习系统":Self-Improving + AutoSkill,Agent 开始自己进化了

Hermes 的记忆是主动积累的:它观察你,自己总结,自己改进。

这个闭环分三个层次:记忆系统、技能系统、实际效果。

3.1 记忆系统:从 Markdown 到辩证式用户建模

Hermes 的记忆不是一坨向量数据库,而是一个五层架构:

层级 类型 持久性 一句话说明
L1 Transformer 上下文 会话内 短期推理,会话结束即消失
L2 SKILL.md 程序性知识 永久 技能沉淀,Agent 的"肌肉记忆"
L3 向量存储索引 永久 语义检索,支持模糊召回
L4 Honcho 辩证式用户建模 持续进化 对你的理解随每次对话更新
L5 FTS5 全文检索 + LLM 摘要 永久 跨会话搜索历史对话

L1 和 L3、L5 比较好理解,短期上下文、向量检索、全文搜索。

L2:SKILL.md 程序性知识。

Agent 完成一次任务后,会把流程沉淀成一个 SKILL.md 文件(Markdown 格式),下次遇到类似任务直接调用。

把经验变成可复用的程序。

OpenClaw 也有记忆,但更偏向聊天摘要的存取;Hermes 的技能更像是"方法论"。

L4:Honcho 辩证式用户建模。

Honcho 是 Plastic Labs 开发的用户建模引擎,借鉴了黑格尔的"正-反-合"辩证法:

  • 正题(Thesis):当前对用户的理解(画像的现状)

  • 反题(Antithesis):新的对话中出现了与当前理解矛盾或补充的信息

  • 合题(Synthesis):用 LLM 将正题和反题融合,生成一个更新的、更准确的用户理解

整个循环在 Agent 与 Honcho 服务之间运转,对话结束时,Agent 把消息历史发给 Honcho;

Honcho 提取新的用户观察(反题),与现有画像(正题)融合,生成新画像(合题);新画像在下次对话时注入系统提示。

这意味着你对 Agent 说过的偏好:"我喜欢简短的要点式答案"、"我的代码风格用制表符不用空格"。

不会在一周后被遗忘,而是被持续整合进你的用户画像中。

核心记忆存储在 ~/.hermes/memory/MEMORY.md 中,纯 Markdown 文件

用户可以直接打开查看 Agent 记住了什么,甚至手动编辑。

会话搜索用 SQLite FTS5 虚拟表,porter unicode61 分词器同时支持英文词干提取和中文,搜索结果还会调用辅助 LLM 做摘要提炼。

3.2 技能系统:Agent 的程序性知识

每个技能是一个目录,包含一个 SKILL.md 文件:

go 复制代码
skills/

├── software-development/

│ ├── SKILL.md # 技能定义文档

│ └── templates/ # 可选的模板文件

├── research/

│ ├── SKILL.md

│ └── prompts/

└── creative/

└── SKILL.md

SKILL.md 遵循约定的 Markdown 结构:标题、触发条件、步骤说明、注意事项。

技能改进发生在使用过程中。

当 Agent 加载并使用某个技能完成任务后,如果发现技能文档中的步骤不完整、有错误、或者可以优化,它会通过 skill_manage 工具的 edit 操作更新技能内容。

这形成了一个正反馈循环:

创建技能 → 使用技能 → 发现改进点 → 更新技能 → 下次使用更好的版本

3.3 闭环学习的实际效果

以上是技术实现。实际用起来是什么感受?根据真实用户反馈:

自我进化是真正的差异化。

OpenClaw 像一个工具箱------你需要自己把工具放进去。

Hermes 会观察你的使用方式,并尝试创建和改进自身的工具。

从长远来看,这会带来能力的指数增长,而不仅仅是线性增长。

记忆深度明显提升。

由于 Hermes 会自动总结和整理长期记忆,因此每次使用后感觉更加连贯。

更轻量、更个性化。

部署速度更快,资源需求更低。

Hermes 非常适合希望进行深度定制但又不想管理庞大基础设施的个人用户或研究人员。

从 OpenClaw 轻松迁移。

如果你已经是 OpenClaw 用户,Hermes 提供了一个一键迁移工具:hermes claw migrate

它可以导入你的内存、技能、配置和 API 密钥。--dry-run 选项可以先预览更改。

具体在哪些任务上体现优势:

  • 长期个人知识管理------让它总结过去三个月里关于某个项目的所有讨论内容,Hermes 的持久记忆和自动总结功能使答案更准确

  • 重复性工作流程------例如每周从网站抓取数据、清理数据并生成报告,前两次需要你指导,第三次系统将开始使用自动生成的技能完成大部分工作,当你要求调整时,系统会更新该技能

  • 跨会话个性化设置------只需设置一次"我不喜欢在回复中使用表情符号"或"我的代码风格使用制表符",之后每次新对话都会遵循这些设置。

四、不锁定模型提供商

Hermes 不限定你用哪家的模型,支持 18+ 提供商:

类别 提供商
海外主流 Anthropic / OpenAI / DeepSeek
中国厂商 智谱 AI (Z.AI/GLM) / 月之暗面 (Kimi/Moonshot) / MiniMax / 阿里 (DashScope)
聚合平台 Nous Portal (400+ 模型) / OpenRouter (200+ 模型) / HuggingFace / GitHub Copilot / Vercel AI Gateway
本地推理 Ollama / vLLM / llama.cpp
自定义 任意 OpenAI 兼容端点

切换模型就一个命令:hermes model

选择 provider 和 model,无代码改动,无锁定。

上下文管理方面,Hermes 实现了一个四阶段压缩流水线:

    1. 确定保护区域:对话头部(系统提示和最初几轮)和尾部(最近几轮)被标记为"受保护"
    1. 选择压缩候选:中间地带消息中,优先选择 token 数最多的工具结果消息
    1. LLM 摘要:调用辅助 LLM 对选中消息做摘要,保留关键事实,丢弃冗余细节
    1. 替换与验证:用摘要替换原始消息,重新计算 token 数,必要时多次迭代

同样,Hermes 也支持智能模型路由(否决式启发规则):

如果触发任何一条"复杂性"规则(消息超过一定长度、包含技术关键词、需要文件操作等),就路由到主力模型;

只有所有规则都通过"简单"判断时,才使用廉价模型。

这种否决式设计是保守的,宁可多花一次贵模型的钱,也不因路由错误导致低质量回复。

五、API 与协议------开放标准

Hermes 在协议层面走的是开放标准路线:

接口 说明
OpenAI 兼容 API gateway/platforms/api_server.py 提供 HTTP API
MCP 服务器 mcp_serve.py 实现 stdio MCP,暴露 10 个工具,可被 Claude Code/Cursor/Codex 调用
ACP 协议 acp_adapter/ 实现编辑器集成,支持 VS Code、Zed、JetBrains
agentskills.io 技能遵循开放标准,已被 11+ 工具采纳(Claude Code、Cursor、GitHub Copilot 等)

MCP 集成

Hermes 支持 MCP Client + Server 双向模式。

技术上的一个难点是:MCP 连接需要长生命周期的异步上下文,而 Agent 的工具调用是同步的。

Hermes 的解决方案是独立的后台事件循环:每个 MCP 服务器在独立后台线程的事件循环上运行一个长生命的 MCPServerTask,同步工具调用通过 run_coroutine_threadsafe() 桥接。

安全机制上,传递给 MCP 子进程的环境变量经过严格过滤,只保留 PATHHOME 等基线变量,防止 API key 等敏感信息泄露。

个性化定制

Hermes 允许你给 Agent 设置"人格",内置了几个预设:

helpful(友好通用)/ concise(简洁风格)/ technical(技术专家)/ creative(创意模式)/ mother(像妈妈一样有耐心但直奔主题)/ teacher(耐心老师)/ kawaii(可爱风)。

也可以自定义人格描述和皮肤(Agent 名字、欢迎语、告别语、UI 颜色等)。

TTS 和 STT 支持

TTS 三种后端(Edge TTS 免费 + ElevenLabs + OpenAI TTS),STT 目前只支持 OpenAI Whisper。

与 OpenClaw 的一个区别------OpenClaw 开了 TTS 之后每条消息都自动生成语音,Hermes 不会,需要你主动要求语音回复。

大多数时候只想看文字,这种方式更省资源。

六、子 Agent 委派

子 Agent 委派的核心理念是上下文隔离:父 Agent 的上下文窗口只看到委派调用和摘要结果,永远不会看到子 Agent 的中间工具调用或推理过程。

安全约束比较严格:

  • • 工具限制:delegate_task(禁止递归委派)、clarify(禁止用户交互)、memory(禁止写入共享记忆)等工具被永久封锁

  • • 深度限制:最多 2 层(parent → child → grandchild 被拒绝)

  • • 并发限制:最多 3 个子 Agent 同时运行

  • • 工具集交集:子 Agent 的工具集是其请求的工具集与父 Agent 工具集的交集

这意味着子 Agent 既不能"越权"调用不该用的工具,也不能"乱说"干扰父 Agent 的判断。是一个比较务实的设计。

七、RL 训练系统------数据飞轮

这是 Hermes 另一个独特的能力,其他 Agent 框架都没有。

Agent 在使用工具完成任务的过程中,自动生成高质量的训练数据(轨迹),

这些数据经过压缩和处理后,直接用于通过强化学习训练更好的模型,更好的模型又能生成更高质量的轨迹------形成正向循环。

go 复制代码
[Agent 执行任务] → [生成轨迹数据] → [压缩清洗] → [RL 训练] → [更强模型] → 回到起点

为什么竞品没有这个能力?三个层面的壁垒:

    1. 工具系统的完整性:Hermes Agent 拥有产品级的工具系统,可以生成真实的、多样化的工具调用轨迹
    1. 端到端管道:从轨迹生成到训练是完整的数据到训练管道,竞品在"Agent 使用"和"模型训练"之间存在巨大鸿沟
    1. 垂直集成:NousResearch 同时拥有 Atropos(RL 环境框架)和 Tinker(RL 训练器),Hermes Agent 是第一个将 Agent 框架与 RL 训练框架完全打通的系统

这意味着 Hermes 不只是用户工具,也是训练下一代 tool-calling 模型的数据飞轮。

用户使用得越多,训练数据质量越高,下一代模型越强。

八、社区反馈与注意事项

正面评价

评价 来源
"10/10 --- 相当于已调试一周的 OpenClaw + RAG + 记忆持久化 + 更好的工具调用" Reddit
"自我改进是真的------做复杂任务时会自动创建技能" Reddit
"我喜欢它的记忆管理,在树莓派级设备上也能运行" Reddit

安全:上线前必看的五层防线

如果你准备认真部署 Hermes,安全层面有五层防线值得了解:

    1. 用户授权:消息平台 allowlist + DM pairing
    1. 危险命令审批:manual / smart / off 三种模式,命中规则后 CLI 要求确认(once / session / always / deny)
    1. 容器隔离:Docker 后端使用 no-new-privileges、cap-drop ALL、PIDs limit、tmpfs 等硬化参数
    1. MCP 凭证过滤:子进程默认只拿到安全环境变量,API Key 等敏感值会被剥离
    1. 上下文文件注入扫描:扫描 prompt injection 攻击

最小生产配置参考:

go 复制代码
approvals:

mode: manual

timeout: 60



terminal:

backend: docker



security:

tirith_enabled: true

几个关键验证点:

SSRF 防护默认开启且 fail-closed;

URL capable tools 会执行网站策略限制和地址校验;

MCP 子进程过滤敏感变量;

上下文文件会扫描 prompt injection。

常见坑

    1. 把 Hermes 当成单纯的"对话 UI"------它本质上是 Agent Runtime,不只是聊天界面
    1. 在本机 local backend 上直接放开高权限执行------安全上不划算,生产环境优先用 Docker / Modal / Daytona 隔离后端
    1. 一开始就全开平台、全开工具、全开插件------排障会很痛苦,建议分层启用

常见报错

Windows 装不上或命令不可用

Hermes 原生 Windows 暂不支持,需要 WSL2。安装后记得 source ~/.bashrc reload shell。

消息平台接上了但没反应

没配置 allowlist 或没完成 DM pairing,网关默认拒绝未授权用户。用 hermes pairing listhermes pairing approve 处理。

快速自检清单

  • • 是否在 Linux / macOS / WSL2 环境下安装?

  • • 是否先跑过 hermes doctor

  • • 是否明确了 approvals.mode

  • • 是否决定了 terminal.backend

  • • 是否配置了 allowlist 或 pairing?

  • • 是否只启用了当前任务真正需要的 tools 和 skills?

九、总结

设计哲学

纵观 Hermes Agent 的实现,几个核心设计哲学贯穿始终:

    1. 保守但务实的并行策略------并行工具执行采用白名单制,未知工具一律串行
    1. 多层容错------API 层 3 次重试 + 指数退避;工具名自动修复;预算压力多级警告
    1. 缓存友好------系统提示只构建一次;一切为了最大化 Anthropic prompt caching 的命中率
    1. 可审计性------记忆用 Markdown 文件;技能用结构化文档;用户随时可以查看和编辑 Agent 的"大脑"
    1. 安全深度防御------Prompt injection 检测、工具执行审批、SSRF 防护、子 Agent 工具限制
    1. 渐进式降级------在每一层都有降级路径,宁愿慢也不引入 bug
    1. 数据飞轮思维------每一个设计决策都在为训练数据质量服务

适合谁

  • • ✅ 需要一个长期使用、越用越聪明的个人 AI 助手

  • • ✅ 需要本地/私有化部署,零 API 成本

  • • ✅ 需要在 Telegram/Discord/Slack 等多平台随时触达 Agent

  • • ✅ 需要 Agent 具有持久记忆和自我改进能力

  • • ✅ 需要 research-ready 的 Agent 框架用于 RL 训练和数据生成

不太适合谁

  • • ❌ 需要快速搭建多角色 Agent 团队

  • • ❌ 只需要最简单的 API 集成(OpenAI SDK 更轻量)

  • • ❌ 不愿意碰配置、消息平台接入、WSL2 或容器的人

总体评价

Hermes Agent 的设计特点:

Agent 的价值不仅在于单次任务完成,更在于长期积累的知识和对用户的理解。

闭环学习这个方向对不对,时间会验证。

项目地址:https://github.com/NousResearch/hermes-agent

官方地址:https://hermes-agent.org/zh

官方文档:http://hermes-agent.nousresearch.com

你会从 OpenClaw 转向使用 Hermes Agent 吗?

欢迎评论区留言。

-END-


推荐阅读:

开源语音 AI:3 秒克隆声音,支持 9 种语言 --- Voxtral TTS

AI Code 企业落地问题:成本失控与无法持续记忆上下文及解决方案

490万浏览量的方案:用 LLM 构建持续更新积累的个人知识库

Claude Code 源码泄露,解读背后的技术细节

AI 不是在抢我的工作:Harness 正在重构软件工程|让 Agent 完成任何复杂任务

让OpenClaw替你打工(五):没花什么钱养了6只虾,还赚到了钱

让 OpenClaw 帮你干活(四):Proactive Agent 技能让AI眼里有活

让你的OpenClaw替你打工:从0到1跑通小红书运营全流程(实战教程)

谷歌提示工程白皮书|Google Prompt Engineering White-paper

相关推荐
凉、介2 小时前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie
speop3 小时前
TASK01 | Reasoning Kindom
学习
2301_822703203 小时前
鸿蒙flutter三方库实战——教育与学习平台:Flutter Markdown
学习·算法·flutter·华为·harmonyos·鸿蒙
码喽7号4 小时前
vue学习四:Axios网络请求
前端·vue.js·学习
星幻元宇VR4 小时前
VR科普行走平台适用哪些科普教育主题
科技·学习·安全·vr·虚拟现实
xinzheng新政4 小时前
Javascript 深入学习基础·4
javascript·学习·servlet
charlie1145141915 小时前
通用GUI编程技术——图形渲染实战(二十九)——Direct2D架构与资源体系:GPU加速2D渲染入门
开发语言·c++·学习·架构·图形渲染·win32
CheerWWW5 小时前
C++学习笔记——线程、计时器、多维数组、排序
c++·笔记·学习
克里斯蒂亚诺·罗纳尔达5 小时前
智能体学习16——学习与适应(Learning-and-Adaptation)-深入解读
深度学习·学习·机器学习