Hermes — AI Agent 运行时框架详细介绍

一、产品概述

Hermes 是 Nous Research 开源的可自部署个人 Agent 运行时框架。官方将其定位为 「self-improving autonomous agent」(可自我进化的自主智能体)

它不是一个开箱即用的编码软件,也不等同于 Claude Code 这类执行工具。更准确的描述是:一个长期运行的个人 Agent 后台——它能记住你的项目背景、编码习惯和过往经验,让 AI 不再每次从零开始。

产品形态速览

维度 说明
产品形态 可自部署的 Agent 运行时框架
所属层级 个人 Agent 运行时层(工具链第 1 层)
核心角色 给编码 Agent 补记忆、技能与自动化
是否可独立运行 否,需对接大模型(Claude/GPT 等)和执行工具
是否具备编码能力 不具备原生编码能力,底层编码依赖 Claude Code 等执行工具
开源性 开源(Nous Research)
通俗类比 程序员的私人助理——帮程序员记东西、攒经验、跑后台

与 Claude Code 的关系

Hermes = 运行时增强层(记忆管理 + 技能沉淀 + 后台自动化)
Claude Code = 干活执行者(写代码 + 跑命令 + 修报错)

二者是调度从属关系,不是竞品。
一个负责"记住和调度",一个负责"落地执行"。

二、安装与部署

2.1 环境要求

  • Node.js 18+
  • 可访问大模型 API(如 Anthropic API)
  • 本地 SQLite 支持(用于记忆存储)

2.2 部署步骤

# 第一步:拉取仓库
git clone https://github.com/nousresearch/hermes.git
cd hermes
npm install

# 第二步:配置 Hermes
cp config.example.yaml config.yaml

2.3 配置文件详解

修改 config.yaml 核心配置:

# 模型供应商配置
model_provider: anthropic
api_key: ${ANTHROPIC_API_KEY}

# 执行后端配置(指定底层谁来写代码)
executor_backend: claude-code

# 记忆系统配置
memory:
  core_memory_files:
    - MEMORY.md   # 项目长期约定
    - USER.md     # 个人编码偏好

2.4 初始化核心记忆文件

Hermes 最核心的设计是三层结构化记忆。部署后首先要初始化两个硬上限核心记忆文件:

MEMORY.md(项目长期约定):

# MEMORY.md
项目:nodejs-user-server
技术栈:Node.js + Express + Mongoose
编码规范:必须写入参校验、try/catch、接口注释、单元测试
已有路由:/api/login /api/register
项目约定:所有接口返回格式为 {code, msg, data}
数据库:MongoDB,User 集合字段见 /models/user.js

USER.md(个人编码偏好):

# USER.md
缩进风格:2 空格
错误返回:统一返回 {code, msg, data},拒绝松散裸返回
命名规范:文件名 kebab-case,变量名 camelCase
测试框架:Jest,测试文件放在 __tests__/ 目录
Git 提交规范:遵循 Angular Commit Convention

三、核心设计详解

3.1 三层结构化记忆体系(最核心设计)

这是 Hermes 与原生编码工具最本质的区别:

记忆层级 存储方式 运作机制 解决的问题
第一层:核心置顶记忆 MEMORY.md + USER.md(硬上限文件) 每次会话自动注入上下文,作为最高权重信息 项目约定和用户偏好不丢失
第二层:会话检索记忆 历史对话全量存入本地 SQLite,通过 FTS5 全文检索按需召回 需要时才检索,不影响当前上下文容量 上下文溢出问题
第三层:技能化长期记忆 从执行经验中自动抽象标准化技能,存入技能库 同类任务直接触发已有技能 重复引导的浪费

为什么记忆要有硬上限?

  • 置顶记忆要的是高权重、低噪声,不是越多越好
  • 如果什么都往里塞,过期信息和临时结论会稀释真正重要的项目约定
  • 没有上限的记忆系统,时间一长就会熵增,检索噪声变大
  • 有界记忆,本质上是用容量换稳定性

3.2 自进化学习闭环

Hermes 支持从每次执行结果中自动总结经验、优化技能:

执行任务 → 记录过程与结果 → 提炼模式 → 存入技能库 → 下次同类任务自动复用

运行越久、同类任务处理越多,执行速度和准确率越高——这就是"自进化"的核心含义。

3.3 后台常驻与多端接入

能力 说明
后台 Daemon 支持常驻运行,可配置定时任务、触发式任务
无人值守 定时巡检、自动部署、日志整理等自动化工作
多端接入 CLI、Telegram、Slack 等多端接入,不限于本地终端

四、实操 Demo

场景:在已有用户模块上新增分页查询接口

# 第一步:启动后台常驻 Hermes
node index.js daemon

# 第二步:新开终端,下发任务
hermes chat "给用户接口新增分页查询用户列表接口"

执行过程演示

  1. 自动加载核心记忆:Hermes 自动注入 MEMORY.md 和 USER.md,无需重复讲解项目技术栈、编码规范
  2. 调度底层执行:自动调用 Claude Code 完成编码 + 自测
  3. 沉淀会话记忆:执行完毕自动将本次设计思路、踩坑点存入 SQLite 检索记忆
  4. 技能化沉淀:多次迭代后自动提炼「分页接口开发技能」存入技能库,同类任务速度越来越快

五、适用场景

✅ 最适合的场景

场景 原因
个人长期项目 跨会话记住项目背景和编码习惯,不用反复解释
自动化运维脚本 后台 daemon 常驻,定时执行巡检、部署
私人工作助理 记住你的偏好,处理日常开发任务
多端触达任务 通过 Telegram/Slack 远程下发任务
需要技能积累的项目 同类任务反复执行,越用越快

⚠️ 不适合的场景

场景 原因
多人强交付项目 偏单用户设计,每个人各有一套记忆,容易口径对不上
强合规项目 没有团队级权限、审计和协作机制
需要统一标准的团队 没有强制工程纪律,没有单一事实源

六、与其他工具的关系

6.1 Hermes vs Claude Code

维度 Claude Code Hermes
层级 执行层 运行时增强层
能写代码吗 ✅ 是 ❌ 否(依赖 Claude Code)
有记忆吗 ❌ 无持久记忆 ✅ 三层记忆体系
能后台常驻吗 ❌ 会话即结束 ✅ Daemon 后台运行
状态 偏无状态 有状态,积累经验
通俗角色 干活的程序员 程序员的私人助理

关系总结:增强与被增强,不是竞品。 Claude Code 负责一次次把任务做完,Hermes 负责把这些任务里的经验留下来。

6.2 Hermes + Claude Code 组合

这是最基础的双层组合——Claude Code 干活,Hermes 攒经验,适合单人长期维护项目。

但需注意:

  • 记忆膨胀风险:建议每月清理一次核心记忆,只保留项目结构、长期约定和稳定经验
  • 不适合多人:6 个人各用各的 Hermes,短期都快,联调时才发现接口定义、异常码、测试标准全不统一

七、优势与局限总结

优势

优势 说明
记忆能力强 三层记忆体系,跨会话持久化上下文,告别反复解释
自进化 越用越懂你,同类任务速度越来越快
后台自动化 Daemon 常驻 + 定时任务,无人值守
本地化部署 隐私性好,数据不出本地
多端接入 CLI / Telegram / Slack 均可触达

局限

局限 说明
不写代码 本身不负责底层编码推理,必须对接大模型和执行工具
偏单用户 没有团队级权限、审计和多人协作机制
缺工程纪律 没有强制 TDD、评审等质量门禁
记忆需治理 长期使用需要主动清理,避免记忆膨胀和污染

一句话总结

Hermes 是运行时增强层。Claude Code 负责执行动作,Hermes 负责沉淀记忆和经验。它的核心价值不是"写代码更快",而是"下次不用从零开始"。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐