第二篇 Hermes:会自我进化的AI智能体
开篇寄语
“Hermes 是那个会成长的数字员工——你用它越久,它越懂你。”
在前五章里,我们与 OpenClaw 朝夕相处。它是一个极其能干的“前台”,擅长连接、分发、执行确定性任务。但你有没有发现一个问题:OpenClaw 不会成长。
你教它的东西,它记不住;你纠正过的错误,下次它还会再犯。它就像一位记忆力很差的实习生——能力很强,但每次对话都要重新介绍自己。
这就是我们为什么要学习 Hermes。
如果说 OpenClaw 是你 AI 公司的“前台接待”,那 Hermes 就是那个“坐在工位上的核心员工”。它是一个会自我进化的智能体:当你让它处理一个复杂任务时,它不仅仅是执行指令,它还会复盘、记录、学习。下次遇到类似问题,它就能直接调用学到的经验,不再重新摸索。
这就是它被称作“自进化AI Agent”的原因——它不是“另一个 OpenClaw”,而是一种完全不同的设计哲学。OpenClaw 靠你喂技能,Hermes 靠它自己长技能。
🔐 量化安全前置提醒(沈飞说): Hermes 的自学习能力是一把双刃剑。在量化场景中,策略的自动优化是好事,但过度拟合历史数据是灾难。在后面的第 29 章,我们会专门讨论“自动学习的过拟合风险”——但现在记住一条底线:交易执行用 OpenClaw(因为你希望它确定不变),策略研发用 Hermes(因为你希望它不断进化)。
龙马注: 我一开始也以为 Hermes 只是“开源版的 Claude”。但跑起来之后才发现,它真正厉害的不是“聊天”,而是“住在你服务器里,越用越懂你”的那股劲——你永远不用跟它说第二遍你习惯用什么命令,它会自己学会。
本篇学习规划总时长:25 小时
本章主要内容:
- 第7章:认识 Hermes——五层架构、学习循环、为什么它能“越用越强”
- 第8章:部署与基础配置——从零跑起一个 Hermes 实例
- 第9章:三层记忆系统——跨会话长期记忆的内核
- 第10章:Skill 自动生成系统——Agent 自己会写“操作说明书”
- 第11章:工具集与子 Agent 委托——40+ 工具,并行执行
- 第12章:多渠道接入与自动化——飞书、Telegram、Cron 定时任务
第7章 认识Hermes Agent:会成长的数字员工
![图片[1]-Hermes Agent 是什么?与 OpenClaw 有何不同?自进化 AI Agent 入门](http://www.ifisme.cn/wp-content/uploads/2026/04/教材0701.png)
本章前置检查:
- □ 了解 AI Agent 的基本概念(什么是 LLM、什么是工具调用)
- □ 有基本的 Python 环境认知(Hermes 基于 Python)
- □ 已完成第一篇的学习(知道 OpenClaw 能做什么、不能做什么)
本章预估总时长:3 小时
本章难点提示:
- 7.2 节的“五层架构”是本章最难啃的部分,建议不要死磕,先建立整体印象,详细内容可以在后面各章中逐步消化。
- 7.3 节的“闭环学习系统”是 Hermes 最核心的差异化能力,值得多花时间理解——它回答了“为什么 Hermes 越用越聪明”这个本质问题。
- 本章不涉及实际操作,但每一段都是后面动手实践的理论基础。如果你在阅读时觉得“有点抽象”,没关系,先通读一遍,等第 8 章部署成功后你自然会理解这些概念在代码里的体现。
🎯 本章教学目标:深入理解 Hermes 的核心价值——“越用越聪明”,掌握其工作原理和架构设计,能够清晰对比 Hermes 与 OpenClaw 的差异。
7.1 项目背景与定位
🎯 本节目标:理解 Hermes Agent 从何而来、为何爆火,以及它在整个 AI Agent 生态中的独特定位。
预计时长:1 小时
7.1.1 Hermes Agent 是什么?一句话定义
Hermes Agent 是一个运行在你自己的服务器上、用得越久越聪明的开源 AI Agent,由 AI 研究实验室 Nous Research 开发。
它不是一个绑定在 IDE 上的编码助手,也不是一个单纯包装 API 的聊天机器人。它是一个自主代理,能够在任务的执行中学习、总结经验、生成可复用的技能,并在后续任务中持续改进——这套机制被称为“闭环学习”。
7.1.2 它为什么爆火?
2026 年 2 月,Nous Research 发布了 Hermes Agent。两个半月内,GitHub 星标数从 0 冲到 100k+,贡献者超过 300 人。
为什么这么火?因为它解决了一个让所有 Agent 开发者痛苦的问题:Agent 不会长记性。
OpenClaw 能帮你执行任务,但它不会因为你纠正过一次就记住你的偏好。Hermes 把这个问题翻了过来——它拥有持久化的记忆系统,会记住你的项目偏好、代码规范、个人习惯。下次它还记得你是谁,你不用每次都重复背景。更关键的是,它能把成功的经验自动打包成可复用的“技能”,下次遇到类似任务直接调用,连 Token 都不会多花。
7.1.3 背后的团队:Nous Research
Hermes Agent 不是个人项目。它的背后是硅谷知名的 AI 实验室 Nous Research。
你可能对这个名字不陌生——他们是 Hermes 系列开源模型的出品方,Hermes 2 Pro、Hermes 3、Hermes 4 在开源社区有极高的采用率,累计下载量超过 5000 万次。
Hermes Agent 的出现,可以理解为 Nous 把“训练好的模型”和“跑模型的 Agent 框架”两端打通了。在 Nous 的路线图里还有一条闭环:Agent 运行产生的轨迹数据会用来训练下一代 Hermes 模型,让模型本身也变得更聪明——这在开源 Agent 框架里是独一份的。
龙马注: 我不是“踩”OpenClaw——两者定位不同。OpenClaw 偏“执行”,Hermes 偏“成长”。在第五篇的量化系统里,二者的配合是:OpenClaw 接信号、执行下单,Hermes 做策略研发和因子分析。各取所长。
7.1.4 支持什么模型和平台?
Hermes Agent 是模型无关的。它支持超过 400 个模型,包括 OpenAI、Anthropic、Google Gemini、Ollama 本地部署(这是 Hermes 的强项),以及 Nous 自家的 Hermes 系列模型。
在接入渠道上,它原生支持 Telegram、Discord、Slack、飞书、钉钉、企业微信、个人微信等超过 12 个平台。
✏️ 即时自测:Hermes Agent 最核心的差异化特点是什么?
🛠️ 实践任务(本节):访问 Hermes Agent 的 GitHub 仓库,浏览 README 并查阅 Star 数量和最近的活动提交记录。记下作者团队的规模和特点。
💭 本节总结(不看书写 3 行):
📊 用时记录:计划____min → 实际____min → 偏差原因:________
✏️ 自测答案:闭环学习机制——自主创建技能、改进技能、跨会话持久记忆。
7.2 Hermes 五层核心架构深度剖析
🎯 本节目标:理解 Hermes 的架构设计思想,知道每一层的作用。
预计时长:1.5 小时
学习提示:本节内容偏系统架构,有一定深度。建议先通读建立整体印象,后面第 8-12 章会逐层展开。如果你感觉暂时消化不了,可以先跳过后面的「各层详解」小节,等后续章节涉及具体模块时再回来查阅。
7.2.1 核心理念:单一代理持久循环
在深入细节之前,你先记住一句话就够了:Hermes 不是多 Agent 调度平台,它是以单个 Agent 的持久执行循环为核心的系统。
所有功能都围绕这个循环来设计——记忆系统、工具系统、学习机制都在服务同一个 Agent 的持续进化。在 Hermes 中,所有执行入口最终都汇聚到同一个核心:AIAgent 类。
7.2.2 五层架构全景
从源码目录结构和模块依赖来看,Hermes Agent 的架构可以抽象为五个层次,依赖关系单向自下而上:
- Layer 5:输入层 (Input Layer)——用户交互入口
- CLI / TUI / Gateway / Dashboard / ACP 适配器 / Batch Runner
- 所有入口最终都汇聚到
AIAgent核心
- Layer 4:推理与规划层 (Reasoning & Planning)——Agent 的核心“大脑”
AIAgent类和run_conversation()方法(约 9200 行代码)- 负责构建系统提示词、调用 LLM、处理工具调用循环
- Layer 3:工具编排层 (Tool Orchestration)——调用谁、怎么调用
- 工具注册表(
registry)+ 技能匹配 + 子 Agent 调度 - 47+ 内置工具,MCP 协议扩展
- 工具注册表(
- Layer 2:执行环境层 (Execution Environment)——在哪里执行
- 文件系统 / 浏览器 / Shell / HTTP 客户端
- 6 种执行后端:Local / Docker / SSH / Daytona / Singularity / Modal
- Layer 1:反馈验证层 (Feedback & Learning)——“学习闭环”的核心引擎
- 结果校验 → 学习循环触发 → 记忆更新 → Skill 自动创建
- GEPA 自改进机制 + SQLite FTS5 全文索引
7.2.3 各层详解(按需跳读)
Layer 5:输入层
在 hermes_cli/main.py 中,全局入口点负责调度所有子命令。GatewayRunner 类(gateway/run.py)管理着所有消息平台适配器的生命周期。这两个入口虽形式不同,却共享着同一套 Agent 核心。
Layer 4:Agent 核心层
AIAgent 类是 Hermes 的灵魂。它的核心方法 run_conversation() 实现了一个完全同步的对话循环:
- 调用 LLM
- 获取响应
- 如有工具调用则逐一执行
- 追加结果到消息列表
- 重复
选择同步循环是深思熟虑的工程决策——AI Agent 的核心瓶颈是 LLM API 的延迟,而非 I/O 并发。同步代码让调试和维护大大简化;当需要并行时,通过 ThreadPoolExecutor 显式调度即可。
此外,Hermes 还支持迭代预算机制:子 Agent 获得独立预算,不会挤占父 Agent 的配额,避免单一任务耗尽全局资源。消息格式遵循 OpenAI 标准,所有消息使用 {"role": "system/user/assistant/tool"} 格式,多模型切换几乎无摩擦。
Layer 3:工具编排层
工具系统是 Hermes 的“脊柱”。model_tools.py 中的 model_tools.get_tool_definitions() 负责根据用户配置的 enabled_toolsets 和 disabled_toolsets 解析出最终要暴露给模型的工具集合。
在 tools/registry.py 中,ToolRegistry 是一个单例注册表。每个工具在被导入时自动调用 registry.register() 完成注册,提交的信息包括:工具名称、所属工具集、JSON Schema 参数定义、处理函数、可用性检查、所需环境变量等。
tools/registry.py 中的 discover_builtin_tools() 用 AST 扫描自动发现哪些文件包含工具注册,不需要维护手工 import 列表。
此外,工具系统还支持并行调度:会根据工具类型(只读、路径作用域、互斥等)自动决定串行还是并行执行。
Layer 2:执行环境层
Hermes 支持 6 种执行后端:
- Local:当前机器直接执行(默认)
- Docker:容器内执行,实现隔离
- SSH:远程执行,适合管理多台服务器
- Daytona:按需环境,适合开发测试
- Singularity:HPC 容器
- Modal:云端执行
选择执行后端有多种考量:Docker 提供隔离,适合运行不信任的代码;SSH 拓展能力边界;Local 在本地调试时速度最快。
Layer 1:反馈验证层(学习循环的核心)
这是 Hermes 的“秘密武器”。它通过 GEPA(Generate, Execute, Plan, Adjust,即生成、执行、规划、调整)自改进机制,在执行每个任务后自动判断:这个任务是否值得学习?学到了什么?是否需要生成新的技能?是否需要更新现有的技能?
在后续的 7.3 节中,我们会深入展开这层的内容。
龙马注: 看完五层架构,你应该能体会到 Hermes 和 OpenClaw 的底层差异——OpenClaw 的架构是“横向扩张”,通过接入更多渠道、管理更多 Agent 来扩展能力;Hermes 的架构是“纵向挖掘”,在一个 Agent 的执行循环里塞进了学习、记忆、进化机制。一个做广度,一个做深度。不是谁更好,而是看你想用在哪。
✏️ 即时自测:Hermes 选择同步执行循环的主要考虑是什么?
💭 本节总结(不看书写 3 行):
📊 用时记录:计划____min → 实际____min → 偏差原因:________
✏️ 自测答案:核心瓶颈是 LLM API 调用延迟而非 I/O 并发,同步循环使代码更易于推理、调试和维护。
7.3 Hermes 的核心运行循环与闭环学习系统
🎯 本节目标:理解 Hermes 如何做到“越用越聪明”——闭环学习系统是 Hermes 与其他 Agent 最核心的区别。
预计时长:0.5 小时
7.3.1 完整链路:从用户输入到技能固化
大多数 Agent 框架解决的是“记住发生了什么”——把对话历史存起来,下次加载进上下文。Hermes Agent 更进一步:“记住什么有效”。日志堆积得越多越难用,技能积累得越多越好用。Hermes 的整个架构都在为这个区别而设计。
下面是 Hermes 执行一次任务并进行学习的完整链路:
用户提问
↓
Gateway / CLI 接收消息,调度 AIAgent
↓
[Layer 4] run_conversation() 启动同步循环
↓
从记忆管理器预取历史记忆和用户画像,注入系统提示词
↓
调用 LLM 模型 → 返回 tool calls 或文本
↓
[Layer 3] 通过 ToolRegistry 分发执行
↓
工具执行结果回灌消息历史
↓
会话结束 / 空闲触发学习循环
↓
[Layer 1] 评估任务复杂度:
- 工具调用次数 ≥5 次?是 → 触发“自主生成技能”
- 从错误中恢复?是 → 触发“技能改进”
↓
调用 `skill_manage` 工具,在 ~/.hermes/skills/ 目录生成/修改规范化的 Skill 文档
↓
会话完整记录保存到轨迹文件(JSONL 格式),同步到 SQLite + FTS5 数据库
↓
下次遇到类似任务时,直接调用已有技能,无需重新摸索
龙马注: 上面这个链路读起来很“重”,但真正值钱的地方是第 10 步以后——Agent 自己在复盘、总结、生成 Skill。我们普通开发者不会想到在这个环节插入这种自动化逻辑,但 Hermes 的架构里把这个做死了。
异步子 Agent 并行执行机制(Layer 3 高级能力):对于需要分解的复杂任务,主 Agent 还可以通过代理委托工具生成一个或多个子 Agent。每个子 Agent 拥有独立的对话上下文、受限的工具集、自己的终端会话和迭代预算,并行执行子任务。父 Agent 只接收子 Agent 返回的摘要结果,中间的工具调用细节被完全隔离——主 Agent 的上下文永远干净。
7.3.2 闭环学习系统:四个齿轮如何咬合
Hermes 的学习闭环由四个机制共同驱动,各自在不同时机触发。
| 模块 | 触发时机 | 核心作用 |
|---|---|---|
| 定期自省 | 会话中每隔一段时间 | 主动复盘近期对话,筛选有价值的信息,写入 MEMORY.md/USER.md |
| 自主生成技能 | 任务执行完毕后 | 若任务复杂(5+ 工具调用)或从错误中恢复,自动生成可复用的 Skill |
| 技能自我改进 | 技能被再次调用时 | 发现技能过时或不够好,用 patch 工具进行精准修复 |
| 跨会话搜索 | 用户提问或搜索时 | 通过 FTS5 全文搜索历史会话,用 LLM 总结关键内容,再结合当前对话上下文回答问题 |
7.3.3 几个关键设计决策的深度解读
为什么选择同步循环而非异步?
决策基于准确的瓶颈分析:AI Agent 的核心瓶颈是 LLM API 调用的延迟,而不是 I/O 并发。此外,同步循环在调试阶段可以逐行日志跟踪执行轨迹,对于理解和排查 Agent 行为来讲是决定性的优势。当需要并行时,通过 ThreadPoolExecutor 显式调度即可。
什么是 GEPA 自改进机制?
GEPA 是 Hermes 学习引擎的底层机制,包含四个阶段:
- Generate:生成执行计划
- Execute:执行,记录工具调用和结果
- Plan:基于执行结果反思,决定是否生成/更新技能
- Adjust:将技能持久化为文档,下次直接复用
这形成了“执行 → 记录 → 学习 → 优化 → 执行”的能力循环,让 Hermes 越用越强。
技能自动生成的触发条件:
- 使用了 5 次以上工具调用
- 从某个错误中恢复
- 用户提供了修正指导
- 走通了一套不那么直观的有效流程
技能的自我进化:
固化下来的技能并非一成不变。当 Agent 在后续任务中再次调用某个技能时,如果发现它已经过时、不完整或有错误,就会触发“技能自我改进”模块,用 patch 工具采用精准的 find-and-replace 方式进行更新。
能力的元认知:Agent 如何知道自己学会了什么?
Hermes 会在系统提示词的 System Prompt 中添加以下声明:
When you learn something important, ASK THE USER before making permanent changes.
If you do update skills, use patch (not overwrite). Keep skills focused and idempotent.
这个系统级的“元指令”让 Agent 在自我进化时保持克制。真正的能力成长不是让 Agent 随便改东西,而是在系统给定的边界内让它自己往前走。
沈飞注: 这个“元指令”在量化场景里是至关重要的——你绝对不希望 Hermes 在跑回测时擅自修改止损阈值。我们在第 29 章的“过拟合防范”里会展开。但有一点可以先说:“当 Agent 觉得自己学到了新东西,先问用户要不要采纳,而不是直接改”——这条规则对金融应用来说不是锦上添花,而是底线。
✏️ 即时自测:Hermes 在什么情况下会自动生成一个 Skill?
🛠️ 实践任务(本节):画一张 Hermes 学习循环的流程图,标注四个齿轮各自触发时机。可以画在纸上拍照,或用流程图工具(如 Draw.io)完成。
💭 本节总结(不看书写 3 行):
📊 用时记录:计划____min → 实际____min → 偏差原因:________
✏️ 自测答案:调用了 5 次以上工具、从错误中恢复、用户提供了修正指导、走通了一套不那么直观但有效的工作流。
第7章 参考资料与扩展阅读
- Hermes Agent GitHub 仓库 https://github.com/nousresearch/hermes-agent
- Hermes Agent 官方文档 https://hermes-agent.nousresearch.com/docs
- Hermes Agent 爆火!部署教程 + 与 OpenClaw 核心差异全解析(阿里云) https://developer.aliyun.com/article/1727526
- 深度解析 Hermes Agent:从源代码到架构设计 https://learnblockchain.cn/article/24868
- Hermes Agent 全解析:与 OpenClaw 对比及飞书接入指南 https://www.feishu.cn/content/article/7628541877674953666
- 06 | Hermes Agent 架构设计 —— 五层架构、学习循环、安全防御与关键设计决策(CSDN) https://blog.csdn.net/zhangmeijia5/article/details/160410302
- Hermes Agent 架构与目录详解(CSDN) https://blog.csdn.net/u011265143/article/details/160374920
- Hermes Agent:「会自我进化」的开源 AI Agent(知乎)https://zhuanlan.zhihu.com/p/2026106192003437649
- 深入源码:Hermes Agent 如何实现 “Self-Improving”(阿里云) https://developer.aliyun.com/article/1730226
- Hermes Agent 核心机制解析:从工具调用到上下文管理的五层设计(CSDN) https://blog.csdn.net/oe1019/article/details/160207405
本篇综合实践(第7章完成后)
任务:完成以下检查项并记录。
- 能够说清楚 Hermes Agent 与其他 AI Agent 的本质区别
- 能够画出五层架构的层次关系和依赖方向
- 理解“闭环学习系统”如何工作
- 能够对比 Hermes 与 OpenClaw 的设计差异
完成后,保存你的笔记,命名为 chapter7_hermes_understanding.txt。
龙马的评审:
“第7章写得不错,但我要提醒一点:别被‘五层架构’吓到。上手之后你根本不需要记这些层级,直接 hermes命令开聊就行。把这些架构信息放在第 7 章,是为了让你有‘全局感’——后面你遇到 Skill 不生成、记忆不检索这类问题时,回头看这章会恍然大悟。另外,7.3 节那段‘能力的元认知’要重点体会。Hermes 在 System Prompt 里加了‘先问用户再改’这条规则,说明作者团队考虑过‘Agent 别瞎改东西’这个问题。这种设计哲学在你用 OpenClaw 时是没有的。”
沈飞的评审:
“7.3 节的能力循环让我想起了量化策略的‘交易日志复盘’——每天收盘后分析今天哪里做对了、哪里做错了。Hermes 把这套方法用代码固化下来了。如果将来量化系统能让策略 Agent 每天自动复盘、自动生成‘市场规律’笔记,那将是革命性的。另外,7.2 节的执行环境层对量化部署很有用:在 WSL2 里开发、用 Docker 隔离回测、在生产服务器上用 Local 后端低延迟执行——同一个 Skill 在不同环境下无缝切换,这正是我们在实盘中需要的能力。”
下一章预告:第8章 Hermes 部署与基础配置 —— 实操章节。你将在本地跑起 Hermes,通过 CLI 对话、配置模型后端、接入飞书渠道。知行合一,从这一章开始。






















暂无评论内容