self-improving · agent 技能闭环 · 跨平台记忆 —— NousResearch 开源项目
Hermes Agent(NousResearch/hermes-agent)是一个自带闭环学习
能力的 AI 代理:它会在执行任务后自动沉淀技能、跨会话维持用户画像、
并在多个聊天平台上共用同一套记忆。180K+ Stars 说明开发者社区认可的
不是它多了一个工具,而是它让代理「越用越聪明」这件事不再是文案
里的 promise,而是有代码实现的生产力方案。
为什么「会学习的代理」比想象中更急迫
主流 LLM 代理产品面临一个共同瓶颈:对话即用即弃。用户关掉 终端或切换话题后,前一小时的上下文、已经摸索出的工作流、对用户 偏好的理解全部丢失。下一次启动又是空白状态,同样的配置步骤、 同样的需求说明得从头来一遍。使用频率越高,重复劳动越令人沮丧。
Hermes Agent 的核心差异是「持久化闭环」。它不是在每次对话中被动 等待提示词,而是主动做三件事:
1. 技能沉淀:完成复杂操作后自动将过程打包成可复用的 skill
2. 记忆持久化:跨会话维护 MEMORY.md 与 USER.md,会话间可回查
3. 自我修复:后台 curator 定期审视已有技能,对过时或效率低的 技能进行归档、合并或打补丁
这套机制解决的场景非常具体:一个每天需要通过 Telegram 处理 5–10 个不同任务的用户,不用在每条消息开头重复「我是谁、我的环境长怎样、 上次做到哪了」。在 DevOps 告警响应、客服工单分类、个人知识管理等 高频低差异的场景下,一次教会、反复受益的设计带来的是数量级的效率 提升。加上 Hermes 支持 6 种聊天平台并发接入,用户在 Telegram 上学 到的偏好会同步到 Discord、Slack 和 WhatsApp,真正实现一次配置、 处处认知。
从安装到第一条自动化 skill 的最佳路径
极简上手
一条命令启动终端会话:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc
hermes
Windows 用户可通过 PowerShell 完成相同的安装,不依赖 WSL2。 安装后依次执行三条命令完成基本配置:
hermes model # 选择 LLM 供应商与模型
hermes tools # 启用需要的能力(文件操作、代码执行、网页浏览等)
hermes setup # 完整配置向导,含迁移 OpenClaw 配置的功能
场景一:一条 cron 自动化指令替代每日重复劳动
大部分 AI 代理只能即时回答,而 Hermes 内置 cron 调度器。在任意
界面输入 /cron 后以自然语言描述任务,例如「每天上午 9 点抓取
Hacker News 头条摘要并发到 Telegram」。Hermes 会解析意图、创建
cron job,并在指定时间自动执行、结果推送至已配平台。无需手写任何
cron 表达式。任务可以是单次的,也可以是每周或每月定期的,全部
用纯自然语言描述即可注册。
场景二:用「技能」固化复杂工作流
假设你有一套代码审查流程:检查 diff -> 运行 lint -> 扫描敏感信息 ->
总结变更。用一次完整操作后,Hermes 后台会自动将它打包为一个
skill(对应 ~/.hermes/skills/ 下的 markdown 指令文件)。后续只需
输入 /code-review <pr-url> 即可一键执行全套流程。skill 在后续
使用中会自我修正——curator 在空闲时对比历史执行日志,调整步骤顺序
或补充遗漏的检查项。如果某个步骤在实践中被发现多余,下次执行时
agent 会自动跳过这个环节。
场景三:多平台知识共享
Hermes Gateway 启动后,同一个 agent 实例同时接入 Telegram、Discord、 Slack、WhatsApp、Signal 和 CLI。在 Telegram 上了解到的用户偏好 (例如「Java 项目按 Maven 结构组织」)会写入 USER.md,下一次在 Discord 通道中被问到项目结构问题时,它已经知道该用什么框架来回答。 所有平台共享同一份 memory provider,不会出现不同渠道的代理说着 两套话的矛盾。
场景四:模型自由切换
通过 hermes model 命令可随时切换供应端:Nous Portal、OpenRouter
(200+ 模型)、NovitaAI、NVIDIA NIM、小米 MiMo、智谱 AI、Kimi、
MiniMax、Hugging Face、OpenAI 或自部署端点。切换后所有工具、技能、
记忆不受影响,不存在对某个模型的绑定。
常见误区:不要一次性把所有工具都打开。40+ 工具全部注册会导致
prompt 膨胀严重。推荐按使用频率在 hermes tools 中选择 5–8 个
核心工具,其余通过 /tool enable 按需激活。
闭环学习的三层引擎是如何协作的
Hermes 的「自改进」能力并非某种单一算法,而是由三个独立模块在 不同时间尺度上协作完成的。
第一层:上下文压缩(秒级->分钟级)
context_compressor 在对话长度接近模型上下文窗口时自动触发。它
使用辅助模型(通常是便宜的小模型)对中间轮次进行摘要,保留 token
预算内的尾部上下文。摘要模板包含 Active Task、Resolved Questions、
Remaining Work 等分区,并以严格的系统提示告诉主模型「摘要是背景
参考,最新用户消息是唯一指令源」,防止压缩操作引入指令冲突。
摘要支持多轮迭代更新,多次压缩后的信息不会丢失。工具输出在
压缩前先被修剪为占位文本,再次节省空间。
第二层:技能自适应(分钟级->小时级)
skill_commands 模块将 markdown 格式的 skill 文件注册为 / 开头
的斜杠命令。技能在执行过程中可调用 skill_prompt() 工具来动态
修改自身的行为模板。完成后,curator 会检查技能的使用次数与
成功率,对超过 30 天未使用的 skill 标记为 stale,超过 90 天则
自动归档。curator 在 agent 空闲时通过 auxiliary client 运行后台
review agent,这个子进程拥有独立的 LLM 连接,不会阻塞主会话。
关键技能可通过 pin 操作跳过自动清理。所有归档都是可逆的——归档
不等于删除,用户随时可以恢复。
第三层:用户画像与记忆(跨会话)
memory_manager 采用插件式架构,允许多个 memory provider 共存。
内建的 FTS5 全文搜索支持跨会话检索过往讨论;Honcho dialectic
建模为可选外部 provider,用于构建更深层的用户行为画像。每次对话
结束后,后台 curator 会判断当前 USER.md 是否需要扩充——如果用户
反复提出同一类需求,画像描述会被自动更新。上下文围栏机制
(<memory-context> 标签)确保 agent 输出中的记忆块不会泄露到
UI 展示层,流式输出场景中还有 StreamingContextScrubber 状态机
处理跨分片的围栏标签。
这三层的创新不在于单个技术的新颖度,而在于它们构成了一个封闭 正反馈:使用越多->技能越精->画像越准->用户越愿意用->产生更多 使用数据。相比一次性提示工程,这种设计让代理的质量随部署时长 自然收敛。
主要代价是存储与计算开销。每轮对话的 curator 分析、压缩与技能 评估需要额外的 LLM 调用。Hermes 通过 auxiliary client 将这些 操作路由到便宜模型(如 Nous 自家的 Portal 或本地模型),默认 curator 间隔为 7 天,至少要求 agent 空闲 2 小时才会启动,避免 频发干扰。
去哪落地以及演进方向
立即可以落地的场景
• 个人知识管理助手:把 Hermes Gateway 挂到 Telegram,日常阅读的
技术文章、会议纪要、代码片段都通过对话输入。Hermes 会自动整理到
MEMORY.md,跨周检索时用 /search 命令即可回溯带有上下文的结果。
• 团队 DevOps 值班机器人:接入 Slack 通道,配置 cron 定时巡检 服务器指标。告警触发时 Hermes 自动执行诊断流程并输出结论, 对不明确的异常开启多轮追问。整个交互过程沉淀为可复用的 ops 技能, 下次同类告警时 agent 已经知道优先检查什么。
• 研究论文追踪:配置每周一次的 cron job 抓取 arXiv 指定分类 的最新论文,提取方法与结论摘要,以 Telegram 私信形式推送给用户。 跨周积累后 agent 能主动指出「这篇的 baseline 和上周那篇一致」。
更广阔的可能性
Hermes 的 delegate_tool 支持在对话中动态生成子 agent,完成并行
任务。结合它的 trajectory 导出能力(完整记录每轮工具调用路径),
一个可投入生产的模式是:用 Hermes 批量生成优质 agent 轨迹数据,
再用这些数据微调专用模型。团队在苦于缺乏高质量工具调用训练数据时,
Hermes 可以成为数据生产管道的前端。
另一个方向是 ACP 标准兼容。Hermes 内置了 acp_adapter,意味着
它可以直接接入异构 agent 网络,与其他 ACP 兼容的代理交互。多 agent
协作不再需要自定义协议桥接。借助 ACP registry,Hermes 还可将自身
能力发布为可被其他 agent 发现和调用的服务端点,形成真正去中心化的
agent 生态。
夜雨聆风