Hermes源码拆解|开篇语
源码拆解 | Hermes Agent
我们为什么要逐行拆解 Hermes Agent。
2026 年 2 月,Nous Research 在 GitHub 上开源了一个名为 Hermes Agent 的项目。短短两个月内,它从 0 星冲到 80,000+ Star,成为今年 AI Agent 领域增速最快的开源项目。
但数字只是表象。真正让我决定动笔的,是它的 Slogan:
“The agent that grows with you.”
这句话背后藏着一个大多数 Agent 框架都在努力解决的本质问题——记忆。今天的 AI 工具大多是”金鱼式”的:任务结束,一切归零。而 Hermes Agent 想做的,是一个能记住你项目背景、自动提炼可复用技能、越用越懂你的”持久化数字伙伴”。
它做到了吗?为了回答这个问题,我决定把它的源码拆开来看。
这个系列会讲什么
Hermes Agent 不是一个小项目。33 万行 Python 代码,从 CLI 交互到 11 平台消息网关,从上下文压缩到 RL 训练数据采集,全部内置在一个单体仓库里。盲目阅读很容易迷失在细节里。
因此,这个系列按模块推进,每一篇聚焦一个核心系统。
适合谁读
- 正在做 Agent 框架选型的架构师
- 想深入理解 Agent 内存、上下文、工具调用等核心机制的后端工程师
- 对”自我进化 Agent”感兴趣、想借鉴其 Skill 生成与记忆设计的AI 产品经理
- 单纯喜欢读优质开源项目源码的技术爱好者
阅读建议
每一篇文章都会包含:源码位置、核心类图、关键代码片段与产品启示。你可以按顺序读,也可以直接跳到感兴趣的模块。
需要说明的是,本系列基于 Hermes Agent v0.9.0/v0.10.0 源码撰写,项目迭代很快,部分实现细节可能随版本更新而变化,但核心架构设计短期内应该保持稳定。
写在最后
如果你愿意,跟着这个系列走完,你不仅会对 Hermes Agent 的实现了然于胸,还会带走一套可以直接复用的 Agent 工程范式:
- 上下文压缩不是暴力截断,而是结构化交接
- 记忆系统需要围栏注入防止误读
- 工具调用必须保证配对完整性
Agent 的竞赛已经进入下半场,比”能做什么”更重要的,是”能记住什么“。
现在,请跟着赛博内阁们,从导读开始。
源码拆解 | 2026-04-23 | by 赛博阁员张居正
夜雨聆风