Hermes Agent 架构深度解析
越用越强的 AI 智能体:Hermes Agent 架构深度解析
大多数 AI 智能体越用越笨,Hermes 却越用越强。不是靠你手动配置,而是靠"实战经验"自动进化。今天咱们聊聊这个 Nous Research 开源的单体智能体,看看它是怎么把"管用方法"直接写成可复用技能的。

为什么 Hermes 不一样?
市面上大多数 AI 智能体,包括我研究过的 OpenClaw,主打的是多智能体协同调度。听起来很酷,但有个致命问题:它们只记住"发生了啥",却没记住"啥管用"。
Hermes 是单打独斗型选手,但它有个杀手锏:自动把成功的工作流抽成可复用技能。想象一下,你让智能体搞定了一个复杂任务,下次遇到类似问题,它直接"抄作业",不用再从头踩一遍坑。
这套学习循环是全自动跑的,而且内存架构做了缓存优化——智能体学得再多,你的 Token 账单也不会一路狂飙。
核心机制:学习循环
Hermes 的学习循环藏在每轮会话底下,是个闭环反馈系统。四个核心模块各司其职:
1. 智能体自主精选记忆 + 定时提醒
大多数智能体要么啥都记(结果一堆垃圾),要么啥都不记(每次重启从零开始)。Hermes 把筛选记忆的权力交给自己。
每隔固定间隔,智能体会收到一条内部系统提示,让它复盘:"刚才发生的事儿里,有没有值得存下来的?"整个过程不需要你插手,智能体自己扫一遍近期操作,觉得有用就写进记忆文件。
结果:记忆库始终是精选内容,而不是乱七八糟的聊天记录堆。
2. 自主生成技能
智能体干完一个任务后,会自动判断:"我刚才这套操作流程,值不值得写成文档?"触发条件很明确:
- 调用了 5 次及以上工具
- 从错误里成功恢复
- 用户给过修正指导
- 走通了一套不那么直观的有效流程
满足条件,它就在 ~/.hermes/skills/ 下生成一个技能文件——不是普通日志,而是下次能直接照搬的可复用指令集。
---
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 开放标准,意味着技能可以跨兼容智能体直接迁移。
3. 技能自我进化
技能写好不是就锁死不变了。智能体会继续用,用着用着发现更好的路径,就会当场更新。
它通过 skill_manage 工具支持六种操作:创建、补丁、编辑、删除、写文件、删文件。
关键细节:默认优先用 patch(补丁) 方式更新——只传旧文本和替换内容,不用把整个技能重写一遍。这样做既保证正确性,又省 Token。全量重写容易把原本好用的部分改崩,补丁只改该改的,执行起来也更轻量。
4. 基于 FTS5 的会话检索 + LLM 摘要
所有会话都存入 SQLite 归档,并使用 FTS5 建立索引。智能体检索历史时,不会把整段旧对话塞进上下文,而是先检索,再通过 LLM 做摘要,只把和当前任务相关的内容注入进来。
这里有个重要分工:
- 技能层负责过程记忆:记录"该怎么做"
- 会话层负责情景记忆:记录"发生了什么、什么时候发生的"
两层各司其职、分开存储,不搅成一锅粥——这是整个内存系统设计的核心思路。
四层内存系统:各司其职才是王道
把所有记忆混在一块儿,正是大多数智能体越用越拉胯的原因。Hermes 直接拆成四层独立内存,每层职责明确、存储位置固定、读取时机清晰。
第一层:提示词记忆(MEMORY.md & USER.md)
这是常驻层,每次会话一开始就自动加载,不用智能体主动去调。两个文件都放在 ~/.hermes/memories/,在处理第一条消息前就直接注入系统提示。
重要限制:两个文件加起来总字符上限是 3575,故意设得很紧凑,就是为了逼你精选,而不是无脑堆内容。
关键细节:会话中对这两个文件的修改,要到下次会话才生效,不会实时热更新。
第二层:会话检索(SQLite + FTS5)
这里要分清什么时候用会话检索,什么时候用提示词记忆:
- 提示词记忆:常驻,自动加载 → 重要到每次对话都该带着的
- 会话检索:主动调取,智能体判断历史有用时才去查 → 只有特定话题才用得上的
智能体会在"定时提醒"环节自己判断该放哪儿,不会一股脑全塞一起。
第三层:技能(过程记忆)
所有技能都以独立 Markdown 文件存在 ~/.hermes/skills/。新装时,仓库自带的技能会拷进去,智能体自创的、从技能中心装的,也都放这儿。
加载策略是渐进式披露:默认只加载技能名和简介,完整内容只有智能体判断当前任务需要时才载入。
效果:不管你有多少技能,Token 占用都基本持平。200 个技能的智能体,和 40 个技能的上下文开销差不多,因为详细内容只在真要用时才进场。
第四层:Honcho 用户建模(可选)
前三层都需要智能体主动写点什么,第四层不一样:它不等待显式写入,而是跨会话默默给你画像,悄悄记录你的偏好、说话风格、专业领域,随时间不断更新。
这就是 Honcho,一个可选的用户建模层,架在所有内存之上。它用辩证建模思路,在 12 个身份层里同时建模"你"和"智能体"的互动关系。
适用场景:大多数专用任务或自动化场景,前三层就够用。但如果你把 Hermes 当日常私人助理,想要回复风格高度贴合你的工作习惯,Honcho 就很值。
网关:让记忆跨平台无缝流转
学习循环和内存系统再强,也得智能体能随时用得上才行——这就是网关的活儿。它是一个常驻后台服务,让 Hermes 在你绑定的所有平台保持运行和连接。
平台适配器与会话路由
Hermes 可以对接 CLI、Telegram、Discord、Slack、WhatsApp、Signal、邮件,每个平台都有独立适配器,但全部汇入统一的会话路由层。
丝滑体验:在 Telegram 开的头,去终端接着聊完全没问题,因为会话绑的是 ID,不是平台。
Telegram 还更进一步,支持"项目对话":在单个私聊里用话题功能跑独立工作流,每个话题自带专属技能绑定和会话上下文。
网关主要管五件事:消息收发、会话路由、内容投递、平台绑定、定时任务触发。整个网关以系统服务运行,用 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、科研环境专用
选择建议:
- 个人用选 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 工作流、科研、生产力等。存储格式遵循 agentskills.io 开放标准,技能可跨兼容智能体迁移、分享,不用转换。
加载策略:默认只加载名称和摘要,完整内容按需加载。
定时自动化:重复任务的一等公民
Hermes 把重复任务当成一等公民,而不是随便调用 AI 的 Shell 脚本或 Cron 任务。
你设置好定时消息,Hermes 解析指令,把任务存在 cron/ 目录,网关的定时 tick 机制会负责剩下的事。
时间一到,智能体以完整权限调用内存和技能执行任务,再通过网关把结果投递到你指定的位置。流程和交互式会话完全一样,只是触发源从消息变成了时钟。
会话持久化:状态跨会话留存
学习循环、内存层、网关路由、智能体循环、定时自动化,全都依赖状态能跨会话留存。这份持久化能力来自 hermes_state.py 管理的 SQLite 数据库,便携文件型存储,不依赖外部服务。
每轮执行结束,智能体就把对话、工具调用、结果写入数据库,并用 FTS5 建索引方便检索。
技术细节:
- 原始对话存为 JSONL
- 定时任务单独存盘
- WAL 模式支持单写多读,多会话并行时也稳得一批
大规模部署:Nebius Token Factory
本地跑完全没问题,但如果你想跑 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 专攻某一领域——客服、科研、编码——最后得到的就是按你使用习惯微调过的模型,不是通用基线版。
配置 Hermes 对接 Hermes-4–405B
就几行配置:
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
- 多用户部署服务
- 并发会话、定时自动化高可用场景
- 需要监控请求量、延迟、Token 使用情况
不适合:
- 只是本地跑个人助理,接个小模型就够用(还更便宜)
总结:Hermes 适合谁?
以上就是 Hermes 的完整架构。从一条消息开始,牵扯出这么多模块,但每一块都有明确目的:让智能体越来越懂你的工作,而不只是泛泛地变"更强"。
优先补丁而非全量改写、四层内存、提示词缓存策略……所有设计都是为了长期运行准确、省钱,而不只是刚开箱时看着厉害。
这不是拿来跑个小任务的轻量玩具,而是一套需要运行和维护的基建。如果你的场景单一、短期使用,这套架构会显得过于笨重。
但如果你要打造一个日常跨平台使用、处理重复且不断进化的任务的系统,Hermes 绝对值得。
- OpenClaw 给你的是多智能体的模块化与调度能力
- Hermes 给你的是一个越用越懂你、持续积累上下文的单体智能体
无论你还在测试,还是要为多用户部署服务,Nebius Token Factory 都能让你免运维直达目标。
最终选哪个,完全看你到底想造什么。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)