第八章:Hermes如何使用LLM Wiki工具

Hermes 知识库16小时前更新 changgong
190 00

hermes智能体

Hermes Agent 整合了基于 Andrej Karpathy 提出的 LLM Wiki 模式,提供了一个强大的、可自我维护的知识库解决方案。

这一功能允许用户和 Agent 共同构建和维护一个由相互关联的 Markdown 文件组成的知识库,从而实现知识的持续积累、更新和高效检索。

本章将深入探讨 Hermes Agent 的 LLM Wiki 应用,包括其核心理念、架构设计以及操作管理。

8.1 LLM Wiki 介绍

Hermes Agent 的 LLM Wiki 功能是基于 Andrej Karpathy 的 LLM Wiki 模式,旨在解决传统知识管理和检索的痛点。它不仅仅是一个简单的文档存储系统,而是一个能够构建和维护持久化、相互关联的 Markdown 文件知识库的智能系统。

与传统的 RAG (Retrieval-Augmented Generation) 模式不同,LLM Wiki 的核心区别在于其知识处理方式:

  • 传统 RAG:在每次查询时从头开始重新发现知识,这意味着每次都需要重新检索和理解源材料。
  • LLM Wiki:知识被编译一次并持续更新。一旦信息被摄取到 Wiki 中,它就会被结构化、交叉引用,并与现有知识进行整合。这意味着知识库中的矛盾已经被标记,综合信息已经反映了所有摄取的内容。

这种模式下,人类用户负责策划来源和指导分析,而 Agent 则负责总结、交叉引用、归档和维护知识库的一致性。通过这种分工,LLM Wiki 能够随着时间的推移不断增长和完善,成为一个“活”的知识系统。

8.2 Wiki 架构与分层

Hermes Agent 的 LLM Wiki 采用清晰的三层架构,确保了知识库的结构化、可维护性和可扩展性。整个 Wiki 存储在一个指定的目录中(默认为 ~/wiki,可通过 WIKI_PATH 环境变量配置),该目录由一系列 Markdown 文件和子目录组成。

8.2.1 三层架构

LLM Wiki 的三层架构包括:

  1. 原始来源 (Raw Sources):这一层包含不可变的原始材料,如网页文章、PDF 文档、会议记录、访谈稿以及引用的图像和图表。Agent 只读取这些文件,但不会修改它们。它们是知识库的基础,确保了所有信息的来源可追溯。
  2. Wiki (Agent 拥有):这一层由 Agent 创建、更新和交叉引用的 Markdown 文件组成。它是知识库的核心,包含了经过 Agent 处理和整合后的实体、概念、比较和查询结果等页面。这些文件是 Agent 学习和沉淀经验的体现。
  3. Schema (结构定义)SCHEMA.md 文件定义了 Wiki 的结构、约定和标签分类法。它充当了 Agent 行为的约束,确保知识库的整体一致性和规范性。例如,它定义了文件命名约定、页面前置元数据 (frontmatter) 格式、链接规则以及标签的使用规范。

8.2.2 目录结构

典型的 LLM Wiki 目录结构如下:

wiki/
├── SCHEMA.md           # 约定、结构规则、领域配置
├── index.md            # 带有单行摘要的分段内容目录
├── log.md              # 按时间顺序排列的行动日志 (仅追加,每年轮换)
├── raw/                # 第一层:不可变原始材料
│   ├── articles/       # 网页文章、剪报
│   ├── papers/         # PDF、arxiv 论文
│   ├── transcripts/    # 会议记录、访谈
│   └── assets/         # 原始来源引用的图像、图表
├── entities/           # 第二层:实体页面 (人物、组织、产品、模型)
├── concepts/           # 第二层:概念/主题页面
├── comparisons/        # 第二层:并排分析
└── queries/            # 第二层:值得保留的归档查询结果

8.3 Wiki 操作与管理

Hermes Agent 提供了一套完整的操作流程来初始化、维护和更新 LLM Wiki,确保知识库的有效性和准确性。

8.3.1 初始化新 Wiki

当用户要求创建或启动一个 Wiki 时,Agent 会执行以下步骤:

  1. 确定 Wiki 路径:从 $WIKI_PATH 环境变量获取,或询问用户,默认为 ~/wiki
  2. 创建目录结构:按照上述三层架构创建相应的目录和文件。
  3. 询问 Wiki 领域:明确 Wiki 涵盖的具体领域。
  4. 编写定制化的 SCHEMA.md:根据领域定制结构、约定和标签分类法。
  5. 编写初始 index.md:包含分段标题。
  6. 编写初始 log.md:记录 Wiki 的创建事件。
  7. 确认 Wiki 就绪:并建议用户摄取第一个来源。

8.3.2 Wiki 定位

在处理现有 Wiki 时,Agent 在每次会话开始时都会进行“定位”操作,以理解当前的领域、约定和最新活动:

  1. 阅读 SCHEMA.md:理解领域、约定和标签分类法。
  2. 阅读 index.md:了解现有页面及其摘要。
  3. 扫描最近的 log.md:阅读最近的 20-30 条记录,了解近期活动。

这一步骤至关重要,它能防止创建重复页面、遗漏交叉引用、违反约定或重复已完成的工作。

8.3.3 摄取 (Ingest) 来源

当用户提供一个来源(URL、文件、粘贴文本)时,Agent 会将其整合到 Wiki 中:

  1. 捕获原始来源
    • URL:使用 web_extract 获取 Markdown 内容,保存到 raw/articles/
    • PDF:使用 web_extract 处理,保存到 raw/papers/
    • 粘贴文本:保存到相应的 raw/ 子目录。
    • 文件命名:描述性命名,例如 raw/articles/karpathy-llm-wiki-2026.md
    • 添加原始前置元数据 (raw frontmatter):包含 source_urlingested 和内容的 sha256 摘要。sha256 用于检测内容是否发生变化,避免重复处理或标记内容漂移。
  2. 讨论要点:与用户讨论来源中的重要信息和对领域的影响(自动化场景下可跳过)。
  3. 检查现有内容:搜索 index.md 并使用 search_files 查找现有页面,避免重复。
  4. 编写或更新 Wiki 页面
    • 新实体/概念:仅当满足 SCHEMA.md 中定义的页面阈值(例如,2 个以上来源提及或对一个来源至关重要)时才创建新页面。
    • 现有页面:添加新信息、更新事实、更新 updated 日期。如果新信息与现有内容冲突,遵循更新策略。
    • 交叉引用:每个新页面或更新页面必须通过 [[wikilinks]] 链接到至少 2 个其他页面,并检查现有页面是否反向链接。
    • 标签:仅使用 SCHEMA.md 中定义的标签分类法。
    • 出处:对于综合了 3 个以上来源的页面,在段落末尾添加 ^[raw/articles/source-file.md] 标记,以追溯信息来源。
    • 置信度:对于观点性强、变化快或单一来源的主张,可在前置元数据中设置 confidence: medium 或 low
  5. 更新导航:将新页面添加到 index.md 的正确部分,并更新“总页数”和“最后更新”日期。

8.3.4 页面阈值与更新策略

LLM Wiki 设定了明确的页面阈值更新策略,以确保知识库的质量和一致性:

  • 创建页面:当一个实体/概念出现在 2 个以上来源中,或对一个来源至关重要时。
  • 添加到现有页面:当一个来源提及已涵盖的内容时。
  • 不创建页面:对于一笔带过、次要细节或领域之外的内容。
  • 拆分页面:当页面内容超过约 200 行时,将其拆分为带有交叉链接的子主题。
  • 归档页面:当页面内容被完全取代时,将其移动到 _archive/ 并从索引中移除。

更新策略:当新信息与现有内容冲突时:

  1. 检查日期:新来源通常取代旧来源。
  2. 标记矛盾:如果存在真正的矛盾,记录两个立场及其日期和来源。
  3. 在前置元数据中标记矛盾contradictions: [other-page-slug]
  4. 在 lint 报告中标记以供用户审查

8.3.5 标签分类法

SCHEMA.md 中定义了标签分类法 (Tag Taxonomy),规定了 Wiki 中可使用的顶级标签。所有页面上的标签都必须出现在此分类法中,以防止标签蔓延,确保标签的一致性和可管理性。

例如,对于 AI/ML 领域的 Wiki,标签可能包括:

  • 模型modelarchitecturebenchmarktraining
  • 人物/组织personcompanylabopen-source
  • 技术optimizationfine-tuninginferencealignmentdata
  • 元信息comparisontimelinecontroversyprediction
© 版权声明

相关文章

暂无笔记

您必须登录才能记录笔记!
立即登录
none
暂无笔记...