news 2026/5/1 4:02:22

《把 Hermes Agent 养成你的专属帕鲁:从捕捉到满级实战指南》(二)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
《把 Hermes Agent 养成你的专属帕鲁:从捕捉到满级实战指南》(二)

目录

​编辑

1. 自我学习机制:Hermes 是怎么"长脑子"的

1.1 闭合学习回路:执行 → 评估 → 提炼 → 进化

1.2 Skill 系统:经验的结构化沉淀

Skill 的存储结构

Skill 的自动创建

Skill 的迭代更新

1.3 记忆系统:四层梯度架构

第一层:工作记忆(Working Memory)

第二层:历史记忆(Episodic Memory)

第三层:技能记忆(Skill Memory)

第四层:外部记忆提供者

1.4 渐进式披露:Skill 的按需加载机制

1.5 异步复盘:Background Review

实现机制

触发条件

1.6 为什么这套机制有效?


1. 自我学习机制:Hermes 是怎么"长脑子"的

大多数 AI Agent 的痛点不是"不会",而是"学了就忘"。你教它一次工作流程,下次重启会话,一切归零。Hermes 的自我学习系统要解决的就是这个问题——让经验成为资产,而不是消耗品

这套系统的核心代码分布在tools/skills_tool.pyagent/memory_manager.pyhermes_state.pytrajectory_compressor.py中。下面从机制到实现,逐层拆解。


1.1 闭合学习回路:执行 → 评估 → 提炼 → 进化

Hermes 的自我学习不是某个单一功能,而是一个持续运转的闭环

┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ 执行 │ → │ 评估 │ → │ 提炼 │ → │ 进化 │ │(Run Task)│ │(Review) │ │(Extract)│ │(Update) │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ ↑ │ └──────────────────────────────────────────┘

执行:Agent 接到任务,调用工具链完成操作(终端、文件、浏览器等)。

评估:任务完成后,系统回溯整个执行轨迹,判断:

  • 哪些步骤是有效的?
  • 哪些路径走错了、后来被纠正了?
  • 最终结果是否符合预期?

提炼:如果轨迹有价值,系统会将其抽象为一个Skill——不是原始的操作日志,而是可复用的工作流模板

进化:已有的 Skill 不会直接被覆盖。如果发现旧 Skill 有不准确的地方,系统会生成增量补丁,保留主干、修正细节。

这个闭环的关键在于评估节点。很多 Agent 框架只做到了"记录历史",但没有"判断价值"。Hermes 在trajectory_compressor.py中实现了轨迹压缩和评估逻辑,能够区分"值得学习的经验"和"无意义的试错"。


1.2 Skill 系统:经验的结构化沉淀

Skill 是 Hermes 自我学习的载体。它不是一段聊天记录,而是一个标准化的、可执行的流程定义。

Skill 的存储结构

Hermes 的 Skill 遵循agentskills.io标准格式,以 Markdown 文件形式存储在skills/目录:

# skills/software-development/code-review/SKILL.md name: code-review description: 代码审查助手 trigger: "帮我 review 这段代码" tools: - terminal - file prompt: | 你是资深代码审查专家。请检查: 1. 代码规范 2. 潜在 bug 3. 性能问题 4. 改进建议

skills/目录下的内置技能覆盖了多个领域:

  • software-development/— 开发工作流(TDD、调试、规划)
  • creative/— 创意工具
  • devops/— 自动化部署
  • research/— 研究辅助
  • productivity/— 生产力工具

Skill 的自动创建

当一次任务的复杂度超过一定阈值(比如工具调用超过 5 次),系统会自动触发提炼流程:

  1. 轨迹收集hermes_state.py记录完整的会话历史,包括工具调用序列和结果
  2. 关键路径提取trajectory_compressor.py压缩轨迹,保留决策点和有效路径
  3. 模板生成:将提取出的模式写入skills/目录,形成新的 Skill 文件
  4. 注册生效tools/skills_tool.py自动扫描skills/目录,新 Skill 立即可用

Skill 的迭代更新

Skill 不是写死了就不能改的。随着使用积累,系统会:

  • 打补丁:发现旧 Skill 某一步不适用于新场景,生成增量修正
  • 版本管理:所有 Skill 都是纯文本 Markdown,天然支持 Git 版本控制
  • 渐进加载:不会一次性把所有 Skill 塞进上下文(后面会讲)

1.3 记忆系统:四层梯度架构

如果说 Skill 是"学会了什么",记忆就是"记住了什么"。Hermes 的记忆系统是有梯度的——不同频率、不同用途的信息,放在不同的层级。

代码层面,这套系统由agent/memory_manager.pyhermes_state.py协同实现。

第一层:工作记忆(Working Memory)

位置:当前 LLM 上下文窗口内
代码agent/prompt_builder.py中的上下文组装逻辑

这是 Agent 正在处理的信息。用户当前的消息、最近的对话历史、正在执行的工具结果,都直接放在这里。特点是高频访问、实时可见,但容量受模型上下文限制。

第二层:历史记忆(Episodic Memory)

位置:SQLite + FTS5(hermes_state.py
机制:自动压缩 + 按需检索

当对话变长,工作记忆装不下时,agent/context_compressor.py介入:

  • 保留最近 N 轮完整对话(默认保护 20 轮)
  • 将早期对话压缩为结构化摘要
  • 摘要存入 SQLite,启用 FTS5 全文检索

当用户提到"上周讨论过的方案"时,系统不是把整段历史塞回上下文,而是:

  1. 通过 FTS5 全文检索定位相关会话
  2. 用 LLM 做摘要精炼
  3. 只把摘要注入当前上下文

这样 Token 消耗大幅降低,信息密度反而提高。

第三层:技能记忆(Skill Memory)

位置skills/目录
代码tools/skills_tool.py

这是程序性记忆——记录的是"怎么做",而不是"发生了什么"。

Skill 一旦被创建,就会被纳入工具注册表(tools/registry.py)。下次遇到类似任务,Agent 不会重新摸索,而是直接调用对应的 Skill,就像调用一个函数。

第四层:外部记忆提供者

位置:插件系统(plugins/memory/
扩展:Honcho、Mem0 等第三方服务

对于需要深度用户建模的场景(长期追踪行为模式、偏好演化),Hermes 提供了扩展接口。比如plugins/memory/hindsight/支持本地嵌入式的知识图谱记忆,带实体解析和多策略检索。


1.4 渐进式披露:Skill 的按需加载机制

Skill 越攒越多,如果每次都全量加载,上下文会爆炸。Hermes 的解法是渐进式披露

默认加载:Skill 摘要(名称 + 触发条件 + 一句话描述) ↓ 匹配到相关场景 ↓ 按需加载:完整 Skill 内容(详细步骤、提示词、工具链)

代码层面,tools/skills_tool.py在注册 Skill 时会维护两级索引:

  • 元数据层:所有 Skill 的摘要,常驻上下文(体积小)
  • 内容层:完整 Skill 定义,仅在触发时注入

这是一个很实用的工程细节。在生产环境里跑过 Agent 的人会懂:上下文不是免费的,每多一个字都在烧钱。渐进式披露让 Skill 数量可以持续增长,而不受上下文窗口的限制。


1.5 异步复盘:Background Review

自我学习有一个工程难题:学习过程不能打断用户

如果 Agent 每次对话完都停下来"反思总结"几分钟,体验会非常差。Hermes 的解决方案是Background Review——一个独立的异步进程。

实现机制

run_agent.py中的 Agent Loop 在处理完用户请求后,会fork出一个后台进程:

  • 主进程:继续响应用户,零延迟
  • 后台进程:静默分析刚才的对话轨迹,判断是否需要提炼新 Skill 或更新旧 Skill

这个设计在代码层面体现为进程隔离:后台复盘与主对话流完全解耦,即使用户在复盘过程中发送了新消息,也不会产生竞争条件。

触发条件

后台复盘不是每次对话都跑。触发条件包括:

  • 工具调用次数达到一定阈值(表明任务有一定复杂度)
  • 对话中出现了新的成功路径(与已有 Skill 不同的解决方式)
  • 用户显式标记了某个会话为"值得学习"

1.6 为什么这套机制有效?

对比大多数 Agent 框架的"无状态"设计,Hermes 的自我学习解决了三个根本问题:

问题传统 AgentHermes 的解法
学了就忘每次会话从零开始Skill 持久化 + 记忆分层存储
一学定终身早期错误经验永远保留增量补丁更新,持续迭代
上下文爆炸历史全量加载渐进式披露 + 智能压缩

这套系统的本质,是把 Agent 从一个** Stateless Function**(无状态函数)变成了一个Stateful Agent(有状态智能体)。它不只是在响应你,而是在与你共同积累知识资产。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 8:03:20

数据库系统工程师-事务核心原理与 ACID 特性详解

一、引言1.1 事务的核心定义事务是数据库系统中由一系列读写操作组成的不可分割的逻辑工作单元,核心执行原则是 "要么全部执行成功,要么全部不执行",是数据库保障数据一致性的基础机制。1.2 软考考点定位事务相关知识点属于软考数据…

作者头像 李华
网站建设 2026/4/28 6:10:28

如何快速掌握PCL启动器:面向Minecraft新手的完整教程

如何快速掌握PCL启动器:面向Minecraft新手的完整教程 【免费下载链接】PCL Minecraft 启动器 Plain Craft Launcher(PCL)。 项目地址: https://gitcode.com/gh_mirrors/pc/PCL Plain Craft Launcher(简称PCL)是…

作者头像 李华