网易首页 > 网易号 > 正文 申请入驻

Hermes Agent 学习指南:完全掌握与自定义agent

0
分享至


新钛云服已累计为您分享881篇技术干货


理解并自定义 Hermes Agent 你需要知道的一切。

Hermes Agent 在两个月内突破了 100,000 GitHub Star。众多开发者都在悄然构建个人 AI 智能体,它们能学习你的工作流、记住上下文,并 24/7 全天候运行。

Hermes Agent 采用了根本不同的架构理念,这使其比 OpenClaw 更具实用价值。它内置了一套学习循环(Learning Loop),能够:


  • 跨会话记忆

  • 自动生成可复用的技能(Skills)

  • 在后台自动修剪冗余技能

  • 通过名为 GEPA 的进化引擎进行离线验证


没有其他的开源智能体能同时实现以上所有功能。即使是 OpenClaw 也不行。

本指南将详细解释这套学习循环如何运作、每个记忆层的职责,以及如何从零开始配置所有功能。

最终,你将拥有三个完全隔离的智能体在你的机器上运行:一个程序员(使用你的 Claude Code)、一个深度研究员和一个设计师。每个智能体都有自己的个性、记忆、技能库和 Telegram 机器人。

看看这个效果:


整个配置过程只需几分钟,且所有操作都可以在你自己的硬件上完全复现。

Hermes 是什么?

它在架构上有什么独特之处?

一句话介绍:一个越用越强的智能体。

之所以能实现,是因为通常独立的能力被整合到了同一个框架中:运行时技能学习持久的多层记忆,以及可选的权重训练管线。没有其他的开源智能体同时具备这三项。

开源生态中最接近的对比是 OpenClaw。两者都是持久化且支持消息通讯的智能体,但它们在架构选择上截然相反。


Kilo 博客的一段精辟总结精准概括了这一点:

"Hermes 是将一个网关包裹在一个学习型智能体周围。而 OpenClaw 是将一个智能体包裹在消息网关周围。"

它是如何构建的?

要让学习循环的概念有意义,首先需要理解 Hermes 的基础架构。

所有功能都通过 run_agent.py 脚本中的单一 AIAgent 类流转。CLI、消息网关、批量运行器、IDE 集成——它们都是同一个核心智能体的入口点。

这就是为什么它的跨平台方案能够真正落地的原因。


核心循环是ReAct 风格且同步的。构建系统提示词 → 检查是否需要压缩 → 发起可中断的 API 调用 → 执行任何工具调用 → 循环再次执行。

几个关键细节:


  • 命令可以在六个不同位置执行:本地终端、Docker、SSH、Modal、Daytona 或 Singularity。代码相同,只需更改配置。你可以将执行环境从你的笔记本迁移到云端 GPU 服务器,无需修改其他代码。

  • 兼容几乎任何模型:一个翻译层将任何提供商的请求路由为三种 API 格式之一。这就是为什么你可以用一条命令在 Claude、GPT、Gemini 和本地 Ollama 之间自由切换而不会出错。

  • 硬限 90 轮对话:每个任务最多 90 轮对话。如果没有这个限制,陷入循环的智能体(不断重试失败的 API、反复读取同一个文件)会悄无声息地烧光你的额度。子智能体共享同一预算,因此失控的委托链也无法绕过限制。


记忆之前:身份层(SOUL.md)

在讨论记忆和自进化技能之前,有一层位于它们之上的基础:身份(Identity)

记忆是智能体知道什么,技能是它如何做事。但两者都没有告诉它"当它出现时,它是谁"。没有身份层,每个智能体感觉都像是戴着不同帽子的同一个智能体。

Hermes 通过一个文件解决了这个问题:SOUL.md。

它位于 ~/.hermes/SOUL.md,占据系统提示词的第 1 号位置,在所有其他内容加载之前。它定义智能体的个性、语气、沟通风格和硬性限制。

![Hermes vs OpenClaw 架构对比](https://substackcdn.com/image/fetch/$s_!bobk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3374920d-37f3-4790-8df7-9ec8da37dfa0_754x418.png)

SOUL.md 是人工编写且静态的。你只需写一次,之后偶尔微调,它在每个项目和每个会话中保持一致。如果文件缺失,Hermes 会回退到内置的默认身份。

为什么这对于自进化至关重要?因为后续的一切(智能体编写的记忆、它创建的技能、它整合知识的方式)都是通过这一身份的透镜完成的。

SOUL.md 是固定的框架,记忆和技能是框架内动态运作的部件。

记忆系统

Hermes 没有单一的"记忆"。它有三层,每层针对不同的目的设计。

第 1 层:两个微小的 Markdown 文件

核心是两个存储在磁盘上的文件:


  • MEMORY.md(最大 2,200 字符):保存智能体关于你的环境、项目规范、工具怪癖和已学教训的笔记。

  • USER.md(最大 1,375 字符):保存你的画像——姓名、沟通偏好、技能水平和需要避免的事项。


两者都在会话开始时作为冻结快照注入系统提示词。如果智能体在会话中间编写了新记忆条目,该更改会立即持久化到磁盘,但不会在下次会话开始前出现在系统提示词中。

当记忆填满(达到 ~80% 容量,在系统提示词头部显示为百分比)时,智能体必须进行合并(Consolidation)

它会将相关条目合并为更紧凑、信息密度更高的版本,确保只有有用的信息得以保留。

第 2 层:全文会话搜索

所有对话(CLI 和消息通讯)都存储在 SQLite 数据库中并支持全文搜索。智能体可以搜索过去数周的对话记录。

权衡很明显:第 1 层始终在上下文中但容量极小。第 2 层容量无限,但需要主动搜索加上 LLM 摘要。

关键事实存放在记忆中,其他所有内容按需提供搜索。

第 3 层:外部记忆提供者(8 个插件)

对于更深层的持久化记忆,Hermes 支持 8 个插件,它们与内置记忆并行运行(从不替换内置记忆)。同一时间只能有一个外部提供者处于活动状态。

当任何外部提供者激活时,Hermes 会在每次对话前自动预取相关记忆,在每次回复后同步对话轮次,并在会话结束时提取记忆。

自进化技能

记忆处理事实,技能处理流程。

技能是带有 YAML 前置元数据的 Markdown 文件,充当智能体的程序记忆(Procedural Memory)

一个技能的结构如下:

---

- Pod 保持 Running 状态且 5 分钟内无重启

为了保持 Token 成本低位,技能使用渐进式披露(Progressive Disclosure)


  • Level 0→ 智能体仅看到名称和描述(整个技能目录约 3k Token)

  • Level 1→ 实际需要使用某个技能时,才加载完整内容

  • Level 2→ 可以深入技能内的特定参考文件


自改进循环

这是核心差异点。智能体使用 skill_manage 工具自主创建自己的技能。触发创建的条件包括:


  • 完成了一个复杂任务(5+ 工具调用)

  • 遇到错误或死胡同并找到了可行路径

  • 用户纠正了它的方法

  • 发现了一个非平凡的工作流


循环运作方式如下:智能体遇到问题 → 通过试错解决 → 将成功的方法保存为 SKILL.md 文件 → 下次遇到类似问题时,加载技能并遵循经过验证的流程,而非从零开始重新发现。

该工具支持六种操作:create(创建)、patch(目标修复,推荐因为它节省 Token)、edit(全文重写)、delete(删除)、write_file(写入文件)和 remove_file(移除文件)。

技能的垃圾回收(Curator)

如果没有维护,智能体创建的技能会堆积如山。你最终会有几十个狭窄、重叠的操作手册,浪费 Token 并污染目录。

Curator是一个后台维护系统,负责处理这个问题。

它基于不活跃度检查(而非定时守护进程)。如果距离上次运行已过去 7 天且智能体已空闲 2+ 小时,一个后台分叉的智能体会启动,拥有独立的提示词缓存,绝不触碰活跃对话。

它分两个阶段运行:


  1. 自动过渡(确定性,无需 LLM): 30 天未使用的技能标记为过时。90 天未使用的技能被归档。

  2. LLM 审查(最多 8 次迭代):一个分叉智能体检查所有智能体创建的技能,并逐技能决定是保留、修补、合并还是归档。


两个重要约束:


  • Curator从不触碰捆绑技能或 Hub 安装的技能。只处理智能体原创的技能。

  • 从不自动删除。最坏结果是归档到 ~/.hermes/skills/.archive/,可通过一条命令恢复。


每次 Curator 运行前,Hermes 会对整个技能目录创建一个 tar.gz 快照。回滚只需一条命令,且回滚本身也是可逆的。

你还可以用 hermes curator pin 固定关键技能,保护它们不被归档或删除。修补和编辑仍然会执行,这样智能体可以改进固定的技能而无需你取消固定。

GEPA:通过执行轨迹离线进化技能

智能体内学习循环(技能创建 + Curator)有一个已知弱点:


  • 智能体倾向于自我表扬。即使它表现不佳,它也几乎总是认为自己做得很好。社区反馈已证实这一点。

  • 同一套自动生成技能的系统也可以覆盖手动自定义,生成更差的版本。


GEPA(Genetic-Pareto Prompt Evolution,遗传-帕累托提示进化)解决了这个问题。

它不内置于 Hermes 运行时。它位于一个配套仓库(NousResearch/hermes-agent-self-evolution)中,作为离线优化管线运行。

核心思想是:不问智能体"你做得好吗?",而是 GEPA 读取执行轨迹来理解失败原因,然后通过进化搜索提出针对性改进。

管线流程:


  1. 读取 Hermes 仓库中的当前技能

  2. 生成评估数据集(通过 Claude Opus 合成测试用例、从 SQLite 获取真实会话历史,或人工策划的黄金数据集)

  3. 运行 GEPA 优化器:读取执行轨迹 → 理解失败点 → 生成候选变体

  4. 使用 LLM 作为评判者评分(基于标准量表,而非简单的通过/失败)

  5. 应用约束门控:测试套件必须 100% 通过、技能保持 <15KB、保持缓存兼容性、语义目的不漂移

  6. 最佳变体作为 PR 提交到 Hermes 仓库。从不直接提交代码。


无需 GPU。所有操作通过 API 调用完成。成本:每次优化运行约 $2-10。

这可以在初期跳过,但当你遇到瓶颈且不想花费时间和金钱进行微调(RL/GRPO)时,它非常有效。

更多细节请参阅该仓库 → NousResearch/hermes-agent-self-evolution

从零开始在本地运营

环境要求:Linux、macOS 或 WSL2。Python 3.11+(安装器自带)。8GB RAM 用于 API 模式足够。

source ~/.bashrc   # 或 ~/.zshrc

运行设置向导,引导你完成提供商、API 密钥、模型和工具的选择:

hermes setup

然后在终端开始对话:

hermes

如果你想用手机跟智能体聊天而非终端,将其指向 Telegram 机器人。


  1. 从 @BotFather 获取机器人令牌(运行 /newbot)

  2. 从 @userinfobot 获取你的 Telegram 用户 ID


这将给你一个可用的智能体:


~/.hermes/里面有什么?

安装后,你的主目录会获得一个新文件夹。

了解其布局很有价值,因为你对 Hermes 做的所有操作都会触及以下路径之一:

└── logs/                 # agent.log, gateway.log, errors.log

几个文件值得深入了解:


  • config.yaml:所有非机密配置的权威来源。模型选择、终端后端、工具启用、MCP 服务器等都住在这里。使用 hermes config edit 编辑,或用 hermes config set 逐个设置。

  • .env:保存你的机密。API 密钥、机器人令牌、密码。Hermes 会自动将看起来像机密的路由到这里。

  • SOUL.md:系统提示词 插槽,在所有其他内容之前。身份层,前文已覆盖。

  • skills/:整个学习循环居住的地方。智能体创建的每个技能以及你安装的都落在这里。

  • state.db:支持会话搜索的 SQLite 数据库。


添加新技能

Hermes 维护着自己官方的 Skills Hub,包含 **687 个技能**,横跨 18 个类别。具体构成:


  • 87 个内置技能,随智能体自带

  • 79 个可选技能,可按需启用

  • 16 个来自 Anthropic(frontend-design、pdf、pptx、docx、mcp-builder 等)

  • 505 个来自 LobeHub(更广泛的社区贡献)


你也可以将任何 GitHub 仓库添加为自定义源:

hermes skills install yourname/your-skills-repo/

这就是你在团队间共享技能或维护自己的私有收藏的方式。

从 1 个到 10 个智能体

一个智能体就很好。多个专用智能体才是 Hermes 真正有趣的地方。

Hermes 为此提供了一流的功能,称为 **Profiles(配置文件)**。每个配置文件是一个完全隔离的 Hermes 实例,拥有自己的配置、记忆、技能、会话和 SOUL.md。默认情况下它们互不共享。

我们将设置三个:一个设计师、一个程序员和一个研究员。

hermes profile list

--clone 会复制默认配置文件的配置和 .env 作为起点。

为了让每个智能体拥有自己的 Telegram 机器人,每个配置文件需要 BotFather 创建一个新的机器人。Telegram 每个令牌只允许一个连接,共享会导致问题。

用 BotFather 运行三次 /newbot 并保存三个令牌。然后为每个配置文件运行一次网关向导:

hermes -p researcher gateway setup

设置与普通智能体完全相同,你可以在 BotFather 中创建新机器人并将其连接到各自的智能体。

通过 SOUL.md 赋予每个智能体个性:

设计师 ~/.hermes/profiles/designer/SOUL.md

当插图弊大于利时,要敢于说"不"。

程序员 ~/.hermes/profiles/programmer/SOUL.md

说"完成"之前先运行测试。

研究员 ~/.hermes/profiles/researcher/SOUL.md

从不将有争议的声明表述为既定事实。从不捏造引用。

让程序员的执行路由到 Claude Code

如果程序员不是自己写代码,而是将执行委托给 Claude Code CLI,同时由 Hermes 协调,那会变得更有趣。

Claude Code 负责文件编辑、命令执行和 git 管理。Hermes 读取结果并决定下一步。

这也让我们能够在不单独购买 API key 的情况下,在 Claude Max 订阅上运行。Claude Code 会自动使用 Max 凭证。

启动一个会话并发送这条激活提示词:

请相应地配置自己。

程序员会自动安装 autonomous-ai-agents/claude-code 技能,验证 Claude 是否在 PATH 中,并开始用它执行代码。从下一条消息开始,所有与编码相关的操作(读取文件、编写代码、运行测试、提交、推送)都会在底层路由到 Claude Code。

两个值得注意的点:


  1. 1. 激活前确保 claude 在你的 PATH 中。which claude 应该打印一个真实的二进制路径。

  2. 2. Claude Code 有 print 模式(一次性、快速、无 TUI)和 interactive 模式(完整 tmux 会话)。程序员会根据任务选择。你无需操心。


定制设计师:教它你的视觉风格

当设计师能生成你风格的图片,而非通用的 AI 输出时,它才真正有用。方法是将参考设计喂给它,让它学习,然后要求它创建一个生成同风格图片的技能。

这是将自改进循环用作设置机制。你无需手写技能,而是向智能体展示优秀范例,让它自己编码模式。

与设计师启动一个会话,粘贴你的参考图片(CLI 中拖拽,或在 Telegram 中附件)。然后发送这条提示词:

使用 skill_manage 创建它。在说完成之前,先用示例提示词测试生成的脚本。

设计师会研究参考图片,编写 SKILL.md,生成 Python 脚本,保存到 ~/.hermes/profiles/designer/skills/my-design-style/,并验证脚本运行正常。

如果你已经运行了 hermes setup 并选择了 OpenRouter 作为提供商,密钥已经通过 --clone 存在于设计师配置文件的 .env 中。如果没有,添加一次:

hermes -p designer config set OPENROUTER_API_KEY

从此以后,向设计师请求新插图会触发该技能。它会根据你的风格指纹编写提示词,通过 OpenRouter 调用 Nano Banana,并保存输出。

同样的模式适用于任何风格特定的输出。喂入参考内容,要求智能体构建一个复现模式的技能。通讯简报引言、X 帖子、代码审查评论——任何需要一致性的场景都适用。

使用定时任务调度工作

研究员的 SOUL.md 说它负责每日 Telegram 摘要。这意味着一个按自己时间表运行的任务,无需你每次记得去问。这就是 Hermes cron 的用途。

Hermes 内置了一个调度器。网关守护进程每 60 秒tick一次,在隔离的智能体会话中运行到期的任务,并将输出投递到你指定的消息平台。

任务在重启后依然存在。它们住在 ~/.hermes/cron/jobs.json,输出进入 ~/.hermes/cron/output/。

你不需要编写 cron 表达式。你用英语描述需求,Hermes 会将其转换。

要为研究员的每日摘要接线,打开一个与研究员的会话并发送这条提示词:

将此设为 recurring cron 任务。

研究员会使用其 cronjob 工具创建任务,投递目标默认为当前聊天(此处为 Telegram),然后调度器接管。验证是否创建成功:

hermes -p researcher cron list

你应该能看到任务及其下一次计划的运行时间。

其他有用的模式

cron 语法很灵活。几个值得了解的变体:


  • 一次性延迟→ /cron add 30m "提醒我检查构建" 30 分钟后运行一次。

  • 循环间隔→ /cron add "every 2h" "检查服务器状态" 每两小时运行一次。

  • 标准 cron 表达式→ /cron add "0 9 * * 1-5" "..." 精确控制。此处为工作日上午 9 点。

  • 技能附加→ /cron add "every 1h" "总结新 feed 项" --skill blogwatcher` 运行提示词前加载技能。


你也可以链式连接任务。一个 cron 的输出通过 `context_from` 标志成为下一个 cron 的输入。适用于多阶段自动化,让研究步骤喂养写作步骤。

总 结


  • SOUL.md设定身份

  • 运行时循环捕获经验

  • Curator保持技能库整洁

  • GEPA确保库中的内容真正可用


上述就是本文完整的内容。现在大家可以根据本文的步骤,尝试一下。

如有相关问题,请在文章后面给小编留言,小编安排作者第一时间和您联系,为您答疑解惑。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
河南一景区山顶矿泉水一元一瓶,被网友赞“良心景区”,工作人员:无人售卖,有人多给钱,有人不给钱,哪怕成本倒挂,也会长期坚持

河南一景区山顶矿泉水一元一瓶,被网友赞“良心景区”,工作人员:无人售卖,有人多给钱,有人不给钱,哪怕成本倒挂,也会长期坚持

极目新闻
2026-05-28 18:07:33
加拿大宣布:27日起,这三国居民禁止入境

加拿大宣布:27日起,这三国居民禁止入境

南方都市报
2026-05-27 16:32:22
黄仁勋带老婆逛夜市,相恋46年零绯闻!招牌皮衣全是她买的…

黄仁勋带老婆逛夜市,相恋46年零绯闻!招牌皮衣全是她买的…

商务范
2026-05-29 18:25:55
寿命短的男性,下半身一般有6个表现!若你全无,说明身体很硬朗

寿命短的男性,下半身一般有6个表现!若你全无,说明身体很硬朗

医学原创故事会
2026-05-15 23:51:02
55年王牌旅长授少校衔,他说太丢脸我转业,7年后密报惊动省领导

55年王牌旅长授少校衔,他说太丢脸我转业,7年后密报惊动省领导

云端小院
2026-05-29 06:28:26
6.83英寸!小米新机官宣:5月28日,全球首发!

6.83英寸!小米新机官宣:5月28日,全球首发!

科技堡垒
2026-05-27 10:42:37
直接起飞,中国男篮重大喜讯,专打日本队

直接起飞,中国男篮重大喜讯,专打日本队

宗介说体育
2026-05-28 16:56:57
老了指甲长得快,说明什么?剪指甲次数多,寿命短?医生说出真相

老了指甲长得快,说明什么?剪指甲次数多,寿命短?医生说出真相

芹姐说生活
2026-05-21 17:16:12
国籍风波不过7年,央视出手,邓亚萍迎噩耗,曝出两点重要信息

国籍风波不过7年,央视出手,邓亚萍迎噩耗,曝出两点重要信息

梨花黛娱
2026-04-08 14:51:22
62岁母亲每天蒸苹果吃,半年后去体检,医生看到检查结果愣住了

62岁母亲每天蒸苹果吃,半年后去体检,医生看到检查结果愣住了

纸鸢奇谭
2026-05-29 20:37:01
忠心员工捐髓救老板一命,老板康复后却将她辞退,报应来得快

忠心员工捐髓救老板一命,老板康复后却将她辞退,报应来得快

悬案解密档案
2025-05-14 14:16:08
千钧一发之际,高市早苗慌忙自救,天皇被请上场,东京求中方帮忙

千钧一发之际,高市早苗慌忙自救,天皇被请上场,东京求中方帮忙

乐趣纪史
2026-05-29 20:17:04
敢问开发商:如此傻大个户型,真的会有人买么?

敢问开发商:如此傻大个户型,真的会有人买么?

首席楼盘分析师
2026-05-24 11:13:48
当初嫌弃这5种花太便宜,养开后真香了,每一盆都是颜值天花板

当初嫌弃这5种花太便宜,养开后真香了,每一盆都是颜值天花板

探花君子
2026-05-28 11:55:13
比恩佐强太多!切尔西砸 1 亿抢英超王牌中场!曼联又被截胡

比恩佐强太多!切尔西砸 1 亿抢英超王牌中场!曼联又被截胡

澜归序
2026-05-29 06:09:28
苹果突然发布iOS26.6,续航太炸裂了,信号很顶

苹果突然发布iOS26.6,续航太炸裂了,信号很顶

库克啥都聊
2026-05-29 15:52:22
蔚来ES9正式上市:49.8万元起,租电购买39万元起,姚明现身发布会

蔚来ES9正式上市:49.8万元起,租电购买39万元起,姚明现身发布会

新浪财经
2026-05-27 22:01:00
1948年蒋介石得意门生被俘,毛主席:戴上脚镣,再派可靠武装押送

1948年蒋介石得意门生被俘,毛主席:戴上脚镣,再派可靠武装押送

历史龙元阁
2026-05-28 13:00:13
28岁小伙模仿黄仁勋火了,面粉抹头扮白发,视频播放量轻松破百万

28岁小伙模仿黄仁勋火了,面粉抹头扮白发,视频播放量轻松破百万

丫头舫
2026-05-28 16:42:19
苏联为他破例,毛主席为他题词:一位被遗忘的“共和国全才”

苏联为他破例,毛主席为他题词:一位被遗忘的“共和国全才”

长江浊酒客
2026-05-28 10:30:06
2026-05-30 02:43:00
新钛云服
新钛云服
云管理服务专家
473文章数 30关注度
往期回顾 全部

科技要闻

Claude Opus 4.8凌晨突发上线

头条要闻

释永信被判24年 中国佛教协会:完全是咎由自取

头条要闻

释永信被判24年 中国佛教协会:完全是咎由自取

体育要闻

即使是文班亚马,也做不到这件事

娱乐要闻

奚梦瑶何猷君将于6月在法国举行婚礼

财经要闻

近3个月跌超20% 黄金"猴市"下的众生相

汽车要闻

900V+3.2秒破百 领克10+&领克10上市16.99万元起

态度原创

健康
家居
旅游
教育
公开课

尝试干细胞疗法如何避免踩坑?

家居要闻

云栖 舒展如流云

旅游要闻

云南文旅数智升级,旅游小镇游客满意度提升超过30%

教育要闻

说到这样的题目,我就不得不佩服我的学霸美女老师了

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版