初识 Hermes 及工作中的简单应用

📅 2026/7/9 11:29:30 👁️ 阅读次数 📝 编程学习
初识 Hermes 及工作中的简单应用

初识 Hermes 及工作中的简单应用

Hermes Agent — “The self-improving AI agent.”

运行越久 → 学习越多 → 能力越强


什么是 Hermes Agent

Hermes Agent 是由Nous Research推出的开源 AI Agent 框架 —— 不是聊天机器人,也不是 IDE Copilot,而是:

能够长期运行、持续学习、可部署到任意环境中的自主智能体。


传统 AI vs Hermes 模式

❌ 传统 AI 产品

用户输入 → Prompt → LLM → 结果

单向、无记忆、无成长。

✅ Hermes 模式

用户输入 → 构建上下文 → LLM 决策 → 调用工具 → 获得结果 → 更新记忆 → 沉淀技能 → 输出

Hermes 更接近:AI 员工、AI 运维助手、AI 研发代理、自动化执行系统 —— 而非简单的聊天工具。


核心特性

① 自学习(Learning Loop)

这是 Hermes 最大特色 ——运行越久,学习越多,能力越强

能力来源:

  • 自动记录经验
  • 创建可复用技能(Skill)
  • 使用中持续优化
  • 跨会话记忆
  • 用户建模

闭环流程:

执行 → 记录 → 提炼 → 形成技能 → 再次使用 → 能力增强

正向反馈循环 —— 用越久越聪明。

② Memory(长期记忆)

普通 ChatHermes
上下文结束 → 遗忘会话结束 → 持久保存 → 下次继续

支持与价值:

  • 用户偏好 / 历史任务 / 工作上下文 / 长期知识
  • 减少重复 Prompt
  • 个性化交互
  • 支撑长周期任务(数天~数周)

③ Skills(技能系统)

Skill =Agent 的程序性记忆,将反复操作沉淀为可复用资产。

生成周报 → 收集数据 → 分析变化 → 输出 Markdown

未来:调用技能 → 一句话自动完成

技能来源:

  • 📁本地定义:项目级或用户级SKILL.md
  • 🌐社区共享:复用他人沉淀的技能
  • 🤖自动生成:从反复操作中自动提炼

④ Tool Calling(工具系统)

类别示例
Webweb_search
文件read_file
Shellterminal
浏览器browser
自动化process
Agentsubagent
Memorymemory
通信message

工具组合 → 完整闭环:

搜索 → 分析 → 写代码 → 运行 → 修复 → 提交

Hermes 可自主组合工具,从搜索到提交形成完整工作闭环。

⑤ Multi-Agent(多 Agent 协作)

架构:

Master Agent │ ├── Research Agent ├── Coding Agent ├── Review Agent └── Deploy Agent

特点:

  • 并行执行:多个 Agent 同时工作,互不阻塞
  • 🔒隔离上下文:每个 Agent 独立上下文,互不干扰
  • 📈提升吞吐:复杂任务拆解为并行子任务

常见运行模式

终端模式:

hermes# CLI 交互hermes--tui# 图形终端

消息平台接入:Telegram · Discord · Slack · Teams · WhatsApp · …

消息平台 → Hermes Gateway → 工具执行 —— 在常用聊天工具中直接使用 AI Agent。


安装与启动

安装:

# Linux / macOScurl-fsSLhttps://hermes-agent.nousresearch.com/install.sh|bash# Windowsiex(irm https://hermes-agent.nousresearch.com/install.ps1)

初始化 & 启动:

hermes setup--portal# 初始化hermes# 启动

也支持通过 OpenCode 安装,与 Claude Code 协同工作。


常用 Slash Commands

会话管理

命令功能
/new新建会话
/clear清空上下文
/retry重试上次操作
/undo撤销操作
/title命名会话
/resume恢复历史会话
/sessions查看历史会话

Agent 控制

命令功能
/agents查看后台任务
/background后台执行任务
/queue查看任务队列
/goal设定长期目标
/stop停止当前任务

配置命令

命令功能
/config查看/修改配置
/model切换模型
/personality切换人格
/reasoning设置推理等级
/voice语音模式
/yolo关闭确认提示

上下文优化

命令功能
/compress压缩上下文
/snapshot创建上下文快照
/rollback回滚到快照
/steer插入控制指令

/learn —— 把生成技能的控制权交给用户

Hermes 1.17 新增

通过明确的学习指令,用户可以决定从哪里学习、学习什么、沉淀成什么技能。

/learn <要学习的内容>

不带参数时,默认从当前对话流程中学习。

五种使用方式:

方式示例
从目录/代码库学习/learn 从 ~/projects/my-api 学习这个项目的代码风格和架构
从 URL 学习/learn 学习 https://example.com/api-docs 的 API 设计模式
从当前工作流学习/learn 把刚才修复数据库连接超时的步骤保存为技能
从粘贴的笔记学习/learn 从上面的笔记创建一个部署检查清单技能
从对话历史学习/learn 把这次对话中解决 CI 构建失败的方法保存下来

Hermes vs 普通 AI Agent

能力普通 AgentHermes
Tool Use
长期记忆
技能沉淀
多 Agent部分
自学习
消息平台部分
MCP部分

核心差异:成长。Memory + Skills + Self-Learning = 越用越强。


为什么值得关注

真正的变化:不只是"让模型调用工具",而是让 Agent 拥有成长能力

能力沉淀演化路径:

Prompt → Workflow → Agent → Learning Agent

未来不是写 Prompt,而是训练自己的 Agent。


实战:基于 Hermes 构建业务知识助手

安装与路径配置

# 安装curl-fsSLhttps://hermes-agent.nousresearch.com/install.sh|bash# 或交给 OpenCode 执行# 创建副本(profile)hermes profile create my-profileecho'export PATH="$HOME/.local/bin:$PATH"'>>~/.bashrc

配置模型信息

my-profile setup

(配置过程中会要求填写模型端点地址、模型名称、鉴权 Token 等信息,请按你的实际环境填写,此处不展示具体配置值。)

配置内存(Memory)& 项目初始化

配置内存:

$ my-profile memory setup Configuring holographic: SQLite database path [~/.hermes/profiles/my-profile/memory_store.db]: Default trust score for new facts [0.5]: HRR vector dimensions [1024]: Memory provider: holographic Activation saved to config.yaml Provider config saved Start a new session to activate.

项目初始化:

  • Git 拉取项目
  • 切换至固定分支
  • claude init初始化项目
  • 将触发关键字等信息填写到project.md

创建技能 & 构建知识库

自建技能:

技能说明
🎫order-ticket-parser解析工单数据并存储到外挂内存
📊my-order统计工单工作台处理完成的工单,生成周报
📦my-add-module自动添加业务模块 Git 仓库
📚my-knowledge统一的知识查询框架,三层查询策略

构建知识库的三种方式:

  1. 通过auto.py生成的文件沉淀知识库
  2. 通过order关键字将 QA 沉淀知识库
  3. 通过代码查询知识沉淀至知识库

技能一:order-ticket-parser —— 工单数据解析

目标:解析工单数据并存储到外挂记忆,构建可复用的工单知识库。

解析流程

用户消息以 order 开头 ↓ 解析工单数据 ↓ 提取工单号(格式: OPEN...) ↓ <格式规范?> ├─ 规范 ─→ 提取问题描述(OPEN 开头的行) │ ↓ │ 提取解决方案(以 # 开头的行) │ ↓ │ 配对问答 → 形成工单记录 │ ↓ │ 调用 fact_store(action=add, category=project) │ ↓ │ 设置标签(tags=工单) │ └─ 不规范 ─→ 跳过该工单,继续下一个 ↓ <还有更多工单?> ├─ 是 ─→ 提取下一个工单号 └─ 否 ─→ 反馈处理结果,统计存储数量 → 结束

技能二:my-order —— 工单统计与周报生成

目标:统计本周处理完成的工单,自动生成周报 Markdown。

工单统计与周报生成流程

用户请求:"统计我本周处理完成的工单数" ↓ <API 可用?> ├─ 推荐: API 方式 ──────────────┐ │ 获取 OAuth Token (password grant) │ ↓ │ 获取用户信息 /iam/.../users/self │ ↓ │ 拉取 Workbench 数据(按 solutionUserId 过滤) │ ↓ │ 并行拉取:解决方案文档 | 交流记录 │ │ └─ Fallback: 浏览器方式 ─────────┤ 登录开放平台 │ ↓ │ 切换到"我处理的" │ ↓ │ 切换到"其他"tab │ ↓ │ 逐页提取工单编号 │ ↓ │ 逐个打开详情页 ────────────┘ ↓ 生成周报 Markdown ↓ ┌──────────────┬──────────────┬──────────────┐ │ 📝 问题描述 │ ✅ 解决方案 │ 💬 处理过程 │ │ AI 总结 │ 原文提取 │ 全参与者总结 │ └──────────────┴──────────────┴──────────────┘ ↓ 输出: 周报-日期范围.md (总数 + 明细表格 + 状态分类)

技能三:my-add-module —— 添加业务模块

目标:根据用户提供的 Git URL,自动添加业务模块仓库并完成配置。

添加模块流程

用户提供 Git URL ↓ 收集必要信息(服务名 / 关键词 / 分支) ↓ <信息完整?> ├─ 缺服务名 ─→ 自动从 URL 提取 ├─ 缺关键词 ─→ 询问用户 ├─ 缺分支 ─→ 询问用户 └─ 已完整 ─→ 提取仓库名称 ↓ 编辑 project.md 添加服务配置 ↓ mkdir -p 创建目录 ↓ git clone 克隆仓库 ↓ git checkout 切换分支 ↓ <验证结果> ├─ 成功 ─→ 完成,返回摘要 ├─ 分支不存在 ─→ 列出可用分支,用户选择后重试 └─ 克隆失败 ─→ 报告错误

技能四:my-knowledge —— 知识查询框架

目标:统一的知识查询入口,采用三层查询策略,命中后自动沉淀。

三层查询策略(总览)

用户查询 ↓ 读取 project.md,关键词匹配 ↓ 识别目标服务 ↓ <三层查询策略> │ ├─ 第 1 层:fact_store probe(精准查询) │ <命中?> ─ 是 → 整理回答 │ └ 否 → 进入第 2 层 │ ├─ 第 2 层:fact_store search(关键词搜索) │ <命中?> ─ 是 → 整理回答 │ └ 否 → 进入第 3 层 │ └─ 第 3 层:代码库查询 获取答案 → 自动存储到 fact_store ↓ 返回用户答案 (通用查询 → "我也不知道")

代码库查询详情(第 3 层)

触发代码库查询 ↓ 强制使用 Claude Code ↓ claude -p 执行查询 (--allowed-tools Read --max-turns 15) ↓ <查询成功?> ├─ 成功 ─→ 获取答案 └─ 失败 ─→ 回退:传统文件搜索(search_files / read_file)→ 获取答案 ↓ 自动存储到 fact_store(action=add / tags=服务实体标签) ↓ 返回用户答案

前提条件:已确认特定服务 → 路径:/<工作目录>/<服务名>/<仓库名>


参考:

  • 官方文档:https://hermes-agent.nousresearch.com

Q & A