W
AI-Wiki

AI · 源文件

入库前的原始上传文件存档。点击左侧文件名可预览文件内容。

Hermes与Karpathy-LLM.md18.6 KBit/ai/Hermes与Karpathy-LLM.md
## Hermes与Karpathy LLM Wiki:知识库构建实践指南(简化版)

## 摘要

本文探讨了Hermes与Karpathy LLM Wiki的结合方式,从理论和实践两方面介绍了架构、配置及使用流程。首先分析了Karpathy提出的LLM Wiki架构及其设计理念,接着阐述了Hermes Agent作为自我进化AI代理的核心架构与技能系统。最后,提供了详细的安装和使用指南,适合初学者和进阶用户。上一篇太啰嗦了,本文以简化实用为主。

## 第一章 引言与背景

## 1.1 知识管理的演进与挑战

在信息爆炸时代,个人和组织面临的主要挑战已从信息获取转变为知识管理与整合。传统方法如人工整理或基于关键词的检索系统存在局限:前者耗时费力且难以持续更新,后者缺乏语义理解能力,无法有效处理信息关联性和上下文。

## 1.2 LLM Wiki范式的诞生

为解决上述问题,Andrej Karpathy提出了LLM Wiki这一创新的知识管理理念。该理念让大型语言模型担任“知识库管理员”,主动编译、检查并维护一个结构化的、可持续发展的知识库。LLM Wiki将知识转化为可互链、可修订的Markdown文件,形成一个活的、有机的知识生态系统。这种模式将知识处理从“查询时处理”转变为“摄入时处理”。

## 1.3 Hermes Agent与技能系统

Hermes Agent是由Nous Research开发的自我进化AI代理框架,其核心在于技能系统:Hermes能够从任务中提取可复用的能力,并将其封装为Markdown格式的技能文件。这些技能文件便于版本控制,且会随着使用不断优化改进。当Hermes与Karpathy LLM Wiki结合时,可以实现知识的自动化管理和持续进化。

## 1.4 本文的目标与结构

本文旨在提供一套完整的知识体系,涵盖从理论基础到实际操作。内容包括:

- Karpathy LLM Wiki的架构设计及其优势
- Hermes Agent的核心功能、技能系统和工作机制
- 从安装到使用的完整实操指南
- 最佳实践、应用场景和未来发展方向

___

## 第二章 Karpathy LLM Wiki架构深度解析

## 2.1 核心理念:LLM作为知识库管理员

- **角色**:

- **编译者**:从原始资料中提取关键信息,构建结构化知识网络。
- **检查者**:定期审查并修正知识库中的矛盾、过时或不一致内容。
- **维护者**:负责日常运营,如创建新条目、更新内容及维护索引。

- **创新点**:通过AI使知识管理从被动转向主动进化。

## 2.2 三层架构详解

- **2.2.1 原始资料层**

- 存储不可变的原始数据(如研究论文、代码文档),通常以文件系统形式组织,使用时间戳或唯一标识符命名文件。

- **2.2.2 维基层**

- 主要输出界面,由LLM生成的结构化Markdown文件构成,形成一个相互链接的知识网络。
- **特点**:

- 结构化:统一格式便于阅读与处理。
- 互链性:文件间通过链接关联,支持知识网络构建。
- 可修订性:内容动态更新,并记录修订历史。
- 人类可读性:Markdown格式保证了用户友好度,支持直接编辑和贡献。

- 可与笔记软件等工具集成,增强用户体验。

- **2.2.3 模式层**

- 定义了LLM如何理解和处理知识,由配置文件组成(如CLAUDE.md, AGENTS.md)。
- **关键组成部分**:

- 工作流程定义:规定LLM在处理不同类型任务时应遵循的步骤。
- 格式规范:定义Markdown文件的结构、命名规则、元数据格式等。
- 角色定义:明确LLM在不同场景下应扮演的角色。
- 边界设定:规定LLM的行为范围,确保系统可控。

- **价值**:使得LLM成为“有纪律”的知识管理者,行为可预测且可控。

## 2.3 核心操作流程

- **2.3.1 灌入操作**

- 将原始资料转化为结构化的知识单元。
- **流程**:

1. 资料收集
2. 预处理
3. 内容分析
4. 知识提取
5. 链接创建
6. 索引更新
7. 质量检查

- **2.3.2 提问操作**

- 用户通过自然语言查询获取知识库中的信息。
- **流程**:

1. 查询接收
2. 语义理解
3. 知识检索
4. 答案综合
5. 反馈收集

- **优势**:响应速度快、答案质量高、来源清晰。

- **2.3.3 巡检操作**

- 目的是发现和解决知识库中的问题。
- **流程**:

1. 一致性检查
2. 完整性检查
3. 时效性检查
4. 质量检查
5. 建议生成

- 可定期自动执行或手动触发,确保知识库持续健康和进化。

## 2.4 与传统RAG的对比优势

|维度|传统RAG|LLM Wiki|
|---|---|---|
|处理时机|查询时|摄入时|
|知识形态|向量索引|结构化文档|
|知识积累|无|持续积累|
|知识一致性|无保证|有巡检机制|
|可读性|低(向量)|高|
|可编辑性|低|高|
|响应速度|较慢(需推理)|较快(预处理)|
|维护成本|低(自动化)|中(需巡检)|
|知识质量|依赖查询|依赖摄入|

## 2.5 技术实现与工具生态

LLM Wiki作为一套概念框架,可以通过多种技术手段实现。当前可用的技术包括:

- **命令行界面(CLI)**:适合开发者及高级用户的基础操作。
- **AI代理技能**:将功能集成到更广泛的AI工作流程中。
- **Obsidian插件**:为流行笔记软件添加图形界面支持。
- **API服务**:便于与其他应用程序或系统集成。
 
 这种多样化的工具集让LLM Wiki能够灵活应用于从个人学习到企业级文档管理等多种场景。

___

## 第三章 Hermes Agent核心架构与技能系统

## 3.1 Hermes Agent概述

Hermes Agent是Nous Research开发的一种自我进化的AI代理框架,相比传统AI助手,它更侧重于学习能力。通过执行任务并从中学习,Hermes能不断积累经验,提高处理效率。其特色在于拥有技能系统和记忆机制。

## 3.2 核心架构组件

- **核心模块**:管理基础运行。
- **配置模块**:调整设置。
- **安全模块**:保证操作的安全性。
- **状态模块**:保存用户偏好等持久化信息。
- **LLM模块**:与大语言模型交互。
- **终端模块**:提供命令行界面。
- **技能模块**:管理和调用技能。
- **工具模块**:整合外部工具。
- **MCP模块**:支持标准化通信。
- **网关模块**:实现消息路由及协议转换。
- **定时任务模块**:自动化任务执行。
 
 该设计使得Hermes灵活且易于扩展。

## 3.3 技能系统解析

- **定义**:技能是从实践中提炼出的可复用能力,以Markdown文件(SKILL.md)形式存储,便于人类编辑。
- **生命周期**:

- 发现阶段:完成复杂任务后分析提取。
- 创建阶段:封装为技能文件。
- 存储阶段:按标准目录结构存放。
- 匹配阶段:新任务来临时进行匹配。
- 调用阶段:执行技能。
- 优化阶段:根据结果改进技能。

- **文件结构**:包括元数据、指令、工程规范、示例和依赖部分。
- **安全性**:实施安全扫描、权限控制、审计日志和来源验证。

## 3.4 命令行工具

- hermes:启动命令行界面。
- hermes model:配置语言模型。
- hermes tools:管理工具。
- hermes config:修改配置。
- hermes gateway:开启消息网关。
- hermes setup:初始化或重置环境。
- hermes update:更新软件。
- hermes doctor:诊断问题。
- /skills:查看已安装技能。
- /help:获取帮助。
- /clear:清除记录。
- /exit:退出会话。

## 3.5 记忆与个性化

- **MEMORY.md**:保存用户偏好及历史交流。
- **USER.md**:包含个人信息,用于定制体验。

## 3.6 多平台支持

- **CLI**:主要接口。
- **Discord**:团队协作。
- **API**:与其他应用集成。

___

## 第四章 Hermes安装指南

本章为新用户提供了从零开始安装Hermes的步骤,包括系统要求、安装方法及验证。

## 4.1 系统需求

Linux、macOS 和 WSL2

## 4.2 安装选项

提供多种安装方式供不同用户选择。

## 4.2.1 方式一:一键安装脚本(推荐新手)

对于首次使用者,推荐使用官方提供的一键安装脚本。这种方式最简单快捷。

**步骤1:打开终端**

可在 Linux、macOS 和 WSL2 上运行。安装程序会处理所有相关事项——包括 Python、Node.js、各种依赖项以及 hermes 命令。除了 git 之外,无需其他先决条件。

**步骤2:运行安装脚本**

执行以下命令:

```

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
```

![](https://p3-sign.toutiaoimg.com/tos-cn-i-axegupay5k/48d7acae5054425687dd21f0180209fe~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1776444088&x-signature=ibMCX%2B%2Ba4r9LLjClVQI09WGYk7c%3D)

按ESE跳过,后面再配置

![](https://p26-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/c9be7b08430742238bf156e7eba03816~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1776444088&x-signature=CYMq8oUOpq8PrXTtMUGk%2FcHLdVk%3D)

![](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/54d69e2cd29047fba5c47dc1a12cd3f4~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1776444088&x-signature=z846GSPaeQMNgjlxK2FgjNUY9fw%3D)

**步骤3:安装完成后**

```
source ~/.bashrc # reload shell (or: source ~/.zshrc)
hermes # start chatting!
```

## 4.3 环境配置详解

安装完成后,需要进行必要的环境配置才能正常使用Hermes。

## 4.3.1 配置API模型

a.交互式设置(推荐):

```
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name
```

根据提示走即可

b.手动配置 ( config.yaml ):

```
# In ~/.hermes/config.yaml
model:
 default: openclaw-pro
 provider: custom
custom_providers:
- name: custom
 base_url: your-openai-api-base-url-here
 api_key: your-openai-api-key-here
 model: your-model-name
```

## 4.3.3 配置数据目录

Hermes需要指定数据存储目录,用于存储技能文件、记忆文件、日志等。

**查看当前配置**:

```
hermes config show
```

**设置数据目录**:

```
hermes config set data_dir /path/to/your/data/directory
hermes config set data_dir /workspace/hermes-wiki
```

默认情况下,Hermes使用~/.hermes/data作为数据目录。

## 4.3.4 启用工具

Hermes使用工具与外界互动,默认已启用了部分工具。您可以查看和管理这些工具的配置。

**查看可用工具**:

```
hermes tools list
```

**启用特定工具**:

```
hermes tools enable web
```

**禁用工具**:

```
hermes tools disable web
```

## 4.4 首次运行与验证

配置完成后,进行首次运行和验证。

**步骤1:启动Hermes**

```
hermes
```

这将启动Hermes的交互式命令行界面。

**步骤2:进行简单对话**

在交互界面中,输入:

```
你好,请介绍一下你自己。
```

![](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/fcc5981aaaef4659a99b4729651675bd~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1776444088&x-signature=%2F0CshCl%2FVlTOvXpAGNMH45%2FUQeE%3D)

Hermes应该回复介绍信息,说明其功能和能力。

**步骤3:测试技能系统**

输入:

```
/skills
```

简化后的内容如下:

这将列出已安装的技能。

**步骤4:测试模型**

输入一个复杂问题,例如:“请解释什么是技能系统以及它如何帮助用户。”如果回答合理,则说明模型连接正常。

**步骤5:运行诊断**

遇到问题时,可使用命令 hermes doctor。

这会检查环境配置、依赖、网络连接等,并报告发现的问题。

## 4.5 目录结构说明

了解Hermes的目录结构有助于更好地管理配置和数据。

**Hermes主目录**(默认:~/.hermes/):

```
~/.hermes/
├── .env # 环境变量配置
├── config.yaml # 主配置文件
├── data/ # 数据目录
│ ├── skills/ # 技能存储
│ │ └── skill_name/
│ │ └── SKILL.md # 技能文件
│ ├── memory/ # 记忆存储
│ │ ├── MEMORY.md # 代理记忆
│ │ └── USER.md # 用户画像
│ ├── logs/ # 日志文件
│ └── cache/ # 缓存数据
└── sessions/ # 会话数据
```

## 4.6更新与卸载

**更新Hermes**:

如果通过脚本或Cargo安装:

```
hermes update
```

___

## 第五章 llm-wiki技能详解

## 5.1 概述

llm-wiki是Hermes Agent的核心功能,基于Karpathy的知识管理模型。它帮助构建、维护和查询一个结构化的知识库,将信息整理成易访问的网络。此功能通过一系列Markdown格式的工作流程规范来操作。

## 5.2 功能

- **知识摄入**:支持多种格式资料导入,并转换为结构化信息。
- **知识查询**:允许自然语言搜索,提供综合答案及引用链接。
- **知识巡检**:自动或手动检查知识库状态,保证完整性和时效性。
- **知识更新**:根据新数据或反馈调整现有知识,保持准确性。
- **知识导出**:可将知识库导出为Markdown文件集,方便分享或版本控制。

## 5.3 配置

- **路径设置**:定义知识库及其组件的位置。
- **处理选项**:包括最大文档大小限制、嵌入模型等。
- **巡检设置**:控制自动检查的状态及频率。
- **输出偏好**:决定输出格式是否包含额外信息。

## 5.4 安装与启用

提供了多种安装方式,让用户可以轻松开始使用llm-wiki技能。

- 更新Hermes: hermes update
- 验证技能安装: hermes skills list

![](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/680a50f7c3d44b3d832bab0f299e9399~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1776444088&x-signature=pTlTcb8TnNZXf0Fb9ognGLzwcl8%3D)

或在交互界面:

```
/skills
```

___

## 第六章 Hermes+KarpathyLLM Wiki实操步骤

本章将提供从零开始使用Hermes构建和维护知识库的完整实操指南。

## 6.1 环境准备与初始化

## 6.1.1 创建知识库项目

首先,为您的知识库创建一个专门的目录结构:

```
# 创建项目目录
mkdir -p ~/my-wiki/{raw,wiki,schema}

# 进入项目目录
cd ~/my-wiki

# 创建必要的子目录
mkdir -p raw/documents raw/web raw/notes
mkdir -p wiki/topics wiki/people wiki/projects
mkdir -p schema
```

目录结构说明:

- raw/:存放原始资料,按类型分子目录
- wiki/:存放LLM生成的知识单元
- schema/:存放配置和指导文件

## 6.1.2 配置Hermes使用知识库

配置Hermes以使用新创建的知识库:

```
# 设置知识库根目录
hermes config set wiki.root ~/my-wiki

# 设置原始资料目录
hermes config set wiki.raw_dir ~/my-wiki/raw

# 设置维基层目录
hermes config set wiki.wiki_dir ~/my-wiki/wiki

# 设置模式层目录
hermes config set wiki.schema_dir ~/my-wiki/schema
```

或者在Hermes交互界面中配置:

```
/config set wiki.root ~/my-wiki
/config set wiki.raw_dir ~/my-wiki/raw
/config set wiki.wiki_dir ~/my-wiki/wiki
/config set wiki.schema_dir ~/my-wiki/schema
```

## 6.2 知识摄入实操

## 6.2.1 摄入本地文档

假设您有一篇研究论文或报告要添加到知识库:

**步骤1:准备原始资料**

将文档复制到原始资料目录:

```
cp ~/Downloads/research_paper.pdf ~/my-wiki/raw/documents/
```

**步骤2:通知Hermes摄入**

在Hermes交互界面中:

```
请摄入文档 ~/my-wiki/raw/documents/research_paper.pdf
```

![](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/4b1566df209945e28310ab0ec11c9f6e~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1776444088&x-signature=xZYJZAADn7vPClSs07WZM4Q110I%3D)

![](https://p3-sign.toutiaoimg.com/tos-cn-i-6w9my0ksvp/87d0d8156cc54f55a1d4a90104d88f8c~tplv-tt-origin-web:gif.jpeg?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1776444088&x-signature=AApkQlKOV%2BiAGNKLIm9Fz%2F9om7c%3D)

Hermes将会帮您完成以下几步操作哦:

- 首先,它会仔细阅读您的PDF文档
- 然后,从中提取出所有的文字内容
- 接着,分析这些内容的结构和其中的关键点
- 之后,基于分析结果生成易于理解的知识单元
- 同时,还会为您创建相关的链接以便进一步探索
- 最后,确保所有信息都被妥善地更新到索引中
 
 希望这样能让整个过程听起来更加亲切易懂!

**步骤3:查看生成结果**

```
# 列出新生成的知识单元
ls -la ~/my-wiki/wiki/topics/

# 查看知识单元内容
cat ~/my-wiki/wiki/topics/research_paper_summary.md
```

## 6.2.2 批量摄入文档

如果有大量文档需要处理:

```
请批量摄入 /workspace/hermes-wiki/raw/documents/ 目录下的所有文档
```

Hermes会依次处理每个文档,并提供进度反馈。

## 6.2.3 摄入网页内容

要摄入网页内容:

```
请摄入网页 https://example.com/article
```

Hermes将执行以下功能:

- 获取网页内容
- 提取核心文本,同时去除广告、导航栏等非核心元素
- 对图片和链接进行处理
- 生成知识单元

## 6.2.4 摄入笔记片段

对于短笔记或想法:

```
请记录以下笔记:

今天学习了LLM Wiki的概念,它是一种利用LLM构建个人知识库的新方法。核心思想是让LLM作为知识库管理员,持续编译和维护知识。

标签:知识管理, LLM, 学习笔记
```

Hermes会创建一个知识单元,并根据内容自动创建标签和链接。

## 6 结语

在信息爆炸的时代,有效的知识管理对个人和组织的成功至关重要。Hermes与KarpathyLLM Wiki结合提供了一种新方案:一个能够自我学习、自我维护并持续进化的知识库。这种模式将知识管理从被动存储变为主动建设,从静态积累变为动态进化。通过大型语言模型的能力,知识库不仅存储文档,还能理解、连接和扩展知识。

对于知识工作者,这意味着可以将更多精力用于创造性思考,而将繁琐的知识整理工作交给AI。对于组织,这有助于持续积累和传承知识资产,减少因人员流动导致的知识流失。掌握这些新工具的人和组织将在未来的竞争中占据优势。希望本文能为读者提供有价值的指导和启发,帮助构建自己的智能知识库。

___

## 本文仅用于hermes及配套工具的技术交流与学习研究