1. Karpathy 的 LLM Wiki 知識庫理念 [0]

thumbnail Karpathy 提出了 LLM Wiki 系統,這是一種個人 AI 知識庫理念,它透過 AI 智能體將原始資料轉換為 Wiki 形式的筆記,並透過持續學習和維護來累積知識。

1.1. LLM Wiki 系統的核心理念 [0]

  1. LLM Wiki 系統是前 OpenAI 聯合創始人 Karpathy 提出的個人 AI 知識庫理念,它放棄了傳統的 RAG(檢索增強生成) 方法 [0]。
    1. 該系統透過 AI 智能體(例如 Claude Code)將學習資料和文章轉換成 Wiki 形式的 Markdown 筆記庫 [6]。
    2. 最佳的實現工具是 Obsidian,它能利用 AI 在編譯後的筆記庫中進行持續學習和探索 [7]。
    3. 每次學習和總結的重點內容都會再次累積到知識庫中,實現知識的複利,同時定期維護和檢查筆記庫以保持系統健康 [7]。
    4. 與傳統 RAG 系統每次問答都重新搜索知識庫、沒有記憶和累積不同,LLM Wiki 持久化地維護知識庫,這也是智能體時代個人 AI 知識庫的必然形式 [8]。

1.2. LLM Wiki 的三層架構與三核心操作 [9]

  1. 三層架構 [9]
    1. 原始資料層:這是收集或策劃的文檔集合,包括剪藏的網路文章、論文文獻、轉錄的 YouTube 影片等 [10]。
      1. Karpathy 列舉的主要工具是 Obsidian [11]。
    2. Wiki 層:這是 AI 智能體深入分析原始資料後生成的 Markdown 檔案目錄,包含摘要、實體概念、對比分析,以及索引與日誌檔案 [12]。
    3. Schema 架構規範層:這是智能體工具的配置文件,例如使用 Claude Code 時是 CLAUDE.md,使用 OpenCode 時是 AGENTS.md [13]。
      1. 它的作用是告知智能體工具具體的工作流程和規範 [14]。
      2. 整個架構的實現是透過智能體工具(例如 Claude Code)加上 Obsidian 來完成的 [15]。
  2. 三核心操作 [18]
    1. Ingest(攝取):讓智能體充分消化原始資料,並編譯成 Markdown 格式的 Wiki 筆記庫 [19]。
    2. Query(查詢):使用者向 AI 提問,深入學習知識庫,並將學習整理的內容累積到知識庫中 [19]。
    3. Lint(巡檢):對知識庫架構進行維護,包括雙向連結的關聯、資料空白的填補、孤立頁面的發現等 [19]。
    4. 這三個操作將被製作成三個智能體技能 [20]。

2. 實作 LLM Wiki 知識庫 [21]

thumbnail

本節介紹如何從零開始建立 LLM Wiki 知識庫的檔案結構,並配置 CLAUDE.md 檔案來規範 AI 智能體的行為。

2.1. 建立知識庫的檔案結構 [21]

  1. 在電腦端建立一個空白的專案資料夾,並在其中建立三個子資料夾:raw、Wiki 和 assets [23]。
    1. raw 資料夾用於收集原始資料,類似於 Obsidian 中的 inbox [24]。
      1. 在 raw 資料夾內,建立子資料夾用於分類存放網頁剪藏文章、專業論文、文獻、研報、影片和播客的轉錄文章等 [26]。
      2. 此外,還需建立一個 archive 資料夾,用於存放分析完成後的資料 [27]。
    2. Wiki 資料夾用於存放 AI 智能體生成的 Markdown 檔案 [28]。
      1. 在 Wiki 資料夾內,建立 index.md(索引檔案)和 log.md(日誌檔案) [28]。
      2. 建立子資料夾:concepts(存放方法論)、entities(存放實體概念)、sources(存放原始檔案的一對一提煉摘要)、synthesis(存放 AI 深入學習與探索後累積的知識) [28]。
    3. assets 資料夾用於存放媒體資源,例如圖片和附件 [30]。
      1. 在 Obsidian 設定中,將附件資料夾路徑設定為此 assets 資料夾 [31]。
  2. 完成資料夾結構建立後,使用 Obsidian 或 Claude Code 開啟該資料夾 [33]。
    1. 輸入 /init 命令,Claude Code 會建立 Claude 專案配置文件和 Claude 資料夾 [34]。
    2. 如果使用 OpenCode,則會建立 AGENTS.md 檔案 [35]。

2.2. 配置 CLAUDE.md 檔案 [37]

  1. 開啟自動生成的 CLAUDE.md 檔案,刪除其英文內容,並根據需求寫入中文約束 [38]。
    1. CLAUDE.md 是一個普通的 Markdown 檔案,包含整個專案的核心規範 [39]。
    2. 可以直接列出要求,讓 AI 協助撰寫 [40]。
  2. 在 CLAUDE.md 中主要約束以下內容 [41]:
    1. 目錄結構的權限邊界:告知智能體三個資料夾的用途,並規定智能體的編輯權限 [41]。
    2. Wiki 資料夾內容生成規範:詳細告知智能體在 Wiki 資料夾中生成內容時應遵守的規範 [42]。
    3. 索引檔案和日誌檔案的寫入格式:規定智能體在寫入 index.md 和 log.md 時應遵循的格式 [42]。
    4. Markdown 筆記的生成規則:規定智能體在生成 Markdown 筆記時應遵守的規則 [42]。
  3. 這個 CLAUDE.md 檔案對應著 Karpathy 理念中的 Schema 架構規範層 [44]。

3. LLM Wiki 的核心操作:攝取、查詢與巡檢 [46]

thumbnail

本節詳細介紹如何透過建立技能(skill)來實現 LLM Wiki 的三個核心操作:攝取(Ingest)、查詢(Query) 和 巡檢(Lint),以實現知識的自動化管理和維護。

3.1. 知識的攝取(Ingest) [46]

  1. 收集學習資料 [46]
    1. 在瀏覽器安裝 Obsidian Web Clipper 插件,並將其保存路徑設定為 Obsidian 知識庫的 raw/articles 子資料夾,即可剪藏網頁文章 [46]。
    2. 也可以手動將下載的學習資料放置到 raw 資料夾中 [47]。
    3. 範例:收集了關於 AI 提示詞工程的網頁文章和論文,如 Gemini 的提示詞策略、Google 的提示詞工程白皮書和 5C 架構的提示詞框架論文 [48]。
  2. 建立 Ingest 技能 [49]
    1. 在 .cloude/skills 資料夾中建立一個名為 Ingest 的資料夾,並在其中新建 skill.md 檔案 [50]。
    2. 在 skill.md 的 YAML 元資料部分添加 name 和 description 字段,然後撰寫技能正文 [51]。
    3. 該技能主要指示 AI 如何分析 RAW 資料夾下的原始資料,並編譯生成 Wiki 內容,包含技能的觸發邏輯、執行步驟、約束和注意事項 [52]。
    4. 技能的編寫可透過 Skills Creator 技能輔助完成,該技能由 Anthropic 發布在其官方 GitHub 倉庫中,專門用於協助撰寫技能 [53]。
    5. 整個流程是讓智能體深入分析原始檔案,整理並撰寫相應的 Markdown 檔案,建立雙向連結,同時更新 index 索引檔案和 log 日誌檔案 [57]。
    6. 最後,在所有檔案處理完畢後,將原始檔案移動到 archive 資料夾中 [58]。
  3. 執行 Ingest 技能 [59]
    1. 在智能體窗口中輸入 /ingest 即可觸發技能流程 [59]。
    2. 影片中 Claude Code 轉接的是 Kimi K2.5 模型,但 Karpathy 提到使用 Codex 或 OpenAI GPT 等智能體原理相同 [60]。
    3. 智能體處理檔案需要時間,且大規模檔案讀寫會消耗大量 token,需注意 token 使用量 [62]。
    4. 執行結果:智能體分析原始檔案後,撰寫了對應的 Markdown 檔案,更新了 index 索引檔案和 log 日誌檔案,並將原始檔案歸檔到 archive 資料夾 [64]。
    5. 智能體會列出執行完成的任務列表,包括建立的檔案、核心知識發現和重要標註 [66]。
    6. 知識圖譜顯示,提示詞工程相關概念已建立在知識庫中,並建立了良好的雙向連結,點擊筆記可查看具體內容 [67]。
    7. 索引檔案按分類列出知識庫的詳細索引結構,日誌檔案清晰記錄了本次操作處理的內容和建立的檔案清單,這兩個檔案在後續具有重要作用 [69]。

3.2. 知識的查詢(Query) [72]

  1. 建立 Query 技能 [72]
    1. 建立第二個技能 query,該技能相對簡單 [74]。
    2. 主要要求 AI 在回答問題前,永遠先讀取 index.md 索引檔案,定位到問題相關內容,然後深度閱讀目標檔案並回答問題 [75]。
    3. 如果生成了有價值內容,AI 會詢問使用者是否保存到知識庫,這是 LLM Wiki 的核心理念,讓知識不斷累積和進化,實現知識複利 [76]。
    4. 技能中規定了智能體將高品質內容保存回知識庫時應遵循的規範和內容模板 [78]。
  2. 執行 Query 技能 [79]
    1. 向智能體提問:「結合 5C 這個提示詞框架,為我設計一個提示詞,主要功能是用於撰寫 Markdown 格式的知識筆記」 [79]。
    2. 智能體會詳盡回覆,根據 5C 框架生成提示詞和使用案例,並詢問是否保存回知識庫 [81]。
    3. 確認保存後,智能體會將內容保存到 Wiki/Syntheses 資料夾內,同時建立雙向連結,並更新 Index 索引和 Log 日誌檔案 [82]。
    4. 智能體還能處理知識庫中相關知識點的矛盾、挖掘或探索特定知識盲區,並結合實際工作進行戰略規劃 [83]。
    5. 可以利用 Obsidian 的功能生成多種產出結果,例如 AI 生成 Markdown 格式的幻燈片、Canvas 結構圖或 Excalidraw 圖表 [85]。

3.3. 知識的巡檢(Lint) [87]

  1. 巡檢的意義 [87]
    1. 隨著知識庫日益龐大,需要定期維護和檢查,這就是 Karpathy 理念中的第三個步驟:巡檢(Lint) [87]。
    2. Lint 對於程式設計師而言非常熟悉,意指對程式碼進行健康檢查,確保符合程式碼規範 [88]。
    3. 對於個人知識庫而言,巡檢包括檢查頁面之間的矛盾、已被新資料取代的舊資訊、沒有加入雙向連結的孤島筆記、筆記中的死鏈,以及缺乏獨立頁面的重要概念 [90]。
    4. 定期生成知識庫的體檢報告 [91]。
  2. 建立 Lint 技能 [91]
    1. 在 skills 資料夾內建立一個新的技能,取名為 lint,並在 skill.md 中寫入相關要求 [91]。
    2. 告知智能體如何分析知識庫:優先讀取 index 索引檔案和 log 日誌檔案,然後掃描整個知識庫,生成一份檢查報告,並給出下一步的修復計畫 [92]。
    3. 加入約束,讓智能體只生成報告,待使用者確認後才進行修復和修改,而非自行修改筆記 [93]。
  3. 執行 Lint 技能 [94]
    1. 在智能體窗口中輸入 /lint,智能體會開始掃描整個知識庫並進行健康檢查 [94]。
    2. 最後生成完整的報告,報告中會顯示未同步的索引、多個死鏈和知識衝突 [96]。
    3. 智能體還會列出下一步的行動計畫,說明如何修復這些問題 [97]。
    4. 透過這種方式,可以讓知識庫保持長期的健康 [98]。

4. 擴充功能與注意事項 [100]

thumbnail

本節探討 LLM Wiki 系統的擴充潛力,並提醒使用者在使用智能體時需注意 Token 消耗和 AI 幻覺問題。

4.1. 擴充功能與應用 [100]

  1. 上述實現方法是最簡單的入門級實現,但仍有許多功能可以擴充 [100]。
    1. 例如,可以整合 Obsidian CLI 工具,Karpathy 建議使用 CLI 工具輔助 AI 更高效地操作 Wiki [101]。
    2. 可以在三個技能中加入技能鏈,約束智能體在檢索知識庫時使用 Obsidian skill,這能大大降低 token 消耗並提升任務準確性 [102]。
  2. Karpathy 表示,這套理念在他約四十萬字的知識庫中運行良好,持續的進化和累積特別適合中小團隊和個人進行深度學習和研究 [103]。
  3. 除非是企業級的龐大知識庫,否則 RAG 永遠只是現用現搜的冷冰冰機器 [104]。
  4. Karpathy 的核心理念描繪了智能體時代個人知識管理的必然形態:人類只負責高價值資訊篩選與戰略提問,AI 則接管所有繁瑣的節點編織 [105]。

4.2. 使用智能體的注意事項 [106]

  1. 注意 Token 的消耗:智能體對 Token 的消耗非常高,使用者需特別注意 [107]。
  2. 注意 AI 幻覺問題:如果大型模型在某次處理過程中產生幻覺,這個錯誤會被保存到知識庫中,未來的學習和推理將以此為基礎,導致錯誤被無限放大 [108]。