wiki-synthesize 是做什麼的?
在首次執行前,請先閱讀工具包中的
docs/GOTCHAS.md(關於攝取、合成與 lint 的操作注意事項)以及docs/SEALS.md(印章格式)。
這是「活體綜合層」的「外科醫生」。它將筆記中已驗證的發現儲存(概念筆記中的 ## 主要發現;方法筆記中承載聲明的章節)重新組織成一個「知識現狀」區塊,捕捉證據的流向:已解決、有爭議、被取代、新興。它絕不虛構聲明。每個條目都追蹤到現有發現,且每一項新或變更的條目,在用戶批准之前都會對照其所引用的每篇作品的 PDF 進行檢查(證據檢查,第 2 層)。
模式
- 預設模式:
/wiki-synthesize <NoteName>合成一個概念或方法筆記。 - 工作清單模式:
/wiki-synthesize(不帶參數)執行wiki-lint檢查 15,然後呈現check15_missing按優先順序排列(首先列出synthesis.priority_fields中的欄位,然後按來源作品數量遞減排序)以及check15_stale(重新合成候選),並詢問要處理哪個筆記。工作清單是一個待辦事項,而不是現在必須全部完成的清單。合格集合由檢查 15 即時報告的項目組成;凍結在文件中的計數會過時。 - 批次模式:
/wiki-synthesize --batch [N]是「管理例外」式的大規模作業模式(預設批次大小為 8)。它會執行檢查 15,形成優先處理的批次,分派並行子代理(每個子代理遵循SYNTHESIS-WORKFLOW.md並返回一個區塊及自我報告,絕不寫入),用證據檢查和scripts/synth_validate.py把關每一次寫入,寫入乾淨的筆記,並在觸發 4 項條件(T1 無法驗證的關鍵數字、T2 資訊遺失、T3 結構異常、T4 子代理信心低落)以及檢查發現的任何缺陷時升級處理。詳見references/BATCH-WORKFLOW.md。首先向用戶提出一個批次的子代理計畫(它們做什麼、數量、使用哪個模型),然後等待用戶同意。
角色與界線
負責: 讀取筆記的發現儲存、根據 evidence_level 加上行內測量進行權重計算、草擬區塊、對照 PDF 檢查每一項新或變更的條目、呈現供批准、然後寫入(插入區塊並吸收 ## 爭議或空白)、封印來源筆記、執行閘門檢查、記錄。
不負責: 虛構數字或聲明、建立 debates/ 筆記(改為在報告中標記候選)、觸碰低於合成門檻的筆記、或在用戶批准前寫入任何內容。
檔案存放位置
路徑來自 wiki.config.json。筆記位置:<wiki_root>/concepts/、methods/、papers/、books/。在開始之前,務必閱讀 WIKI_SCHEMA.md(活體綜合層)。
門檻(必須滿足才能合成)
status: final 且(synthesis.min_sources 個或更多不同的來源作品(預設為 3)或至少一個被引用來源的 evidence_level 在 synthesis.sr_levels 中(預設為 SR-MA、SR))。這正是 wiki-lint 檢查 15 的資格測試。若不滿足則:回報並停止。
工作流程
完整程序請見 references/SYNTHESIS-WORKFLOW.md。摘要:讀取合約、解析筆記(精確使用 test -f/內容搜尋,絕不接受僅用 glob)、門檻檢查、預先全文防護、將發現分組歸納為子問題、對照 PDF 檢查新或變更的條目、在聊天中提出區塊(含引用與頁碼)、批准、寫入(scripts/synth_write.py:在 ## 定義 之後插入、吸收爭議、蓋章)、封印來源筆記(<kit>/tools/seal.py)、若已有區塊則進行重新合成比對、然後記錄、重新執行閘門檢查並重新執行檢查 15。
安全規則
- 絕不虛構。 每個條目都追蹤到現有發現;不得從記憶或來源筆記中產生新的數字。
- 證據檢查,第 2 層:沒有 PDF 檢查就不允許新或變更的條目。 最多 3 個不同的作品,由協調器檢查;超過時,它會提議一個子代理,其任務範圍僅限於比對結果,並等待用戶同意。任何缺陷在修改前都必須重新在 PDF 中讀取,並且來源筆記必須使用該筆記的名稱進行封印。來源筆記上的全文封印不能保護該筆記關於該作品的陳述:在過去對本方法的審計中,約 4/10 的抽樣筆記對來源筆記存在缺陷。
- 人機迴圈。 互動模式:提案、批准、寫入(未經用戶同意不得寫入)。批次模式:
synth_validate.py把關每一次寫入,且 4 項觸發條件會升級處理;絕不允許完全自主。 - 零資訊遺失。 在吸收
## 爭議或空白區段之前,每一個該區段的要點都必須對應到區塊中的某個條目。 - 預先全文防護。 屬於「未取得全文」群組(在
synthesis.prefulltext_cutoff日期之前建立且未經全文封印,或僅以摘要層級封印的論文筆記)中的被引用論文,會降低受影響條目的信心,並加上行內⚠標記;僅在該條目所依賴的數字本身無法驗證時,才暫停該條目。書籍章節是可信的支柱**,除非其自身的status:是draft或stub**,這表示該筆記是在未取得全文的情況下攝取的(全文層級的source_verification會覆蓋狀態)。synth_validate.pyV4 會機械式地強制執行此規則。 - 聲明需要來源。 每個條目都引用
[[wikilinks]]。 - 以檔案系統為優先。 使用主機的檔案工具;不需要 Obsidian 外掛或 MCP。
相關技能
wiki-lint:檢查 15 產生此技能的工作清單;檢查 32 會標記(筆記,作品)配對沒有封印的情況。合成後應執行此檢查,以確認沒有漂移(連結檢查乾淨,檢查 15 將該筆記從missing中移除)。wiki-ingest:上游。此技能重新組織的發現是由攝取步驟寫入的。
參考資料
references/SYNTHESIS-WORKFLOW.md:詳細程序、區塊範本、防護邏輯、重新合成處理。references/BATCH-WORKFLOW.md:批次模式、協調器循環、子代理簡報、V1-V5 寫入閘門、升級觸發條件。scripts/synth_validate.py:寫入閘門及全 wiki 掃描。scripts/synth_write.py:區塊插入。<kit>/tools/seal.py:封印。