在上一篇文章中,我们全面拆解了 Hermes Agent 的核心竞争力。今天,我们专攻其灵魂——Closed Learning Loop(闭环学习机制) 。这不是简单的“记忆功能”,而是一个真正自主、闭合、正反馈的自我进化引擎,让 Hermes 从“一次性工具”变成“越用越聪明”的数字同事。
本文将由浅入深:先给你高层次直观理解,再拆解四大核心组件,最后深入技术实现细节(基于官方文档 v0.12+、Agent Loop internals 和社区深度分析)。读完后,你不仅知道它“是什么”,更明白它“如何工作”以及如何主动喂养它。
一、浅层理解:Closed Learning Loop 到底是什么?
大多数 AI Agent 的致命缺陷是每次重启都是新手:上下文丢弃、经验不积累、技能靠人工编写。Hermes 的 Closed Learning Loop 彻底反转了这一点。
官方定义(GitHub & Docs):
“A closed learning loop — Agent-curated memory with periodic nudges. Autonomous skill creation after complex tasks. Skills self-improve during use. FTS5 session search with LLM summarization for cross-session recall. Honcho dialectic user modeling.”
简单说:它是一个持续运行在每一次任务下的闭合反馈循环。Agent 不是被动执行,而是:
- 做完事后自己总结
- 把成功路径变成可复用“技能”
- 主动把关键知识存进记忆
- 下次遇到类似问题时自动召回
- 不断优化自己和对你的理解
直观比喻:
想象一个实习生:第一次做复杂任务,你手把手教;Hermes 则会自己写“操作手册”(Skill)、记笔记(Memory),下次直接翻手册,还会根据实际效果修改手册。几个月后,它比你还熟你的项目。
核心循环(5 步简版) :
- 执行 → 完成任务(记录完整轨迹)
- 评估 → 任务结束时自动反思(后台触发)
- 提炼 → 自主创建/更新 Skill + Memory nudge
- 检索 → 下次任务时 FTS5 搜索 + LLM 总结历史
- 优化 → Skill 自改进 + Curator 周期性剪枝
这个闭环是完全自主的(无需你每次说“保存”),但你可以通过 Prompt 加速它。
二、中层理解:四大核心组件如何协同
Hermes 把学习拆成四个互相咬合的层级,形成闭合正反馈。
1. Agent-Curated Memory(代理自主管理的持久记忆)
-
两大文件:
- MEMORY.md:项目/环境事实、规则、教训(上限约 2200 字符 / 800 tokens)
- USER.md:你的偏好、风格、背景(上限约 1375 字符 / 500 tokens)
-
存储位置:
~/.hermes/memories/,每次会话开始以冻结快照注入 system prompt(中途修改不影响当前会话)。 -
自主管理:Agent 通过内置
memorytool(add/replace/remove)自己写、删、合并。容量接近上限时必须先 curation 才能新增。 -
周期性 Nudges:任务中或结束后,Agent 收到内部 Prompt:“最近学到什么值得永久记住?” → 主动持久化。
作用:提供“事实层”上下文,让 Skill 有依据。
2. Autonomous Skill Creation & Self-Improvement(自主技能创建与自改进)
-
触发条件:复杂任务(≥5 次 tool call)、出错恢复、用户纠正、非显而易见的工作流 → 后台自动提炼。
-
存储格式:
~/.hermes/skills/<category>/<skill-name>/SKILL.md(YAML frontmatter + Markdown 步骤 + agentskills.io 标准)。 -
Progressive Disclosure:系统 prompt 只加载 Skill 名称和摘要;真正需要时才展开全文(节省 token)。
-
自改进机制:
- 每次调用记录
bump_use()使用计数。 - 支持
patch(增量修改)而非全量重写。 - v0.12 Curator(2026.4.30 新增):每 7 天后台运行,评分、合并、剪枝、低效 Skill,自动重写更优版本。
- 每次调用记录
作用:把“流程”变成可复用资产,下次直接调用 /skill-name。
3. FTS5 Cross-Session Recall(跨会话全文检索 + LLM 总结)
- 存储:全部历史对话存入 SQLite(
~/.hermes/state.db),启用 FTS5 全文索引。 - 检索方式:需要时查询 → LLM(通常轻量模型)总结相关片段 → 注入上下文。
- 与闭环结合: episodic memory(发生了什么)与 procedural memory(怎么做)分离,避免混淆。
作用:让 Agent “记得过去所有对话”,但只注入必要部分。
4. Honcho Dialectic User Modeling(辩证用户建模)
- 可选插件(
hermes memory setup开启)。 - 跨 12 个身份层(偏好、决策风格、技术水平等)被动构建你的长期画像。
- 与其他层协同:让 Skill 和 Memory 更个性化。
四大组件如何闭合:
记忆(事实) → 提炼成 Skill(流程) → 下次检索 Skill + 历史 → 改进 Skill + 更新记忆 → 正反馈循环。
三、深层理解:技术实现与 Agent Loop 如何驱动闭环
Hermes 的学习不是“魔法”,而是精确嵌入 AIAgent 执行循环(run_agent.py ≈13,700 行核心代码)的机制。
Turn Lifecycle(每轮执行循环)
- 用户消息注入
- Prompt 组装(加载 MEMORY/USER 快照 + Skill 摘要 + prompt cache)
- 上下文检查 → 必要时预压缩
- LLM 调用(支持 reasoning 字段)
- Tool calls 执行(pre/post hooks)
- 结果注入 → 循环直到最终响应
- Post-Execution:保存会话、flush memory、触发背景学习
学习闭环精确触发点
- 任务结束检查:如果 tool call ≥5 或其他触发器 → 后台进程总结 trajectory → 生成/更新 SKILL.md。
- Periodic Nudges:在 turn 中或任务间,插入内部 Prompt 让 Agent 决策“什么值得持久化”。
- Compression 时:记忆先 flush 到磁盘,再总结(防止丢失)。
- Curator 后台(v0.12+):闲置时每 7 天运行,批量优化 Skill 库。
存储与效率设计
- Prompt Memory:严格字符上限 + 冻结快照 → 命中 provider prompt cache,token 成本几乎不变。
- Skills:纯 Markdown 文件,可 Git 版本控制;Progressive Disclosure + patch 更新 → 即使 200 个 Skill,上下文成本仍接近 40 个。
- Session Search:SQLite WAL 模式 + FTS5 + LLM summarization → 高效且精准。
- Token 控制:四层内存分离(always-on / on-demand / procedural / passive),避免爆炸。
技能文件示例(简化) :
---
name: deploy-staging
description: 一键部署到 staging 环境
version: 1.2.0
platforms: [linux, docker]
metadata:
hermes:
tags: [devops]
category: deployment
---
步骤:
1. git pull ...
...
四、实战:如何最大化发挥 Closed Learning Loop
- 喂养闭环:多给复杂、多步骤任务(这是 Skill 自动生成的燃料)。
- 主动 nudge:任务后说“回顾刚才,是否值得保存为 Skill?” 或 “把这个事实记到 MEMORY.md”。
- 监控优化:用
/insights查看 Skill 使用统计和记忆占用;定期 review 高频 Skill。 - 开启 Curator:确保 v0.12+ 并保持 Agent 闲置时运行后台任务。
- 结合 Honcho:开启用户建模,让闭环更懂你。
- Prompt 技巧:在 AGENTS.md 写入项目规范,加速 Skill 匹配。
五、局限性(诚实说明)
- 记忆容量硬上限(防止 token 爆炸,需要 Agent 主动 curation)。
- Skill 质量依赖 LLM 自评估(早期可能需人工微调)。
- Curator 是周期性而非实时。
- 依赖强模型做反思环节(弱模型执行 routine)。
六、结语:这就是“真正的自改进”
Hermes 的 Closed Learning Loop 把记忆 + 技能 + 检索 + 建模有机闭合,形成正反馈:用得越多 → 提炼越多 → 检索越准 → 改进越快。三个月后,你会拥有一个真正“共事多年”的 Agent,它知道你的项目坑、编码风格,甚至能主动提醒你过去的教训。
行动建议:
-
升级到最新版(
hermes update),开启 Curator。 -
今天跑一个 ≥5 step 的复杂任务,观察它是否自动创建 Skill。
-
阅读官方文档:
欢迎在评论区分享你的 Closed Learning Loop 经历——我们一起把这个自改进 Agent 玩到极致!
(本文基于官方文档、GitHub 及深度技术分析撰写)