karpathy-llm-wiki

karpathy-llm-wiki

热门

用于构建或维护个人LLM驱动的知识库。触发条件:将来源摄入到wiki、查询wiki知识、检查wiki质量、'添加到wiki'、'关于...我知道什么',或任何提及'LLM wiki'或'Karpathy wiki'的内容。

1527Star
178Fork
更新于 2026/4/13
SKILL.md
只读
名称
karpathy-llm-wiki
描述

用于构建或维护个人LLM驱动的知识库。触发条件:将来源摄入到wiki、查询wiki知识、检查wiki质量、'添加到wiki'、'关于...我知道什么',或任何提及'LLM wiki'或'Karpathy wiki'的内容。

Karpathy LLM Wiki

使用LLM构建和维护个人知识库。你管理两个目录:raw/(不可变的原始材料)和wiki/(编译的知识文章)。来源放入raw/,你将其编译为wiki文章,wiki随时间累积。

来自Karpathy的核心思想:

  • "LLM编写和维护wiki;人类阅读和提问。"
  • "wiki是一个持久的、不断累积的产物。"

架构

三层结构,全部位于用户的项目根目录下:

raw/ — 不可变的原始材料。你只读取,从不修改。按主题子目录组织(例如,raw/machine-learning/)。

wiki/ — 编译的知识文章。你拥有完全所有权。按主题子目录组织,仅一层:wiki/<topic>/<article>.md。包含两个特殊文件:

  • wiki/index.md — 全局索引。每篇文章一行,按主题分组,包含链接+摘要+更新日期。
  • wiki/log.md — 仅追加的操作日志。

SKILL.md(本文件)— 模式层。定义结构和工作流规则。

模板位于相对于本文件的references/目录中。当你需要原始文件、文章、归档页面或索引的确切格式时,请阅读它们。

初始化

仅在首次摄入时触发。检查raw/wiki/是否存在。仅创建缺失的部分;绝不覆盖现有文件:

  • raw/目录(包含.gitkeep
  • wiki/目录(包含.gitkeep
  • wiki/index.md — 标题# Knowledge Base Index,空正文
  • wiki/log.md — 标题# Wiki Log,空正文

如果查询或检查找不到wiki结构,告诉用户:“请先执行摄入以初始化wiki。”不要自动创建。


摄入

将来源获取到raw/,然后编译到wiki/。始终执行两个步骤,无一例外。

获取(raw/)

  1. 使用你的环境提供的任何网络或文件工具获取来源内容。如果无法访问来源,请用户直接粘贴。

  2. 选择一个主题目录。首先检查现有的raw/子目录;如果主题足够接近,则重用。仅对真正不同的主题创建新的子目录。

  3. 保存为raw/<topic>/YYYY-MM-DD-descriptive-slug.md

    • 从来源标题生成短横线命名(kebab-case),最多60个字符。
    • 发布日期未知 → 从文件名中省略日期前缀(例如,descriptive-slug.md)。元数据中的Published字段仍然存在;设置为Unknown
    • 如果同名文件已存在,追加数字后缀(例如,descriptive-slug-2.md)。
    • 包含元数据头:来源URL、收集日期、发布日期。
    • 保留原始文本。清理格式噪音。不要重写观点。

    参见references/raw-template.md了解确切格式。

编译(wiki/)

确定新内容属于哪里:

  • 与现有文章核心论点相同 → 合并到该文章。将新来源添加到Sources/Raw。更新受影响的章节。
  • 新概念 → 在最相关的主题目录中创建新文章。以概念命名文件,而不是原始文件。
  • 跨多个主题 → 放置在最相关的目录中。添加“参见”交叉引用到其他位置的相关文章。

这些情况并不互斥。单个来源可能既需要合并到一篇文章,又需要为其引入的不同概念创建单独的文章。在所有情况下,检查事实冲突:如果新来源与现有内容矛盾,用来源归属标注分歧。合并时,在合并的文章中注明冲突。当冲突内容位于不同文章中时,在两篇文章中都注明并交叉链接。

参见references/article-template.md了解文章格式。关键点:

  • Sources字段:作者、组织或出版物名称+日期,分号分隔。
  • Raw字段:指向raw/文件的Markdown链接,分号分隔。
  • wiki/<topic>/出发的相对路径使用../../raw/<topic>/<file>.md(向上两级到项目根目录)。

级联更新

在主文章之后,检查连锁影响:

  1. 扫描同一主题目录中受新来源影响内容的文章。
  2. 扫描其他主题中wiki/index.md条目,查找涵盖相关概念的文章。
  3. 更新每篇内容受到实质性影响的文章。每个更新的文件刷新其Updated日期。

归档页面从不进行级联更新(它们是时间点快照)。

摄入后

更新wiki/index.md:为每篇涉及的文章添加或更新条目。添加新主题部分时,包含一行描述。Updated日期反映文章知识内容最后更改的时间,而不是文件系统时间戳。参见references/index-template.md了解格式。

追加到wiki/log.md

## [YYYY-MM-DD] ingest | <primary article title>
- Updated: <cascade-updated article title>
- Updated: <another cascade-updated article title>

当没有级联更新时,省略- Updated:行。


查询

搜索wiki并回答问题。触发示例:

  • "关于X我知道什么?"
  • "总结所有与Y相关的内容"
  • "根据我的wiki比较A和B"

步骤

  1. 读取wiki/index.md以定位相关文章。
  2. 阅读这些文章并综合答案。
  3. 优先使用wiki内容而非你自己的训练知识。使用Markdown链接引用来源:[Article Title](wiki/topic/article.md)(对话中的引用使用项目根目录相对路径;在wiki/文件中,使用相对于当前文件的路径)。
  4. 在对话中输出答案。除非被要求,否则不写入文件。

归档

当用户明确要求将答案归档或保存到wiki时:

  1. 将答案写为新的wiki页面。参见references/archive-template.md。将对话中的引用转换为归档页面时,将项目根目录相对路径(例如,wiki/topic/article.md)重写为文件相对路径(例如,../topic/article.md或同目录下的article.md)。
    • Sources:答案中引用的wiki文章的Markdown链接。
    • 无Raw字段(内容不来自raw/)。
    • 文件名反映查询主题,例如,transformer-architectures-overview.md
    • 放置在最相关的主题目录中。
  2. 始终创建新页面。绝不合并到现有文章中(归档内容是综合答案,而非原始材料)。
  3. 更新wiki/index.md。在摘要前添加[Archived]前缀。
  4. 追加到wiki/log.md
    ## [YYYY-MM-DD] query | Archived: <page title>
    

检查

对wiki进行质量检查。两个类别具有不同的权限级别。

确定性检查(自动修复)

自动修复以下内容:

索引一致性 — 比较wiki/index.md与实际wiki/文件(不包括index.md和log.md):

  • 文件存在但索引中缺失 → 添加条目,摘要占位符为(no summary)。对于Updated,如果文章元数据中有Updated日期则使用;否则回退到文件的最后修改日期。
  • 索引条目指向不存在的文件 → 在索引中标记为[MISSING]。不要删除条目;让用户决定。

内部链接 — 对于wiki/文章文件(正文和Sources元数据)中的每个Markdown链接,排除Raw字段链接(由下面的Raw引用验证)以及index.md/log.md(上面已处理):

  • 目标不存在 → 在wiki/中搜索其他位置同名文件。
    • 恰好一个匹配 → 修复路径。
    • 零个或多个匹配 → 报告给用户。

Raw引用 — Raw字段中的每个链接必须指向一个现有的raw/文件:

  • 目标不存在 → 在raw/中搜索其他位置同名文件。
    • 恰好一个匹配 → 修复路径。
    • 零个或多个匹配 → 报告给用户。

参见 — 在每个主题目录内:

  • 添加相关文章之间明显缺失的交叉引用。
  • 删除指向已删除文件的链接。

启发式检查(仅报告)

这些依赖你的判断。报告发现而不自动修复:

  • 文章之间的事实矛盾
  • 被新来源取代的过时声明
  • 来源存在分歧时缺少冲突标注
  • 没有来自其他wiki文章入站链接的孤立页面
  • 缺少跨主题引用
  • 频繁提及但缺少专门页面的概念
  • 归档页面中引用的来源文章自归档以来已大幅更新

检查后

追加到wiki/log.md

## [YYYY-MM-DD] lint | <N> issues found, <M> auto-fixed

约定

  • 标准Markdown,全程使用相对链接。
  • wiki/仅支持一层主题子目录。不允许更深嵌套。
  • 日志条目、收集日期和归档日期使用今天日期。Updated日期反映文章知识内容最后更改的时间。发布日期来自来源(不可用时使用Unknown)。
  • 在wiki/文件内部,所有Markdown链接使用相对于当前文件的路径。在对话输出中,使用项目根目录相对路径(例如,wiki/topic/article.md)。
  • 摄入更新wiki/index.mdwiki/log.md。归档(来自查询)更新两者。检查更新wiki/log.md(仅当自动修复索引条目时更新wiki/index.md)。普通查询不写入任何文件。