概述

Hermes Agent 是 Nous Research 打造的一款开源 AI 智能体。和主打多智能体协同调度的 OpenClaw 不同,Hermes 是单打独斗型选手,而且它越用越强——不是靠你手动更配置,而是靠实打实的“实战经验”自己进化。

Hermes Agent

Hermes Agent 是 Nous Research 打造的一款开源 AI 智能体。和主打多智能体协同调度的 OpenClaw 不同,Hermes 是单打独斗型选手,而且它越用越强——不是靠你手动更配置,而是靠实打实的“实战经验”自己进化。

大多数智能体顶多能记住发生过什么,Hermes 则直接更进一步:它会把管用的方法抽出来,写成可复用的技能,下次碰到类似问题直接开抄作业。这套学习循环是全自动跑的,再加上它的内存架构自带缓存优化,智能体学得再多,也不会让你的 Token 账单一路狂飙。

本文会把这套机制扒得明明白白:学习循环、四层内存系统、网关、智能体执行流程、终端后端、技能与工具、定时自动化、会话持久化,以及如何借助 Nebius Token Factory 大规模跑 Hermes。

学习循环

像 OpenClaw 这类智能体,会跨会话保留上下文,再通过一个中心枢纽做路由,简单场景用着还行。但问题也很明显:只记住“发生了啥”,却没记住“啥管用”

Hermes 就是为填补这个缺口设计的——它会把完整跑通的工作流,直接变成可复用的操作步骤,下次不用再从头踩一遍坑。

这就是学习循环的意义:一个藏在每轮会话底下的闭环反馈系统,记忆、技能、会话检索,全都是这套持续流程的输出结果。

整个循环有四个核心模块,各自在流程的不同节点触发,咱们来看看它们是怎么联动的。

智能体自主精选记忆 + 定时提醒机制

大多数智能体要么啥都记、啥都用不上,要么啥都不记、每次重启从零开始。Hermes 两边都不沾,它把筛选记忆的权力交给自己,靠的就是一个叫“定时提醒”的机制。

在会话运行的固定间隔里,智能体会收到一条内部系统提示,让它回头复盘:刚才发生的事儿里,有没有值得存下来的?整个过程不需要用户插手,智能体自己扫一遍近期操作,觉得对未来有用,就写进记忆文件。

结果就是:记忆库始终是精选内容,而不是乱七八糟的聊天垃圾堆。

自主生成技能

智能体干完一个任务后,会自动判断:我刚才这套操作流程,值不值得写成文档?触发条件很明确:

  • 调用了 5 次及以上工具

  • 从错误里成功恢复

  • 用户给过修正指导

  • 走通了一套不那么直观的有效流程

满足条件,它就会在 ~/.hermes/skills/ 下生成一个技能文件——不是普通日志,而是一套下次能直接照搬的可复用指令集

收起 

代码语言:YAML

自动换行

AI代码解释


---
name: my-skill
description: 这个技能是干嘛的,一句话说清
version: 1.0.0
platforms: [macos, linux]     # 可选:限定操作系统
metadata:
  hermes:
    tags: [python, automation]
    category: devops
    fallback_for_toolsets: [web]    # 可选:条件触发
    requires_toolsets: [terminal]   # 可选:依赖工具集
---

每个技能文件都包含名称、简介、执行步骤,以及用到的工具调用、文件引用等,格式完全遵循 agentskills.io 开放标准,意味着技能可以跨兼容智能体直接迁移。

技能自我进化

技能写好不是就锁死不变了。智能体会继续用,用着用着发现更好的路径,就会当场更新。

它通过 skill_manage 工具支持六种技能操作:

  • 创建、补丁、编辑、删除、写文件、删文件

默认优先用 patch(补丁) 方式更新:只传旧文本和替换内容,不用把整个技能重写一遍。这么做既保证正确性,又省 Token——全量重写容易把原本好用的部分改崩,补丁只改该改的,执行起来也更轻量。

基于 FTS5 的会话检索 + LLM 摘要

所有会话都会存入 SQLite 归档,并使用 FTS5 建立索引。智能体检索历史时,不会把整段旧对话塞进上下文,而是先检索,再通过 LLM 做摘要,只把和当前任务相关的内容注入进来。

这一层负责情景记忆:记录“发生了什么、什么时候发生的”。

而技能层负责过程记忆:记录“该怎么做”。

两层各司其职、分开存储,不搅成一锅粥——这也是整个内存系统设计的核心思路。

多层级内存系统

把所有记忆混在一块儿,正是大多数智能体越用越拉胯的原因。所以 Hermes 直接拆成四层独立内存,每层职责明确、存储位置固定、读取时机清晰。

提示词记忆:MEMORY.md & USER.md

这是常驻层,每次会话一开始就自动加载,不用智能体主动去调。两个文件都放在 ~/.hermes/memories/,在处理第一条消息前就直接注入系统提示。

两个文件加起来总字符上限是 3575,故意设得很紧凑,就是为了逼你精选,而不是无脑堆内容。智能体通过 memory 工具管理它们,支持三种操作:添加、替换、删除。

一个重要细节:会话中对这两个文件的修改,要到下次会话才生效,不会实时热更新。

会话检索:SQLite + FTS5

这里要分清什么时候用会话检索,什么时候用提示词记忆:

  • 提示词记忆:常驻,自动加载

  • 会话检索:主动调取,智能体判断历史有用时才去查

简单说就是持久度

  • 重要到每次对话都该带着的 → 放进 MEMORY.md / USER.md

  • 只有特定话题才用得上的 → 留在会话归档,按需检索

智能体会在“定时提醒”环节自己判断该放哪儿,不会一股脑全塞一起。

技能:过程记忆

前面讲过技能怎么生成,这里重点说怎么存、怎么加载才不炸 Token

所有技能都以独立 Markdown 文件存在 ~/.hermes/skills/。新装时,仓库自带的技能会拷进去,智能体自创的、从技能中心装的,也都放这儿。

加载策略是渐进式披露:默认只加载技能名和简介,完整内容只有智能体判断当前任务需要时才载入。

这样一来,不管你有多少技能,Token 占用都基本持平。200 个技能的智能体,和 40 个技能的上下文开销差不多,因为详细内容只在真要用时才进场。

Honcho 层:用户建模

前三层都需要智能体主动写点什么,第四层不一样:它不等待显式写入,而是跨会话默默给你画像,悄悄记录你的偏好、说话风格、专业领域,随时间不断更新。这就是 Honcho,一个可选的用户建模层,架在所有内存之上。

它用辩证建模思路,在 12 个身份层里同时建模“你”和“智能体”的互动关系。

这一层是可选的,大多数专用任务或自动化场景,前三层就够用。但如果你把 Hermes 当日常私人助理,想要回复风格高度贴合你的工作习惯,Honcho 就很值。

接下来要讲的网关,就是让这四层内存能跨平台无缝流转、切设备不丢上下文的关键。

网关

学习循环和内存系统再强,也得智能体能随时用得上才行——这就是网关的活儿。它是一个常驻后台服务,让 Hermes 在你绑定的所有平台保持运行和连接,不是要用时才启动,而是一直在线待命。

平台适配器与会话路由

Hermes 可以对接 CLI、Telegram、Discord、Slack、WhatsApp、Signal、邮件,每个平台都有独立适配器,但全部汇入统一的会话路由层。

在 Telegram 开的头,去终端接着聊完全没问题,因为会话绑的是 ID,不是平台。

Telegram 还更进一步,支持“项目对话”:在单个私聊里用话题功能跑独立工作流,每个话题自带专属技能绑定和会话上下文。

gateway/ 目录主要管五件事:消息收发、会话路由、内容投递、平台绑定、定时任务触发。

  • 绑定:把新平台关联到你的智能体实例

  • 定时 tick:按计划触发自动化任务,并路由到对应平台

整个网关以系统服务运行,用 hermes gateway 启动,关掉终端也照样在后台跑。

对比其他架构:优势在哪?

在 OpenClaw 里,网关只管投递,职责到此为止。技能生成、写记忆、定时自动化输出,全走独立机制,和网关不打通。

在 Hermes 里,网关就是循环的一部分。

进来一条消息就能触发技能生成,定时自动化的结果也走同一层网关回传,跨平台连贯体验之所以丝滑,是因为会话路由从一开始就嵌在系统里,而不是后期补丁。

智能体执行循环

任何发给 Hermes 的消息,不管来自 CLI、Telegram 还是其他平台,都会进入 run_agent.py 里的同步调度引擎。内存、技能、工具、网关,全都在这儿按固定顺序一起跑。

单轮生命周期

消息到达 → 生成任务 ID → 加载缓存的系统提示,或从内存、技能索引、相关文件重新构建 → 发 API 请求前先做压缩预检,确认对话历史没快顶爆上下文。

如果模型返回工具调用,智能体就执行,把结果追加回去,再循环一轮 API 请求。

直到模型返回最终文本,会话存入 SQLite,再通过网关把回复发出去。

压缩即整合

预检发现对话太长时,会在硬上限触发前启动哨兵机制。辅助模型扫完整段对话,把有用内容压缩进 3575 字符限制里,中间轮次做摘要而不是直接删掉。

原始对话的血统链会保留在 SQLite 里,就算压缩过,智能体也能追溯更早的上下文。

提示词缓存

Hermes 的系统提示来自稳定数据源,前缀在多轮对话里基本不变,大多数服务商都会缓存,降低后续轮次的延迟和成本。

三种情况会击穿缓存:会话中途切模型、改记忆文件、改上下文文件。任何一种都会触发全量重编译,所以生产环境用哪家服务商很关键。

就算服务商中途挂了,智能体也不会卡死。你可以在 config.yaml 里配置一组推理服务商优先级,Hermes 会自动切到下一个,不打断执行流程,会话继续、上下文保留,用户完全感知不到故障。

终端后端

网关管通信,终端后端管活儿具体在哪儿干。Hermes 提供六种选择,让智能体在工作实际发生的环境里跑。

六种后端

覆盖几乎所有部署场景:

  • Local:直接跑在你本机

  • Docker:容器隔离,不污染宿主机

  • SSH:直接在远程服务器执行,适合操作远程文件、数据库、服务

  • Daytona / Modal:无服务器方案,闲置休眠、用时拉起,长期挂着但使用不均的场景巨省钱

  • Singularity:HPC、科研环境专用,不让用 Docker 时的替代品

怎么选很直白:

个人用选 Local;要沙箱选 Docker;活儿在服务器选 SSH;超算集群选 Singularity;想无服务器省成本选 Modal / Daytona。

容器加固与零遥测

Docker 模式下,Hermes 默认启用只读根文件系统、移除 Linux 特权权限、提供命名空间隔离。这些是架构级默认设置,不是可选开关,智能体没法乱写目录,也提不了权。

零遥测也是一样:设计上就不会有任何数据外发,不是隐私开关,而是天生属性。

技能与工具

工具和技能都是 Hermes 扩展能力的方式,但层级完全不同,先分清再往下看:

  • 工具:智能体能调用的单个能力,比如执行命令、搜网页、生成图片

  • 技能:智能体用工具组合出来的“套路”,是已经跑通过、记下来的可复用工作流

内置工具

40 多个内置工具分五大类:

  • 执行类:终端命令、代码运行

  • 网页类:搜索、浏览器自动化

  • 媒体类:视觉理解、文生图、TTS

  • 协同类:子智能体调度、多模型推理

  • 记忆与规划类:让智能体在会话里程序化操作自己的内存

模型方面,Hermes 通过 Nous Portal 单点对接 400 多个模型,也原生支持 Hugging Face,带模型选择器和配置向导。

它还支持 MCP 能力,开发者可以通过四个插件钩子深度扩展:

pre_llm_callpost_llm_callon_session_starton_session_end

不用分叉代码、不用改内部逻辑,就能在智能体循环的关键节点插入自定义逻辑。

技能系统

Hermes 自带 40+ 预置技能,覆盖 MLOps、GitHub 工作流、科研、生产力等。新装时会拷进 ~/.hermes/skills/,和智能体自创、从中心下载的技能放在一起。

存储格式遵循 agentskills.io 开放标准,技能可跨兼容智能体迁移、分享,不用转换。默认只加载名称和摘要,完整内容按需加载。

定时自动化

Hermes 把重复任务当成一等公民,而不是随便调用 AI 的 Shell 脚本或 Cron 任务。

你设置好定时消息,Hermes 解析指令,把任务存在 cron/ 目录,网关的定时 tick 机制会负责剩下的事。

时间一到,智能体以完整权限调用内存和技能执行任务,再通过网关把结果投递到你指定的位置。流程和交互式会话完全一样,只是触发源从消息变成了时钟。

会话持久化

前面讲的学习循环、内存层、网关路由、智能体循环、定时自动化,全都依赖状态能跨会话留存。这份持久化能力来自 hermes_state.py 管理的 SQLite 数据库,便携文件型存储,不依赖外部服务。

每轮执行结束,智能体就把对话、工具调用、结果写入数据库,并用 FTS5 建索引方便检索。

原始对话存为 JSONL,定时任务单独存盘,WAL 模式支持单写多读,多会话并行时也稳得一批。

以上就是全套架构。本地跑完全没问题,但如果你想跑 Hermes-4–405B 又不想自己管底层基建,Nebius Token Factory 就是为此而生。

为什么选 Nebius?

Nebius Token Factory 是专门为模型推理打造的平台,Qwen 3.5、Nemotron Super、GLM-5 等强力开源模型都提供托管端点。

你可以直接跑 Nous 自家的 Hermes-4–405B,也可以选其他模型,不用自己管 GPU 分配、负载均衡、冷启动。

更厉害的是推理层之外的配套能力:Nebius 会记录对话补全结果,你可以直接导入 Data Lab,用真实的 Hermes 会话做微调数据集,再在 Token Factory 微调,部署成自己的专属端点。

如果你的 Hermes 专攻某一领域——客服、科研、编码——最后得到的就是按你使用习惯微调过的模型,不是通用基线版。

内置可观测性也很实用:可以监控请求量、延迟、Token 使用情况,对定时自动化、多任务并行场景非常友好,哪儿慢、哪儿崩了一目了然。

配置 Hermes 对接 Hermes-4–405B

就几行配置:

设置 API Key,运行 hermes model 打开模型配置,选择自定义 OpenAI 兼容端点,填入 Base URL 和模型 ID:

代码语言:Bash

自动换行

AI代码解释


export NEBIUS_API_KEY=your_key_here
hermes model
# 选择:Custom OpenAI-compatible endpoint
# Base URL: https://api.tokenfactory.nebius.com/v1/
# Model: NousResearch/Hermes-4–405B

Hermes-4–405B 拥有 128K 上下文窗口,长会话不容易提前触发压缩,预检有更大缓冲空间。

Nebius 适合什么时候用,不适合什么时候用

自己跑 405B 模型,意味着要管 GPU、负载均衡、闲置冷启动。Nebius 托管端点直接帮你把这些全免了。

但托管端点也不是万能药:

如果你只是本地跑个人助理,接个小模型就够用,还更便宜。

Nebius Token Factory 在 Hermes 全生命周期都能用:

还在试模型?用 Playground 对比。

要上生产?并发会话、定时自动化高可用、免运维 GPU 基建,一站式搞定。

总结

以上就是 Hermes 的完整架构。从一条消息开始,牵扯出这么多模块,但每一块都有明确目的:

让智能体越来越懂你的工作,而不只是泛泛地变“更强”。

优先补丁而非全量改写、四层内存、提示词缓存策略……所有设计都是为了长期运行准确、省钱,而不只是刚开箱时看着厉害。

这不是拿来跑个小任务的轻量玩具,而是一套需要运行和维护的基建。如果你的场景单一、短期使用,这套架构会显得过于笨重。

但如果你要打造一个日常跨平台使用、处理重复且不断进化的任务的系统,Hermes 绝对值得。

OpenClaw 给你的是多智能体的模块化与调度能力,Hermes 给你的是一个越用越懂你、持续积累上下文的单体智能体。

无论你还在测试,还是要为多用户部署服务,Nebius Token Factory 都能让你免运维直达目标。

最终选哪个,完全看你到底想造什么。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐