本文譯自 Andrej Karpathy 的 Gist。其核心論點在於:傳統 RAG 是碎片的重新發現,而 LLM Wiki 是知識的持續編譯。這是一份「Idea File」,旨在啟發開發者與 AI 協作,將對話沈澱為可維護的代碼化知識庫。
這是一份 Idea File(想法草案)。它被設計成可以直接複製並貼給你的 LLM Agent(例如 OpenAI Codex, Claude Code, OpenCode / Pi 等等)。它的目標是傳達高層次的設計理念,但具體的實作細節,則需要由你的 Agent 在與你的協作過程中共同構建出來。
大多數人使用 LLM 處理文件的經驗看起來像 RAG:你上傳一堆檔案,LLM 在提問時檢索相關的碎片(chunks),然後生成答案。這雖然可行,但 LLM 每次都在針對每個問題「從頭開始重新發現知識」。這沒有累積。
如果你問一個需要綜合五份文件的微妙問題,LLM 每次都必須重新尋找並拼湊這些相關片段。沒有任何東西被建立起來。NotebookLM、ChatGPT 的檔案上傳功能,以及大多數 RAG 系統都是以這種方式運作的。
這裡的想法不同。LLM 不僅僅是在查詢時從原始文件中檢索,而是會增量式地構建並維護一個持久的 Wiki —— 一個結構化、互聯的 Markdown 文件集合,介於你與原始資料源之間。
當你加入新資料源時,LLM 不只是對其進行索引以備後查。它會閱讀它、提取關鍵資訊,並將其整合到現有的 Wiki 中 —— 更新實體頁面(entity pages)、修正主題摘要、註記新數據與舊主張矛盾之處,並強化或挑戰不斷演化中的綜合論述。知識被編譯了一次,隨後保持更新,而不是在每次查詢時重新推導。
這就是關鍵差異:Wiki 是一個持久的、具備複利效應的產物 (Compounding Artifact)。 交叉引用已經建立好了。矛盾之處已經被標記出來。綜合論述已經反映了你讀過的所有內容。Wiki 會隨著你加入的每個資料源和問出的每個問題,變得越來越豐富。
你從不(或很少)親自撰寫 Wiki —— 全部由 LLM 來撰寫與維護。你負責的是來源提供、探索方向,以及提出正確的問題。LLM 負責所有的粗重活 —— 摘要、交叉引用、存檔和簿記,這些工作讓知識庫隨著時間的推移真正變得有用。
在實踐中,我一邊開著 LLM Agent,另一邊開著 Obsidian。LLM 根據我們的對話進行編輯,而我實時瀏覽結果 —— 點擊連結、檢查關聯圖視圖(graph view)、閱讀更新後的頁面。Obsidian 是 IDE;LLM 是程式設計師;Wiki 是代碼庫 (Codebase)。
系統分為三層:
CLAUDE.md 或 AGENTS.md)。它定義了慣例、攝取來源的流程、回答問題的規範,以及如何維護 Wiki。這是關鍵的配置檔案 —— 正是它讓 LLM 成為一名自律的 Wiki 維護者,而不是一個通用的聊天機器人。 你與 LLM 會隨著時間共同演化這份文件,直到找到最適合你領域的範式。兩個特殊檔案幫助 LLM(和你自己)在 Wiki 增長時導航:
index.md 是內容導向的。它是 Wiki 中所有內容的目錄。按類別(實體、概念、來源等)組織。LLM 在每次攝取時更新它。log.md 是時序導向的。它是「發生了什麼以及何時發生」的追加紀錄。如果每個條目都有統一的前綴,日誌就可以用簡單的 Unix 工具(如 grep)來解析。維護知識庫最枯燥的部分不是閱讀或思考 —— 而是「簿記 (Bookkeeping)」。更新交叉引用、保持摘要即時、記錄新數據何時與舊主張矛盾、維護數十個頁面間的一致性。
人類會放棄維護 Wiki,是因為維護負擔的增長速度超過了價值產生的速度。而 LLM 不會感到無聊,不會忘記更新交叉引用,並且可以在一次處理中改動 15 個檔案。Wiki 能夠持續維持,是因為維護成本趨近於零。