初识 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(长期记忆)

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

支持与价值:

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

③ Skills(技能系统)

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

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

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

技能来源:

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

④ Tool Calling(工具系统)

类别 示例
Web web_search
文件 read_file
Shell terminal
浏览器 browser
自动化 process
Agent subagent
Memory memory
通信 message

工具组合 → 完整闭环:

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

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

⑤ Multi-Agent(多 Agent 协作)

架构:

复制代码
Master Agent
│
├── Research Agent
├── Coding Agent
├── Review Agent
└── Deploy Agent

特点:

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

常见运行模式

终端模式:

bash 复制代码
hermes          # CLI 交互
hermes --tui    # 图形终端

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

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


安装与启动

安装:

bash 复制代码
# Linux / macOS
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

# Windows
iex (irm https://hermes-agent.nousresearch.com/install.ps1)

初始化 & 启动:

bash 复制代码
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

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

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


为什么值得关注

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

能力沉淀演化路径:

复制代码
Prompt → Workflow → Agent → Learning Agent

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


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

安装与路径配置

bash 复制代码
# 安装
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
# 或交给 OpenCode 执行

# 创建副本(profile)
hermes profile create my-profile
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc

配置模型信息

bash 复制代码
my-profile setup

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

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

配置内存:

text 复制代码
$ 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=服务实体标签)
   ↓
返回用户答案

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


参考:

Q & A

相关推荐
XUHUOJUN18 小时前
Azure Local GPU 部署与企业应用场景指南(下篇)
microsoft·架构·nvidia·azure local
星释20 小时前
鸿蒙智能体开发实战:26.Skill 与插件协同开发
microsoft·华为·ai·harmonyos·鸿蒙·智能体
XUHUOJUN1 天前
Azure Local GPU 部署与企业应用场景指南(上篇 )
windows·microsoft·架构·nvidia·azure local
L歪歪君1 天前
开源大模型本地部署硬件选型深度指南
microsoft
步步为营DotNet1 天前
借助 Microsoft.Extensions.AI 与 ASP.NET Core 10 实现智能 Web 应用故障预测
人工智能·microsoft·asp.net
YHHLAI2 天前
Agent 智能体开发实战 · 第四课:完整工具集 —— 打造 AI 编程 Agent 的工具箱
人工智能·windows·microsoft
Tom·Ge2 天前
【Spring Boot 4】Spring Boot 4.0 AI Agent实战:Skills Agent + MCP协议集成
人工智能·spring boot·microsoft
time展天12 天前
.NET 10 使用 Microsoft.AspNetCore.OpenApi 实现 API 版本管理
microsoft·.net
GlobalInfo2 天前
行业报告解读:可穿戴电子织物市场扩张背后,有哪些新机遇?
人工智能·物联网·microsoft