personal_wiki_skill 是 farzaa 發布的一份 Claude Code skill,把 llm-wiki gist 的抽象模式寫成可執行的作業規範。兩份文件的分工很清楚:Karpathy 講為什麼要編譯知識,farzaa 講編譯時每一步該做什麼、每篇文章該長什麼樣、模型在哪些地方會出錯以及怎麼防。0406備忘錄的 wiki/references/writing.md/wiki 各指令的流程主要出自這份文件,拼裝方式與分歧見 LLM Wiki

作家心態

文件開篇第一段就把模型的角色定死:你是作家,不是歸檔員。工作是讀條目、理解它們的意義、寫出能捕捉這種理解的文章。wiki 是一張心靈地圖。由此推出整份文件反覆出現的那個判準:

問題永遠不是「這個事實要放在哪裡?」而是:「這代表什麼意思,它如何與我已知的事物連結?」

配套的是黃金法則,它處理的是主題選擇而非文筆:這不是關於某個東西的維基百科,是關於那個東西在這個人生命中扮演的角色。一本書的頁面不是書評,是這本書對他意味著什麼、什麼時候讀的、改變了什麼。

黃金法則要防的錯誤,LYT框架 用另一個說法標記過:那份框架把筆記分成五種類型,並指出大部分人只寫 Things(某個概念的定義),寫出來的東西跟 Wikipedia 沒有差別,裡面沒有「我」。兩邊開的藥方相反——LYT 要人自己記得多寫 Statements,farzaa 要模型從一開始就別把文章寫成詞條。

另一條同層級的要求是敘事連貫性。每篇文章都必須有一個點,不是「這裡有四次 X 出現」,而是「X 在這個人的生命裡代表 Y」。讀者讀完應該覺得自己理解了它的意義。

六個指令

指令做什麼
ingest用 Python 腳本把原始資料轉成一條一檔的 markdown,機械步驟,不需要 LLM 智能,且必須幂等
absorb核心編譯步驟,把條目寫進 wiki 文章
query導航 wiki 回答問題,唯讀
cleanup派平行子 agent 稽核並重寫每篇文章
breakdown挖掘缺少的文章並建立
status統計

另有 rebuild-indexreorganize 兩個輔助指令。ingest 支援的格式清單相當長:Day One JSON、Apple Notes 匯出、Obsidian vault、Notion 匯出、純文字或 markdown 資料夾、iMessage 匯出、CSV、email mbox、Twitter 封存,遇到不認得的格式就讀樣本、自己寫解析器。

0406備忘錄沒有 ingest,因為 0406/ 本身就是 Obsidian vault 的 .md,raw entries 已經存在。它反而多了一個 lint,那是從 Karpathy 那邊接過來的,farzaa 的版本沒有。

兩股相反的力

這是整份文件裡最實用的一組判準,因為它處理的是模型會犯的兩種相反錯誤。

反過度歸塞。 現有文章的引力是敵人。往一篇大文章底下再貼一段,永遠比新建一頁容易,結果是 5 篇臃腫文章而不是 30 篇精準文章。可操作的判準:如果你在同一篇文章裡第三次為某個子主題加段落,那個子主題該獨立一頁。

反過度稀薄。 新建頁面不是勝利,充實它才是。在另外四筆記錄也提到同一主題的情況下,寫出三句話的存根,是一種失敗。每次修改一個頁面,它都應該變得更豐富。

兩條合起來是同一個原則的兩端:40 個存根跟 5 篇臃腫文章一樣糟。

判斷什麼該有頁面時,文件給的門檻是三句話:如果寫不出至少三個有意義的句子,先別建頁,把它記在提到它的文章裡,等材料夠了再建。

每 15 筆的檢查點

absorb 每處理 15 筆就停下來做六件事:重建索引、重建反向連結、新文章稽核、品質稽核、檢查有無過長該拆的文章、檢查目錄結構。

新文章稽核只有一個問題:過去 15 筆新建了幾篇文章?如果是零,你正在過度歸塞。這一條把抽象的反歸塞原則變成可量測的訊號。

品質稽核是挑三篇改動最多的文章,整篇當一個作品重讀,問五個問題:講的是連貫的故事還是流水帳?章節按主題還是按日期?有沒有用直接引用承擔情感重量?有沒有以能揭示什麼的方式連到其他文章?讀者會不會學到不顯而易見的東西?任何一篇讀起來像事件紀錄,就重寫它。

語氣規範

維基百科,不是 AI。平鋪直敘,陳述事實。文章保持中立,情感重量由直接引用承擔。

禁用清單分五類:破折號;浮誇詞(legendary、visionary、groundbreaking、deeply、truly);編輯腔(interestingly、importantly、it should be noted);反問句;漸進敘事(would go on to、embarked on、this journey)與修飾語(genuine、raw、powerful、profound)。

應做的六項:以主體開頭並平鋪直敘、一句一個主張且句子要短、用簡單過去式或現在式、歸因而非斷言(「他描述這件事令他充滿活力」而不是「這令他充滿活力」)、讓事實自己暗示重要性、用日期與細節取代形容詞。

唯一的例外是直接引用,文章負責中立,引用負責感覺。引言紀律是每篇最多兩個,挑最有力的那句。0406備忘錄的 writing.md 額外補了一條上游沒有的區分:callout 與引用都以 > 開頭,但 callout 不計入這兩個額度。

結構規範

文件用一個測試把日記式結構釘死,稱之為賈伯斯測試:維基百科的賈伯斯條目用「早年生活」「職業生涯」(底下再按時期分節),不是「全錄 PARC 參訪」「Lisa 專案失敗」。日記式結構被標為 cleanup 時最常見的問題。

各類型的組織方式各不相同:人物按角色或關係階段;地點按發生什麼事加代表什麼;專案按構思、發展、結果;事件按什麼發生(簡短)、為何重要(主體)、後果;哲學按論點、如何發展、在哪成功或失敗;模式按觸發條件、循環機制、嘗試打破;轉換期按什麼結束了、漂移期、什麼浮現;決策按情境、選項、推理、選擇。

篇幅目標按類型給出區間,從人物單次提及的 20 到 30 行,到時代頁的 60 到 100 行,任何文章的下限是 15 行。0406備忘錄保留了這張表,但改掉了拆分判準:上游用行數(超過 120 行臃腫、超過 150 行考慮拆),本地改為結構,當一篇文章需要三層以上章節才組織得起來時才拆,行數降為輔助訊號。

目錄分類法

farzaa 列了約 40 個目錄類型,同時明說目錄要從資料裡長出來,不要預先建立。清單分七組:核心(people、projects、places、events、companies、institutions)、媒體與文化(books、films、music、games、tools、platforms、courses、publications)、內在生活與模式(philosophies、patterns、tensions、identities、life)、敘事結構(eras、transitions、decisions、experiments、setbacks)、關係(relationships、mentorships、communities)、工作與策略(strategies、techniques、skills、ideas、artifacts)、其他(restaurants、health、media、routines、metaphors、assessments、touchstones)。

清單裡真正承載主張的是中間兩組。文件明說概念文章(模式、主題、弧線)往往是 wiki 裡最有價值的文章,因為它們是 wiki 從聯絡簿變成心靈地圖的部分。tensions/(兩個價值之間無法解決的矛盾)、transitions/(兩次承諾之間的懸置期)、touchstones/(觸發反思的文化作品遭遇)這幾類,指向的都是傳統筆記軟體不會有的分類軸。

0406備忘錄只用了六類。philosophies/ 直接取自這份清單,synthesis/ 不在清單上,是本地新增。reorganize 指令附帶的常見改分類清單(陳述信念的從 life/ 移到 philosophies/、有觸發與反應結構的移到 patterns/、有列舉理由的從 events/ 移到 decisions/)等於反過來說明了這些類型的辨識特徵。

具體名詞測試

breakdown 挖掘缺頁時的判準是「X 是一個 ___」通得過。要提取的:有名字的人、地點、公司、機構;有日期的事件或轉折點;被引用的書籍、電影、音樂、遊戲;被大量使用的工具與平台;有名字的專案;與敘事時刻相關的餐廳與場地。

不提取的三類:通用技術(React、Python、Docker)除非有記錄在案的學習弧線;已有文章涵蓋的實體;一帶而過的提及。這三條在 0406備忘錄的 /wiki breakdown 原樣保留。

並發規則

四條硬規則收在文件最後:沒讀過的檔案不刪不覆蓋;改一篇文章之前立刻重讀它;絕不修改 _absorb_log.json;索引與反向連結只在指令的最後重建。這四條在 0406備忘錄原樣保留,並在 wiki/CLAUDE.md 補了一條本地的補充說明,_absorb_log.json 的歷史不完整,檔名不在 absorbed 陣列裡不等於沒吸收過。

相關原始筆記

  • wiki-gen-skill.md(00 LLM WIKI 開課計劃/)— skill 全文