LLM Wiki Distiller
核心想法
維護一個面向大模型使用的個人知識庫:記錄用戶學到了什麼、看重什麼、注意到什麼、保存過什麼、總是忘記什麼,以及希望未來模型能記住什麼。不要重複寫百科式通用知識;重點保留用戶自己的視角、來源路徑、訓練截止之後的新資訊,以及可重複使用的個人上下文。
庫根固定四個目錄 + 三個根檔案(index.md / log.md / pending.md):
raw/:原始素材、附件和待處理 inbox。wiki/:由 LLM 維護的蒸餾條目。_staging/:並行批處理的暫存提案(目錄常駐,內容 transient——integrate 消費後刪)。review/:審查報告(review/YYYY-MM/按月歸檔,最新一篇兼作 review 游標)。
任何建立、修改、刪除、歸檔或實質性審查,都要同步更新 index.md 和 log.md。
資源地圖
本檔案只負責路由。判定模式後,立即讀取對應 mode;mode 會告訴你下一步該讀取哪些 reference/schema。
modes/quick.md:不經過 inbox 的快速新增、修改、歸檔、刪除。modes/distill.md:處理raw/inbox/或其他 raw 素材並正式蒸餾。modes/review.md:審查、健康檢查、合併提議;每輪產出一篇帶日期的 report。modes/search.md:唯讀檢索和總結,不寫入。modes/integrate.md:並行編排時,編排者把多個 capture-only 子 agent 的 proposal 統一落地(唯一寫手、序列)。references/raw.md:raw 目錄、來源分類、附件、重複素材處理。references/wiki.md:wiki 頁面類型判斷、邊界、寫入規則。schemas/common.md:通用 YAML 欄位、受控詞表、日期和狀態。schemas/raw.md:raw markdown 指標、來源 metadata、附件引用規則。schemas/wiki.md:wiki 各類型頁面的 frontmatter 與正文結構。schemas/root.md:index.md、log.md、pending.md格式。schemas/report.md:review report 的位置、frontmatter 與正文結構(最新 report 兼作 review 游標)。schemas/proposal.md:並行編排時 capture-only → integrate 的暫存提案格式。
不要一次讀完所有資源。按 mode 的步驟逐步讀取。
Step 0:知識庫根目錄檢查
使用任何模式前,先確認目前工作目錄是不是知識庫根目錄。只做輕量冪等檢查,不讀取其他 reference/schema。
把目前目錄視為已有知識庫,需要至少命中 2 類訊號:
- 存在
raw/,且其中有inbox/、attachment/、dropzone/或其他 raw 分類。 - 存在
wiki/,且其中有concept/、entity/、summary/、scrap/或其他 wiki 分類。 - 存在根目錄檔案
index.md、log.md、pending.md中至少 2 個。
處理方式:
- 命中 2 類或以上:繼續模式門。
- 命中 0 類,且目前目錄為空或接近空:詢問用戶是否在目前目錄初始化知識庫,或提供已有知識庫路徑。
- 命中 0-1 類,且目前目錄明顯是其他專案:停止,要求用戶提供知識庫路徑;不要在目前專案裡建立
raw/、wiki/。 - 用戶在請求中明確提供知識庫路徑時,切換到該路徑後重新做本檢查。
模式門
按用戶語義四選一,不要求用戶說出模式名:
- 用戶要覆盤/維護現有庫,例如「review 一下」「檢查矛盾」「跑健康檢查」 → 讀
modes/review.md。 - 用戶只想查/問/總結已有內容,不要求新增或修改 → 讀
modes/search.md。 - 用戶要新增、修改、歸檔或刪除,但不需要處理 inbox/raw 原始素材 → 讀
modes/quick.md。 - 用戶要處理
raw/inbox/、剪藏、長文、聊天、社媒、PDF、影片轉錄、GitHub 專案或其他 raw 素材 → 讀modes/distill.md。
如果模式不確定,優先判斷用戶是否要求寫入;寫入但來源還沒被整理,走蒸餾;純查詢走檢索;維護庫本身走審查。
並行編排補充:蒸餾模式有一個
capture-only變體(每個子 agent 只認領一條,只寫自己的 summary + raw +_staging/<id>.mdproposal,不碰共享頁),配合integrate模式(編排者把多條 proposal 統一落地)。約束寫在modes/distill.md的「執行模式」節;何時並行、怎麼派子 agent,由呼叫方專案的 CLAUDE.md 決定,不在本 skill。
共享硬規則
- 把 wiki 當成「編譯後的記憶」,不是原文倉庫。保留 raw 來源路徑,不把完整原文搬進 wiki。
- YAML
original_url只放核心外部 URL,用於快速開啟網頁、影片、貼文、論文、專案主頁等一手來源;只允許http://或https://。本地.md、raw/...、wiki/summary/...、附件路徑、絕對/相對檔案路徑、Obsidian 內鍊和對話裡的本地文件連結永遠不能寫入original_url;沒有外部 URL 就留空陣列[]。raw 路徑、summary 頁和內部證據關係寫正文## 來源或related。搜尋補充、背景資料、延伸閱讀放正文末尾的## 來源,不要塞進 frontmatter。不要在 wiki YAML 中使用sources欄位。 2025-01-01以前的知識預設輕寫,除非它對用戶很重要、罕見,或構成用戶思考基礎。2025-01-01之後的知識可以更重視,因為它可能補足模型訓練截止後的 gap,但仍以「有用」而不是「完整」為準。- 使用絕對日期。持久化事實裡不要只寫「昨天」「今天」「最近」,除非同時寫明絕對日期。
- 區分事實、推斷、偏好和弱訊號。弱訊號不直接當作穩定事實寫入。
- 新來源和舊頁面衝突時,保留雙方說法、來源和日期,標記衝突,不要靜默覆蓋。
- 寫入前搜尋重複頁面、相似標題、別名、來源 URL 和核心句子。
- 預設不物理刪除知識;歸檔、過時、被取代要保留歷史。真正刪除前必須確認。
- 對敏感、高影響、醫療/法律/財務、身份定義類結論,如果證據模糊,寫入前先問用戶。
- 區分「判斷類工作」和「機械類操作」:判斷類(蒸餾取捨、合併決策、審查時評估一條內容是否重要/該刪該留)必須由 agent 理解語義後直接完成,不能外包給腳本去猜——這是這個 skill 存在的價值,腳本沒有判斷力。機械類(按明確規則過濾、計數、重新命名、格式轉換,以及庫變大後可能需要的本地搜尋/索引/向量庫等基礎設施)鼓勵用命令列工具或腳本完成,而且應該優先這樣做。
- 執行機械類操作時,優先使用不需要把整份檔案內容讀進 agent 上下文的方式(grep/sed/awk/一次性腳本,blind 執行),用計數和 diff 驗證結果(
wc -l、grep -c、git diff --stat),而不是讀完整檔案或列印全文核對——省 token,結果一樣可靠。只有操作本身需要判斷(比如審查時決定某條內容該不該刪)才需要先讀再做。 - 不包含 agent 編排檔案。不同平台的
AGENTS.md、CLAUDE.md或子 agent 策略由使用者專案自行維護。