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

它针对目前出现的开源 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 的记忆是主动积累的:它观察你,自己总结,自己改进。
这个闭环分三个层次:记忆系统、技能系统、实际效果。
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 开发的用户建模引擎,借鉴了黑格尔的"正-反-合"辩证法:
整个循环在 Agent 与 Honcho 服务之间运转,对话结束时,Agent 把消息历史发给 Honcho;
Honcho 提取新的用户观察(反题),与现有画像(正题)融合,生成新画像(合题);新画像在下次对话时注入系统提示。
这意味着你对 Agent 说过的偏好:"我喜欢简短的要点式答案"、"我的代码风格用制表符不用空格"。
不会在一周后被遗忘,而是被持续整合进你的用户画像中。
核心记忆存储在 ~/.hermes/memory/MEMORY.md 中,纯 Markdown 文件。
用户可以直接打开查看 Agent 记住了什么,甚至手动编辑。
会话搜索用 SQLite FTS5 虚拟表,porter unicode61 分词器同时支持英文词干提取和中文,搜索结果还会调用辅助 LLM 做摘要提炼。
每个技能是一个目录,包含一个 SKILL.md 文件:
skills/
├── software-development/
│ ├── SKILL.md # 技能定义文档
│ └── templates/ # 可选的模板文件
├── research/
│ ├── SKILL.md
│ └── prompts/
└── creative/
└── SKILL.mdSKILL.md 遵循约定的 Markdown 结构:标题、触发条件、步骤说明、注意事项。
技能改进发生在使用过程中。
当 Agent 加载并使用某个技能完成任务后,如果发现技能文档中的步骤不完整、有错误、或者可以优化,它会通过 skill_manage 工具的 edit 操作更新技能内容。
这形成了一个正反馈循环:
创建技能 → 使用技能 → 发现改进点 → 更新技能 → 下次使用更好的版本
以上是技术实现。实际用起来是什么感受?根据真实用户反馈:
自我进化是真正的差异化。
OpenClaw 像一个工具箱——你需要自己把工具放进去。
Hermes 会观察你的使用方式,并尝试创建和改进自身的工具。
从长远来看,这会带来能力的指数增长,而不仅仅是线性增长。
记忆深度明显提升。
由于 Hermes 会自动总结和整理长期记忆,因此每次使用后感觉更加连贯。
更轻量、更个性化。
部署速度更快,资源需求更低。
Hermes 非常适合希望进行深度定制但又不想管理庞大基础设施的个人用户或研究人员。
从 OpenClaw 轻松迁移。
如果你已经是 OpenClaw 用户,Hermes 提供了一个一键迁移工具:hermes claw migrate。
它可以导入你的内存、技能、配置和 API 密钥。--dry-run 选项可以先预览更改。
具体在哪些任务上体现优势:
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 实现了一个四阶段压缩流水线:
同样,Hermes 也支持智能模型路由(否决式启发规则):
如果触发任何一条"复杂性"规则(消息超过一定长度、包含技术关键词、需要文件操作等),就路由到主力模型;
只有所有规则都通过"简单"判断时,才使用廉价模型。
这种否决式设计是保守的,宁可多花一次贵模型的钱,也不因路由错误导致低质量回复。
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 子进程的环境变量经过严格过滤,只保留 PATH、HOME 等基线变量,防止 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 的中间工具调用或推理过程。
安全约束比较严格:
delegate_task(禁止递归委派)、clarify(禁止用户交互)、memory(禁止写入共享记忆)等工具被永久封锁这意味着子 Agent 既不能"越权"调用不该用的工具,也不能"乱说"干扰父 Agent 的判断。是一个比较务实的设计。
这是 Hermes 另一个独特的能力,其他 Agent 框架都没有。
Agent 在使用工具完成任务的过程中,自动生成高质量的训练数据(轨迹),
这些数据经过压缩和处理后,直接用于通过强化学习训练更好的模型,更好的模型又能生成更高质量的轨迹——形成正向循环。
[Agent 执行任务] → [生成轨迹数据] → [压缩清洗] → [RL 训练] → [更强模型] → 回到起点为什么竞品没有这个能力?三个层面的壁垒:
这意味着 Hermes 不只是用户工具,也是训练下一代 tool-calling 模型的数据飞轮。
用户使用得越多,训练数据质量越高,下一代模型越强。
评价 | 来源 |
|---|---|
"10/10 — 相当于已调试一周的 OpenClaw + RAG + 记忆持久化 + 更好的工具调用" | |
"自我改进是真的——做复杂任务时会自动创建技能" | |
"我喜欢它的记忆管理,在树莓派级设备上也能运行" |
如果你准备认真部署 Hermes,安全层面有五层防线值得了解:
最小生产配置参考:
approvals:
mode: manual
timeout: 60
terminal:
backend: docker
security:
tirith_enabled: true几个关键验证点:
SSRF 防护默认开启且 fail-closed;
URL capable tools 会执行网站策略限制和地址校验;
MCP 子进程过滤敏感变量;
上下文文件会扫描 prompt injection。
Windows 装不上或命令不可用:
Hermes 原生 Windows 暂不支持,需要 WSL2。安装后记得 source ~/.bashrc reload shell。
消息平台接上了但没反应:
没配置 allowlist 或没完成 DM pairing,网关默认拒绝未授权用户。用 hermes pairing list 和 hermes pairing approve 处理。
hermes doctor?approvals.mode?terminal.backend?纵观 Hermes Agent 的实现,几个核心设计哲学贯穿始终:
Hermes Agent 的设计特点:
Agent 的价值不仅在于单次任务完成,更在于长期积累的知识和对用户的理解。
闭环学习这个方向对不对,时间会验证。
项目地址:https://github.com/NousResearch/hermes-agent
官方地址:https://hermes-agent.org/zh
官方文档:http://hermes-agent.nousresearch.com
你会从 OpenClaw 转向使用 Hermes Agent 吗?
欢迎评论区留言。
-END-