一天一个开源项目(第75篇):Hermes Agent - Nous Research 开源的自我进化 AI Agent

0 阅读10分钟

引言

"The agent that grows with you."(会随你成长的 Agent)

这是「一天一个开源项目」系列的第 75 篇文章。今天介绍的项目是 Hermes AgentGitHub)。

当前几乎所有的 AI Agent 框架都共享一个根本缺陷:无状态。每次对话结束,Agent 对这次任务学到的一切——解决问题的方法、你的偏好、成功的策略——全部归零。下次遇到相似问题,又要从头开始。

Nous Research 用 Hermes Agent 给出了一个截然不同的答案:让 Agent 真正积累经验。通过闭环技能学习系统,Hermes 在每次完成任务后自动提炼可复用的"技能",存储到持久化记忆中;通过三层记忆架构,它记住你的偏好和习惯;通过辩证用户建模,它理解你和它之间关系的演变。

90k+ Stars,12k+ Forks,这是 AI Agent 领域目前最受关注的开源项目之一——不只是一个工具,而是一个会成长的伙伴。

你将学到什么

  • Hermes Agent 的核心理念:为什么「自我改进」是 AI Agent 的下一个临界点
  • 三层记忆架构:Session 上下文 + 持久化事实 + 程序性技能
  • 技能系统(Skills)的工作原理:从任务到可复用代码的闭环
  • 辩证用户建模:Honcho 的 12 个身份层次追踪
  • 6 种部署后端 + 多平台消息网关的架构设计

前置知识

  • 了解 AI Agent 的基本概念
  • Python 基础(可选,用于扩展开发)
  • 有使用 Claude Code / AutoGPT 等 AI 工具的经验

项目背景

项目简介

Hermes Agent 是 Nous Research 开发的自我改进型 AI Agent 框架。「Hermes」来自希腊神话中的信使之神,象征知识的传递与积累——这个命名暗示了项目的核心追求:让知识在 Agent 的使用过程中不断沉淀和传承。

项目解决的本质问题是 Agent 的「失忆症」

传统 Agent:
  任务 A → 解决 → 结束 → 遗忘
  任务 B → 解决 → 结束 → 遗忘
  任务 N → 解决 → 结束 → 遗忘
  (无法从经验中积累)

Hermes Agent:
  任务 A → 解决 → 提炼技能 → 存储
  任务 B → 召回相关技能 → 更快解决 → 优化技能
  任务 N → 技能库更丰富 → 解决更高效
  (真正的经验积累)

关于 Nous Research

  • 定位:AI 加速器公司(The AI Accelerator Company)
  • 使命:通过开源语言模型推动 AI 技术民主化
  • 研究重点:模型架构创新、数据合成技术、微调技术、推理能力增强
  • 旗舰模型:Hermes 4(高性能工具调用 LLM)
  • GitHub 仓库数:71 个
  • 生态合作:NVIDIA NeMo、PyTorch

Nous Research 是美国开源 AI 运动中最重要的组织之一,以「开放、研究驱动」著称。Hermes Agent 是他们将模型研究能力与工程实践结合的旗舰产品。

项目数据

  • GitHub Stars: 90,300+
  • 🍴 Forks: 12,400+
  • 📝 总提交: 4,306+
  • 🐛 Open Issues: 1,700+
  • 📦 最新版本: v0.9.0(2026 年 4 月)
  • 📄 License: MIT
  • 🤖 支持模型数: 200+

主要功能

核心差异:闭环学习系统

Hermes Agent 最根本的差异化在于技能生成的闭环

用户交互 → Agent 完成任务
              ↓
         任务后反思(Post-task Reflection"我刚才用了什么方法?这个方法可以复用吗?"
              ↓
         技能提炼与存储
         ~/.hermes/skills/task-type-xxx.skill
              ↓
         下次类似任务:召回技能 → 直接执行
              ↓
         技能使用后:优化 → 存储改进版本

这个循环让 Hermes Agent 随使用时间指数级地变得更有效率。

三层记忆架构

层级内容持久化典型示例
Session 上下文当前对话的短期记忆"你刚才让我修改的是 config.py"
持久化事实记忆跨会话的重要知识"用户偏好使用 TypeScript,不用 JavaScript"
程序性技能记忆可执行的任务解决方案"部署到 staging 的步骤:1. 构建镜像 2. 推送 3. ..."

三层记忆协同工作:当遇到新任务时,Hermes 首先检索程序性技能(第三层),结合持久化事实(第二层)中的偏好信息,在当前上下文(第一层)中执行。

跨会话记忆搜索

Hermes 使用 SQLite FTS5 全文索引配合 LLM 摘要实现历史对话搜索:

  • 对话历史自动索引,支持关键词全文检索
  • LLM 对搜索结果进行语义摘要,提取最相关信息
  • Agent 周期性自我「nudge」,主动将重要信息固化到长期记忆

辩证用户建模(Honcho)

基于 Honcho 框架,Hermes 通过 12 个身份层次持续建模用户:

  • 不只记住「你是谁」(姓名、职业、偏好)
  • 还追踪「你和这个 Agent 的关系如何演变」
  • 随着交互增多,Agent 的回应方式和任务执行策略会自适应调整

40+ 内置工具

工具类别包含工具
文件操作读写、搜索、树状显示
Shell 执行命令运行、脚本执行
网络HTTP 请求、页面抓取
代码Python REPL、代码分析
数据库SQLite 操作
系统进程管理、环境信息

支持通过 MCP 服务器扩展工具集,以及 Python RPC 自定义工具接入。

多平台消息网关

单一 Gateway 进程同时桥接 7 个平台,跨平台保持对话连续性

Telegram ──┐
Discord  ──┤
Slack    ──┤── Hermes Gateway ── Hermes Agent Core
WhatsApp ──┤
Signal   ──┤
CLI      ──┤
Email    ──┘

支持语音备忘录转录(手机发语音 → 自动转文字 → 执行任务)。

6 种部署后端

后端适用场景
Local本地笔记本日常使用
Docker容器化隔离部署
SSH远程服务器执行
Daytona无服务器弹性扩容
SingularityHPC 高性能计算 / 高安全隔离
ModalGPU 集群 / Serverless

同一工作流可以无需代码改动地在不同后端之间切换。

快速开始

# 一键安装(Linux/macOS/WSL2)
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

# 启动 CLI
hermes

# 配置 LLM 提供商(支持 200+ 模型)
hermes model

# 运行完整配置向导
hermes setup

# 启动多平台消息网关
hermes gateway

# 查看工具状态
hermes tools

开发者环境:

git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
uv venv venv --python 3.11 && source venv/bin/activate
uv pip install -e ".[all,dev]"
pytest tests/ -q

项目优势对比

对比维度Hermes AgentAutoGPTLangChain AgentsOpenAI Assistants
技能学习✅ 自动提炼并持久化
跨会话记忆✅ 三层架构有限插件依赖❌ 厂商限制
用户建模✅ 12 层辩证建模有限
多平台网关✅ 7 个平台
部署灵活性✅ 6 种后端❌ 仅云端
RL 训练集成✅ Atropos
开源协议MITMITMIT闭源

项目详细剖析

整体架构

┌────────────────────────────────────────────────┐
│  Gateway 层(7 个平台入口)                      │
│  Telegram / Discord / Slack / WhatsApp /        │
│  Signal / CLI / Email                           │
└───────────────────┬────────────────────────────┘
                    │
┌───────────────────▼────────────────────────────┐
│          Agent 编排核心(agent/)               │
│   工具选择 → 工具执行 → 响应生成                 │
│         ↑                  ↓                    │
│    技能召回            技能提炼                   │
└──────┬──────────────────────┬──────────────────┘
       │                      │
┌──────▼──────────┐ ┌─────────▼──────────────────┐
│  记忆系统        │ │  技能系统(skills/)         │
│  SQLite FTS5    │ │  ~/.hermes/skills/          │
│  持久化事实      │ │  agentskills.io 标准         │
│  Honcho 用户建模 │ │  跨 Agent 共享               │
└─────────────────┘ └────────────────────────────┘
       │
┌──────▼──────────────────────────────────────────┐
│  执行环境(environments/)                       │
│  Local / Docker / SSH / Daytona / Modal / ...   │
└─────────────────────────────────────────────────┘

技能系统深度解析

技能(Skill)是 Hermes Agent 最核心的技术实现,本质上是带元数据的可执行代码单元

# 技能文件示例:~/.hermes/skills/deploy-to-staging.skill
{
  "name": "deploy-to-staging",
  "description": "将当前项目部署到 staging 环境",
  "trigger_patterns": [
    "deploy to staging",
    "push to staging",
    "staging 部署"
  ],
  "parameters": {
    "project_path": {"type": "string", "required": True},
    "environment": {"type": "string", "default": "staging"}
  },
  "steps": [
    {"tool": "shell", "command": "docker build -t {project}:{tag} ."},
    {"tool": "shell", "command": "docker push registry/{project}:{tag}"},
    {"tool": "shell", "command": "kubectl rollout restart deployment/{project}"}
  ],
  "success_rate": 0.94,
  "usage_count": 47,
  "last_optimized": "2026-04-10"
}

技能的生命周期:

1. 生成(Creation)
   Agent 完成复杂任务后 → 分析执行步骤 → 抽象为可复用模式 → 保存为 .skill 文件

2. 召回(Retrieval)
   新任务输入 → 语义匹配触发词 → 召回最相关技能 → 注入执行上下文

3. 优化(Optimization)
   技能执行后 → 记录成功/失败 → 更新成功率 → 必要时重写步骤

4. 共享(Sharing)
   通过 agentskills.io 开放标准 → 社区共享技能 → 跨 Agent 复用

FTS5 记忆检索机制

Hermes 选择 SQLite + FTS5(Full-Text Search 5)而非向量数据库,这是一个有趣的设计选择:

-- 对话历史表(带 FTS5 索引)
CREATE VIRTUAL TABLE conversation_fts USING fts5(
  content,
  speaker,
  timestamp,
  session_id
);

-- 周期性记忆固化
CREATE TABLE long_term_memory (
  id INTEGER PRIMARY KEY,
  fact TEXT NOT NULL,
  confidence REAL,
  source_session TEXT,
  created_at TIMESTAMP,
  last_reinforced TIMESTAMP
);

为什么不用向量数据库?

  • SQLite 无需额外服务,零运维成本
  • FTS5 全文搜索对精确记忆(人名、项目名)更准确
  • LLM 摘要层弥补了语义搜索的不足
  • 本地部署场景下,轻量化更重要

RL 训练集成:Tinker-Atropos

Hermes Agent 内置了与 Atropos(Nous Research 的 RL 训练框架)的集成,这是它区别于所有其他 Agent 框架的独特之处:

  • Agent 的执行轨迹自动记录为 RL 训练数据
  • 可用于训练下一代工具调用专用模型(Hermes 4 的训练数据来源之一)
  • 形成了「应用层产品 → 训练数据 → 更好的模型 → 更好的应用层产品」的飞轮效应

从 OpenClaw 迁移

Hermes Agent 提供了从 OpenClaw 的无缝迁移通道,支持导入:

  • SOUL.md 角色设定文件
  • MEMORY.md 记忆条目
  • 自定义技能库
  • API 密钥配置

项目地址与资源

官方资源

Nous Research 相关项目

  • Atropos(1k ⭐):LLM 强化学习环境框架
  • Hermes Agent Self-Evolution(1.8k ⭐):基于 DSPy + GEPA 的 Agent 进化系统
  • Hermes 4:旗舰工具调用语言模型

总结与展望

核心要点回顾

  1. 闭环学习:技能的自动生成→召回→优化循环,是目前开源 Agent 框架中最完整的自我改进实现
  2. 三层记忆:Session 上下文 + 持久化事实 + 程序性技能,覆盖了 AI 记忆的完整谱系
  3. 辩证用户建模:Honcho 的 12 层身份追踪,让 Agent 真正理解「你是谁」以及「你们的关系如何演变」
  4. 多平台网关:7 个平台统一接入,跨平台对话连续性是独特竞争优势
  5. RL 飞轮:应用层轨迹数据 → 训练更好的模型 → 改善应用层,Nous Research 正在构建一个自我强化的研究飞轮

适用人群

  • 个人 AI 助理构建者:想要一个随时间变得越来越了解自己的专属 AI
  • AI 工程师:研究 Agent 自我改进机制的实践者
  • 独立开发者 / 一人公司:需要跨平台统一 AI 工作流的用户
  • AI 研究人员:研究持久记忆、技能学习、用户建模的学者(Nous Research 会开放训练数据)

值得思考的问题

Hermes Agent 代表了一个 AI Agent 演进方向的预判:从「工具」到「伙伴」。工具是无状态的,用完即弃;伙伴是有记忆的,会随你成长。当 AI Agent 开始拥有「职业生涯」概念——在与特定用户的长期合作中积累技能和默契——AI 与人的关系模型将发生根本性转变。


欢迎来我的个人主页找到更多有用的知识和有趣的产品