@akshay_pachaar: https://x.com/akshay_pachaar/status/2054564519280804028
摘要
Nous Research 推出的 Hermes Agent 综合指南,重点介绍其技能自进化、三层记忆架构以及用于构建持久化 AI 智能体的 GEPA 优化能力。
https://t.co/Exoyd8tB0d
查看缓存全文
缓存时间: 2026/05/13 14:23
Hermes Agent 大师课 理解与自定义 Hermes Agent 所需的一切。自我演化的技能、三层记忆系统、GEPA 优化,以及如何从 1 个智能体扩展到 10 个为你 24/7 工作的智能体。 Hermes Agent 在 两个月内获得了超过 90,000 个 GitHub Star。开发人员正在 quietly(静默地)构建个人 AI 智能体,这些智能体能学习他们的工作流、记住上下文,并全天候运行。星数历史记录追踪器 星数历史记录追踪器 你使用过的每一个 AI 智能体都有同样的问题:一旦会话结束,它就会忘记一切。你的代码偏好、你纠正过它三次的项目约定、它昨天花了 10 分钟才想通的修复方案。全都消失了。下一次会话,你从零开始。由 Nous Research 开发的 Hermes Agent 采取了根本不同的方法。它带有一个学习循环,该循环: - 跨会话记忆 - 编写自己的可复用技能 - 在后台进行修剪 - 并通过一个名为 GEPA 的进化引擎进行离线验证 没有其他开源智能体同时具备这三个特性。即使是 OpenClaw 也没有。本指南介绍了这个学习循环的工作原理、每个记忆层的作用,以及如何从头配置所有内容。读完本指南后,你将在机器上运行三个完全隔离的智能体:一个程序员(使用你的 Claude code)、一个深度研究者和一个设计师,每个智能体都有自己的个性、记忆、技能和 Telegram 机器人。看看这个: Telegram 中的三个智能体 Telegram 中的三个智能体 整个设置只需几分钟,这里的所有内容都可以在你自己的硬件上复现。 > 注意:本指南中的所有插图均由 Pixel 设计,Pixel 是你将在本指南结束时学会构建的 Hermes 智能体之一。阅读时请留意它们。让我们开始吧! # 如何阅读本指南 分为两部分:前半部分讲理论,后半部分讲实操。时间紧迫?直接跳到 启动与运行。命令可以独立运行。但理论会有回报。了解技能如何自我演化、记忆如何组成,以及 GEPA 何时发挥作用,是将其用作带笔记的聊天机器人还是用作复利增长工具的区别。接下来内容: - Hermes Agent 究竟是什么。 核心主张,以及与 OpenClaw 的对比。 - 它是如何构建的。 一张图看懂架构。 - 记忆之前:智能体是谁? SOUL.md,身份层。 - 记忆系统。 三层,三种速度。 - 自我演化的技能。 智能体自创剧本加上策展人(Curator)。 - GEPA。 离线技能优化。 - 启动与运行。 安装、Telegram、第一个智能体。 - 运行多个智能体。 配置文件、三种人设、定时摘要。 - 根据需要自定义智能体。 # 什么是 Hermes,以及它在架构上有何不同 一句话主张:一个用得越久变得越好的智能体。使其成为现实的是,三个通常分离的能力位于同一个框架中:运行时技能学习、持久多层记忆,以及可选的权重训练管道。没有其他开源智能体同时具备这三者。开放生态中最接近的比较对象是 OpenClaw。两者都是持久的、适合消息通信的,但它们做出了截然相反的架构选择。Kilo 博客的一个清晰框架概括了这一点:“Hermes 在一个学习智能体周围打包了一个网关。OpenClaw 在一个消息网关周围打包了一个智能体。” OpenClaw 与 Hermes 对比 OpenClaw 与 Hermes 对比 # 它是如何构建的 在学习循环变得有意义之前,你需要对 Hermes 的结构有一个基本的了解。所有内容都通过 run_agent.py 脚本中的单个 AIAgent 类流动。CLI、消息网关、批处理运行器、IDE 集成:它们都是进入同一个核心智能体的入口点。这就是平台无关性故事实际奏效的原因。 Hermes 智能体的结构 Hermes 智能体的结构 核心循环是 ReAct 风格且同步的。构建系统提示,检查是否需要压缩,发出可中断的 API 调用,执行任何工具调用,然后再次循环。一些稍后会用到的细节: - 智能体可以在六个不同的地方运行命令。 本地终端、Docker、SSH、Modal、Daytona 或 Singularity。相同的代码,只需更改配置。无需触碰其他任何东西,即可将执行从笔记本电脑移动到云端 GPU 服务器。 - 它几乎与任何模型兼容。 翻译层将任何提供商的路由通过三种 API 格式之一。这就是为什么你可以用一条命令在 Claude、GPT、Gemini 和本地 Ollama 之间切换,而不会出任何问题的原因。 - 智能体对每个任务有 90 轮次的硬性上限。 如果没有它,陷入循环的智能体(重试失败的 API、重读相同的文件)会默默地消耗你的额度。子智能体共享相同的预算,因此失控的委托链也无法溜过去。这些足够的基础设施。现在进入有趣的部分。 # 记忆之前:智能体是谁? 在讨论记忆和自我演化的技能之前,有一个位于两者之上的层:身份。记忆是智能体知道的内容。技能是它做事的方式。但两者都不能告诉你它在出现时是谁。如果没有身份层,每个智能体都感觉像是同一个智能体戴着不同的帽子。Hermes 通过一个文件解决了这个问题:SOUL.md。它位于 ~/.hermes/SOUL.md,在系统提示中占据第 1 号槽位,在加载任何其他内容之前。它定义了智能体的个性、语气、沟通风格和硬性限制。SOUL.md 是手动编写且静态的。你编写一次,随时间微调,它在每个项目和每个会话中保持一致。如果文件缺失,Hermes 会回退到内置的默认身份。为什么这对自我改进的故事很重要?因为接下来的一切(智能体写入的记忆、它创建的技能、它巩固知识的方式)都通过这个身份的透镜发生。SOUL.md 是固定的框架。记忆和技能是其中的移动部件。 # 记忆系统:三层,三种速度 Hermes 没有单一的“记忆”。它有三个层,每个层都针对不同的目的设计。 ## 第一层:两个微小的 Markdown 文件。 核心是两个存储在磁盘上的文件: - MEMORY.md(最大 2,200 字符)保存智能体关于你的环境、项目约定、工具怪癖和经验教训的笔记。 - USER.md(最大 1,375 字符)保存你的个人资料:姓名、沟通偏好、技能水平和应避免的事项。两者在会话开始时作为 冻结快照 注入系统提示。如果智能体在会话中途写入新的记忆条目,该更改会立即持久化到磁盘,但直到下一次会话才会出现在系统提示中。当记忆填满(~80% 容量,在系统提示头部显示为百分比)时,智能体必须 巩固。它将相关条目合并为更密集、信息量更大的版本,以便只有有用的信息得以保留。 ## 第二层:全文会话搜索。 每次对话(CLI 和消息)都存储在带有全文搜索的 SQLite 中。智能体可以从此搜索过去几周的对话。权衡是很清楚的:第一层始终在上下文中但很小。第二层拥有无限容量,但需要主动搜索加上 LLM 总结。关键事实存储在记忆中。所有内容按需可搜索。 ## 第三层:外部记忆提供商(8 个插件)。 为了更深层次的持久记忆,Hermes 配备了 8 个可插拔提供商,与内置记忆并行运行(永不替换它)。一次只能激活一个。当任何外部提供商处于活动状态时,Hermes 会在每次轮次前自动预取相关记忆,在每次响应后同步会话轮次,并在会话结束时提取记忆。外部提供商对比。 外部提供商对比。 # 自我演化的技能:智能体编写自己的剧本 记忆处理事实。技能处理程序。技能是带有 YAML 前置元数据的 Markdown 文件,充当智能体的 程序性记忆:不是它知道什么,而是它如何做事。以下是技能的解剖: 为了降低 Token 成本,技能使用渐进式披露: 技能中的渐进式披露 技能中的渐进式披露 - 级别 0:智能体仅看到名称 + 描述(完整目录约 ~3k tokens) - 级别 1:当它实际需要某个技能时,加载完整的技能内容 - 级别 2:它可以深入技能内的特定参考文件 ## 自我改进循环。 这是核心差异点。智能体使用 skill_manage 工具自主创建自己的技能。触发技能创建的情况: - 智能体完成复杂任务(5+ 工具调用) - 它遇到错误或死胡同并找到有效路径 - 用户纠正其方法 - 它发现非平凡的工作流 因此循环是这样工作的:智能体遇到问题 → 通过试错解决它 → 将成功的方法保存为 SKILL.md 文件 → 下次遇到类似问题时,它加载技能并遵循经过验证的程序,而不是从头重新发现方法。该工具支持六种操作:创建、修补(针对性修复,首选,因为 Token 效率高)、编辑(完整重写)、删除、write_file 和 remove_file。 ## 策展人(Curator):技能的垃圾回收。 如果没有维护,智能体创建的技能会堆积。你最终会得到几十个狭窄、重叠的剧本,浪费 Token 并污染目录。策展人是一个处理此问题的后台维护系统。它基于非活动检查运行(而不是 cron 守护进程):如果自上次运行以来已过 7 天,并且智能体已空闲 2+ 小时,则智能体的后台分叉版本会启动,拥有自己的提示缓存,永不触碰活动对话。它分为两个阶段: - 自动转换(确定性,无 LLM):30 天未使用的技能变为陈旧。90 天未使用的技能被归档。 - LLM 审查(最多 8 次迭代):分叉的智能体调查所有智能体创建的技能,并决定每个技能是保留、修补、整合还是归档。两个重要约束: - 策展人从不触碰捆绑或通过 Hub 安装的技能。仅限智能体自创的技能。 - 它从不自动删除。最坏的结果是归档到 ~/.hermes/skills/.archive/,可以通过一条命令恢复。在每次策展人扫描之前,Hermes 都会对整个技能目录进行 tar.gz 快照。回滚是一条命令,且回滚本身是可逆的。你还可以使用 hermes curator pin 固定关键技能,以保护它们免受归档和删除。修补和编辑仍然可以通过,因此智能体可以在不要求你先取消固定的情况下改进固定的技能。 # GEPA:通过执行轨迹离线演化技能 这里变得有趣了。智能体内的学习循环(技能创建 + 策展人)有一个已知的弱点: - 智能体倾向于自我吹嘘。即使表现不佳,它也几乎总是认为表现良好。社区反馈已证实这一点。 - 同样自动生成功能的系统也可以用更差的版本覆盖手动自定义。这就是 GEPA 的用武之地。GEPA(Genetic-Pareto Prompt Evolution)未内置于 Hermes 运行时。它存在于 companion 存储库(NousResearch/hermes-agent-self-evolution)中,并作为离线优化管道运行。作为 ICLR 2026 Oral 论文发表,采用 MIT 许可。核心思想:GEPA 不询问智能体“你做得好吗?”,而是阅读执行轨迹以理解 为什么 事情失败,然后通过进化搜索提出有针对性的改进。 管道: - 从 Hermes 存储库读取当前技能 - 生成评估数据集(通过 Claude Opus 的合成测试用例、来自 SQLite 的真实会话历史,或手动策划的黄金数据集) - 运行 GEPA 优化器:读取执行轨迹 → 理解故障点 → 生成候选变体 - 使用基于规则的 LLM-as-judge 评分评估候选者(而非二元通过/失败) - 应用约束门:完整测试套件必须 100% 通过,技能保持低于 15KB,保留缓存兼容性,语义目的不发生漂移 - 最佳变体作为针对 Hermes 存储库的 PR 发出。从不直接提交。无需 GPU。所有内容都通过 API 调用运行。成本:每次优化运行约 $2-10。这是最初可以跳过的内容,但在你遇到瓶颈且不想花费时间和金钱进行微调(RL/GRPO)时非常有效。 此存储库中的更多详细信息 → 我最近写了一篇关于 GEPA 的文章。在转向全微调或基于 RL 的微调之前,这是一个很棒的替代方案。 GRPO 与 GEPA 对比 GRPO 与 GEPA 对比 Akshay @akshay_pachaar·5 月 1 日文章如何在不调用模型权重的情况下击败 GRPO伯克利的一个团队以 35 倍更少的 rollout 次数和无需 GPU 训练击败了 GRPO 10 个百分点,以及为什么大多数团队仍然以错误的方式进行提示优化。你花了两周时间微调一个 8B…53329091K 好的,总结一下: SOUL.md 设置身份。运行时循环捕获经验。策展人保持库的整洁。GEPA 确保库中的内容确实有效。这就是全部理论。现在让我们在机器上运行它。 # 启动与运行 Linux、macOS 或 WSL2。Python 3.11+ 随安装程序提供。8GB RAM 对于基于 API 的使用来说没问题。一行安装: 运行设置向导。它逐步引导提供商、API 密钥、模型和工具: 在终端开始聊天: 将其连接到 Telegram: 如果你想从手机而不是终端与智能体交谈,将其指向 Telegram 机器人。从 @BotFather 获取机器人令牌(运行 /newbot),然后从 @userinfobot 获取你的 Telegram 用户 ID。就这样。你有一个工作智能体: Hermes 设置指南 Hermes 设置指南 ## ~/.hermes/ 中有什么 安装后,你的主目录会出现一个新文件夹。了解布局很有价值,因为你使用 Hermes 所做的每件事都会触及这些路径之一。有几个文件值得仔细查看。 - config.yaml 是所有非秘密内容的真实来源。模型选择、终端后端、工具启用、MCP 服务器都位于此处。使用 hermes config edit 编辑,或使用 hermes config set 逐个设置值。 - .env 保存你的秘密。API 密钥、机器人令牌、密码。Hermes 会自动将看似秘密的值路由到这里。 - SOUL.md 是系统提示中的第 1 号槽位,在所有内容之前。身份层,前面已涵盖。 - skills/ 是整个学习循环所在的地方。智能体创建的每个技能,以及你安装的所有内容,都落在这里。 - state.db 是支持会话搜索的 SQLite 数据库。WAL 模式安全,FTS5 索引。这使得“我们三周前讨论了什么?”真正奏效。你不会手动编辑其中大部分内容。但了解布局让其他一切变得清晰。 ## 添加新技能 Hermes 维护自己的官方技能中心,包含 18 个类别中的 687 个技能。分解如下: - 87 个内置技能 随智能体一起提供 - 79 个可选技能 你可以按需启用 - 16 个来自 Anthropic(frontend-design、pdf、pptx、docx、mcp-builder 等) - 505 个来自 LobeHub(更广泛的社区贡献) 你还可以将任何 GitHub 存储库添加为自定义 tap: 这就是如何在团队之间共享技能或维护你自己的私有集合的方法。 # 从 1 到 10 个智能体 一个智能体很好。多个专业智能体是 Hermes 变得有趣的地方。Hermes 有一个称为 配置文件(profiles) 的一流功能来实现这一点。每个配置文件都是一个完全隔离的 Hermes 实例,拥有自己的配置、记忆、技能、会话和 SOUL.md。默认情况下,它们不共享任何内容。我们将设置三个:一个设计师、一个程序员和一个研究者。 ## 创建团队 > –clone 复制你的默认配置文件的配置和 .env 作为起点。 设置程序员和 claude code 委托 设置程序员和 claude code 委托 ## 给每个智能体分配自己的 Telegram 机器人 每个配置文件需要来自 BotFather 的自己的机器人。Telegram 每个令牌只允许一个连接,所以共享会破坏事情。与 BotFather 运行 /newbot 三次并保存三个令牌。然后为每个配置文件运行一次网关向导: 设置完全相
相似文章
@nateherk: https://x.com/nateherk/status/2053308681299616125
本文详细介绍了 Hermes——由 Nous Research 构建的一个开源 AI Agent 框架,它专注于内存、技能以及用于即时自动化的自我改进循环。
@tavilyai:Hermes Agent 让我们得以一窥智能体的未来走向——它从每次会话中学习,自主编写技能,并持续构建记忆…
Nous Research 推出的 Hermes Agent 是一款开源自进化自主智能体,能够从每次会话中学习并随时间积累持久记忆。Tavily 作为其网络搜索后端接入,旨在提升搜索质量,防止错误数据在智能体的长期记忆与技能库中不断累积放大。
NousResearch/hermes-agent
Hermes Agent 是由 Nous Research 推出的开源、自我进化 AI 智能体框架,具备闭环学习循环、跨平台部署能力,并兼容数百种大语言模型。它提供终端界面、持久化记忆、自动化调度以及用于扩展 AI 工作流的科研级工具。
@PrajwalTomar_: https://x.com/PrajwalTomar_/status/2064324584254710262
Nous Research 的 Hermes Agent 是一款开源自主 AI 代理,它在服务器上持续运行,跨会话记住每一次对话,并自主创建技能文件,使其与 Claude Code 和 Cursor 等基于会话的编码工具截然不同,属于一个根本不同的代理类别。
@akshay_pachaar: Hermes 智能体的三层记忆。AI 智能体会在会话结束后忘记一切,但 Hermes 不会。它拥有三…
Hermes 智能体的三层记忆系统结合了始终存在的小型 Markdown 文件、基于 SQLite+FTS5 的全文会话搜索以及可插拔的外部提供程序,为 AI 智能体提供持久且经过精心筛选的记忆,每次交互都会进行组合。