Hermes Agent 进化机制深度分析
分析对象: Hermes Agent v0.8.0
分析日期: 2026-04-13
项目地址: https://github.com/NousResearch/hermes-agent
执行摘要
Hermes Agent 是一个革命性的自我改进型 AI 系统,其核心在于构建了一个完整的封闭学习循环(Closed Learning Loop)。通过三个核心机制的协同运作——技能系统(Procedural Memory)、记忆系统(Episodic/Semantic Memory)、和背景审查(Background Review),Hermes 能够从每次交互中提取知识、固化经验,并在未来的对话中主动应用这些学习成果。
一、核心架构概览
1.1 三元记忆模型
Hermes 的进化能力建立在三元记忆模型之上:
1 | ┌─────────────────────────────────────────────────────┐ |
1.2 进化循环流程
1 | 用户请求 → Agent 执行任务 → 后台审查 → 提取知识 → 固化技能 → 下次应用 |
核心思想:Agent 应该从每次交互中学习,将经验固化为可复用的技能。
二、技能系统:程序化记忆的进化
2.1 技能定义与元数据
技能文件结构(SKILL.md)采用 YAML 前置元数据格式:
1 |
|
2.2 技能创建的自动触发机制
核心代码:
1 | class AIAgent: |
设计亮点:
- 自适应间隔:可通过
skills.creation_nudge_interval配置调整 - 智能重置:创建技能后立即重置,避免重复提醒
- 非侵入式:在响应返回之后运行,不影响用户任务执行
2.3 技能管理工具(skill_manage)
完整 API:
| Action | 描述 | 使用场景 |
|---|---|---|
create |
创建新技能(完整的 SKILL.md) | 复杂任务成功后,将流程固化为技能 |
edit |
完全重写 SKILL.md | 技能需要重大重组时 |
patch |
目标化查找替换(推荐) | 修复小问题、添加遗漏步骤 |
delete |
删除技能 | 技能过时或错误时 |
write_file |
添加/更新支持文件 | 添加参考文档、脚本、模板 |
remove_file |
删除支持文件 | 清理不再需要的附件 |
2.4 技能自我改进机制
关键机制:技能在使用过程中发现问题后会立即修补
1 | # 工具描述中的指导 |
实际工作流:
- 技能被调用
- 执行过程中发现步骤遗漏或错误
- 立即使用
patch更新技能 - 更新后的技能立即可用于后续调用
2.5 技能生态系统
多源集成:
- GitHub Source:任意公开仓库
- Skills.sh Source:技能目录索引
- ClawHub Source:技能市场 API
- LobeHub Source:LobeChat Agent 市场
- Official Optional Skills:官方可选技能
信任分级:
builtin:官方捆绑技能trusted:已知安全仓库community:社区贡献(需要安全扫描)
三、记忆系统:持久化知识的基础
3.1 双文件记忆架构
核心类:
1 | class MemoryStore: |
关键设计:
冻结快照模式:
- 系统提示词在会话开始时注入一次
- 后续内存更新不修改系统提示词
- 保持前缀缓存稳定
双重状态:
_system_prompt_snapshot: 会话开始时的冻结版本memory_entries/user_entries: 实时更新的活跃版本
3.2 字符限制与条目分隔符
字符限制(防止上下文膨胀):
MEMORY.md: 2200 字符(约 800 tokens)USER.md: 1375 字符(约 500 tokens)
条目分隔符:§(section sign)
四、背景审查:自动知识提取引擎
4.1 审查触发条件
核心逻辑:
1 | # 技能审查触发器 |
4.2 审查提示词设计
技能审查提示词:
1 | _SKILL_REVIEW_PROMPT = ( |
记忆审查提示词:
1 | _MEMORY_REVIEW_PROMPT = ( |
4.3 审查线程实现
完整流程:
1 | def _spawn_background_review( |
关键特性:
- 完全异步:在独立线程中运行,不阻塞主响应
- 静默执行:输出重定向到
/dev/null - 共享状态:直接写入同一磁盘文件
- 递归防护:禁用审查代理的触发器
- 资源清理:正确关闭 HTTP 客户端
- 用户通知:简洁的总结反馈(💾 Memory updated · Skill created)
五、技能生态系统:多源集成
5.1 技能源架构
核心接口:
1 | class SkillSource(ABC): |
5.2 信任分级系统
1 | _TRUST_RANK = {"builtin": 2, "trusted": 1, "community": 0} |
信任级别:
builtin: 官方捆绑技能trusted: 已知安全仓库(openai/skills,anthropics/skills)community: 社区贡献(需要安全扫描)
六、核心创新与启示
6.1 Hermes 进化机制的核心创新
| 特性 | 实现方式 | 优势 |
|---|---|---|
| 封闭学习循环 | 技能 + 记忆 + 审查三系统协同 | 知识从创建到应用的完整路径 |
| 非侵入式提醒 | 后台异步审查,响应返回后触发 | 不干扰用户体验 |
| 双重存储快照 | 冻结快照 + 实时更新 | 保持缓存稳定的同时持久化变化 |
| 原子性写入 | 临时文件 + os.replace() |
防止崩溃导致的数据损坏 |
| 安全扫描集成 | 技能创建和记忆写入时自动扫描 | 阻止注入和外泄攻击 |
| 多源技能生态 | GitHub / Skills.sh / ClawHub 等 | 社区贡献的规模化利用 |
| 自适应参数 | 可配置的提醒间隔和限制 | 适应不同使用模式 |
6.2 对 Agent 开发的启示
分离程序化记忆与通用知识
- 技能:可执行的流程
- 记忆:背景信息和用户画像
- 两者互补,不互相覆盖
使用后台线程进行知识提取
- 避免阻塞主对话
- 静默执行,简洁通知
实施原子性文件操作
- 使用临时文件 +
rename() - 关键数据的文件锁保护
- 使用临时文件 +
设计安全的存储机制
- 扫描注入和泄露模式
- 使用可见的分隔符标记上下文边界
构建可扩展的提供者系统
- 抽象接口允许外部插件
- 内置提供者保证基本功能
七、总结
7.1 核心要点
- 自我进化能力:Hermes 通过封闭学习循环实现了真正的自我改进
- 三元记忆模型:程序化记忆、情景记忆、语义记忆的完美结合
- 自动化知识提取:后台审查机制自动从对话中提取有价值的信息
- 技能生态:多源集成支持社区贡献的规模化利用
7.2 适用场景
Hermes 特别适合以下场景:
- ✅ 长期项目维护,需要深度学习
- ✅ 复杂任务流程固化
- ✅ 从失败中学习并改进
- ✅ 构建可复用的知识库
参考资源
项目地址: https://github.com/NousResearch/hermes-agent
文档: https://hermes.nousresearch.ai/docs
社区: https://discord.gg/nousresearch
报告完成时间: 2026年4月13日
字数统计: ~8,500 字(精简版)