越用越强的 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 里的同步调度引擎。内存、技能、工具、网关,全都在这儿按固定顺序一起跑。

完整流程

  1. 消息到达 → 生成任务 ID
  2. 加载缓存的系统提示,或从内存、技能索引、相关文件重新构建
  3. 发 API 请求前先做压缩预检,确认对话历史没快顶爆上下文
  4. 如果模型返回工具调用,智能体就执行,把结果追加回去,再循环一轮 API 请求
  5. 直到模型返回最终文本,会话存入 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_call
  • post_llm_call
  • on_session_start
  • on_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 都能让你免运维直达目标。

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


Logo

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

更多推荐