karpathy-llm-wiki

karpathy-llm-wiki

熱門

用於建立或維護個人 LLM 驅動的知識庫。觸發條件:將來源資料匯入 wiki、查詢 wiki 知識、檢查 wiki 品質、'add to wiki'、'what do I know about',或任何提及 'LLM wiki' 或 'Karpathy wiki' 的情況。

1527星標
178分支
更新於 2026/4/13
SKILL.md
唯讀
名稱
karpathy-llm-wiki
描述

用於建立或維護個人 LLM 驅動的知識庫。觸發條件:將來源資料匯入 wiki、查詢 wiki 知識、檢查 wiki 品質、'add to wiki'、'what do I know about',或任何提及 '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

    • 從來源標題產生 slug,使用 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 | <主要文章標題>
- Updated: <連鎖更新文章標題>
- Updated: <另一個連鎖更新文章標題>

如果沒有連鎖更新,則省略 - 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: <頁面標題>
    

檢查

對 wiki 進行品質檢查。兩個類別具有不同的權限等級。

確定性檢查(自動修正)

自動修正這些問題:

索引一致性 — 比較 wiki/index.md 與實際的 wiki/ 檔案(排除 index.mdlog.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> 個問題,自動修正 <M> 個

慣例

  • 使用標準 Markdown,並在整個文件中使用相對連結。
  • wiki/ 僅支援一層主題子目錄。不允許更深層的巢狀結構。
  • 日誌條目、收集日期和封存日期使用今天的日期。Updated 日期反映文章知識內容最後變更的時間。Published 日期來自來源(無法取得時使用 Unknown)。
  • 在 wiki/ 檔案內部,所有 Markdown 連結使用相對於當前檔案的路徑。在對話輸出中,使用專案根目錄相對路徑(例如 wiki/topic/article.md)。
  • 匯入會更新 wiki/index.mdwiki/log.md。封存(來自查詢)會更新兩者。檢查會更新 wiki/log.md(僅在自動修正索引條目時更新 wiki/index.md)。單純的查詢不會寫入任何檔案。