← 所有文章

信號評分管線:確定性知識分類法

大多數知識管理靠的是直覺。您儲存一則筆記,因為它「感覺很重要」。六個月後,您擁有7,000則筆記,卻不知道哪些真正重要。我建造了一個確定性評分管線來告訴我答案。

這個系統是733行Python程式碼。它對每個傳入的信號從四個加權維度進行評分,計算複合分數,然後將信號路由到12個領域資料夾之一、收件匣供手動審閱,或直接丟棄。不需要手動標籤。不會有「之後再看」卻永遠不會發生的情況。由演算法來決定。

摘要

一個加權複合分數(相關性35%、可行性30%、深度20%、權威性15%)為每個信號產生0.0到1.0的評分。路由使用三個閾值:>= 0.55自動寫入領域資料夾,>= 0.30排入手動審閱佇列,< 0.30靜默略過。在14個月內處理了超過7,700則筆記,其中Development(2,837)和Design(1,709)主導了分布。最有趣的缺陷:深度維度衡量的是中繼資料豐富度,而非內容品質,因此一則標籤完善的關於花卉照片的推文可以得到0.85分。


直覺篩選的問題

我使用Obsidian作為知識庫。信號來自RSS訂閱、Twitter書籤、GitHub星標、電子報和手動擷取。在建造管線之前,每個信號都進入同一個收件匣資料夾。兩個月內就累積了400多則未處理的筆記。

標準建議(「每週檢閱、隨手標籤、使用資料夾系統」)假設檢閱會發生。但它不會。收件匣變成了唯寫模式:項目進入但永遠不會離開。您擷取的知識在功能上等同於您從未擷取的知識。Clay Shirky精準地描述了這個問題:「這不是資訊過載,而是過濾失敗。」8

我需要一個系統,能夠比我閱讀更快地評估7,700多則筆記,使用我定義一次並統一套用的標準。不是推薦引擎,而是評分演算法。


複合分數

評分公式是四個維度的加權線性組合,這是多準則決策分析(MCDA)中的標準方法:9

composite = (
    relevance     * 0.35 +
    actionability * 0.30 +
    depth         * 0.20 +
    authority     * 0.15
)

每個維度產生一個介於0.0到1.0之間的浮點數。公式將複合分數四捨五入到小數點後三位。權重反映了刻意的優先順序:對我而言重要的事物(相關性)優先於我能使用的事物(可行性),可行性優先於中繼資料的豐富程度(深度),深度優先於來源的可信度(權威性)。1


四個維度

相關性(35%):興趣匹配

相關性使用一個手動維護的關鍵字字典,包含40多個條目,每個條目的評分從0.15(nft)到1.0(claude codeswiftui)。評分結合了最佳匹配與所有匹配的平均值:

# 60% best match, 40% average of all matches
return min(1.0, best_score * 0.6 + avg_score * 0.4)

零匹配的項目獲得0.25的基準值,而非0.0。系統對未知主題的懲罰比對不相關主題更輕。基準值是最常調整的參數:過高則不相關的內容會淹沒收件匣,過低則真正的新興趣在我看到之前就被過濾掉了。2

可行性(30%):學習潛力

可行性匹配22個行動導向的關鍵字:tutorialguidehow-tobuildgithub.com。URL會獲得特殊處理:

if "github.com" in url:
    hits += 2  # Repositories are inherently actionable
if "/docs" in url or "/tutorial" in url:
    hits += 1

評分基於階梯函數,而非線性:0次命中→0.10,1次命中→0.40,2次命中→0.60,3次以上→min(1.0, 0.70 + hits * 0.05)。階梯函數獎勵可行性信號的存在多於其數量。一個教學連結的價值遠大於三個和四個關鍵字之間的差異。3

深度(20%):中繼資料豐富度

深度純粹是結構性的。它衡量欄位的存在與長度,而非內容品質:

信號 分數
有標題 +0.20
有描述 +0.20
描述超過50字元 +0.15
描述超過150字元 +0.15
有任何標籤 +0.15
有3個以上標籤 +0.10
有URL +0.05
最大值 1.00

深度是我最不信任的維度。一則關於花卉照片的推文,附帶完整描述和四個標籤,深度得分為0.85。豐富的中繼資料,不相關的內容。深度代表的是「來源提供了結構化資料」,這與品質相關但不保證品質。4

權威性(15%):來源可信度

權威性從0.40的基準值開始,依來源類型調整:

if source in ("twitter", "x"):        score = 0.50
elif source in ("blog", "newsletter"): score = 0.60
elif source in ("github", "docs"):     score = 0.70

一個網域允許清單會向上覆寫(絕不向下):github.comanthropic.comapple.comarxiv.orgdocs.python.org等將權威性設為至少0.75。允許清單編碼了一個判斷:這些來源預設享有更高的信任度。


閾值路由

三個路由區間決定每個評分信號的去向:

THRESHOLD_AUTO_WRITE = 0.55   # → domain folder
THRESHOLD_INBOX      = 0.30   # → 00-Inbox (manual review)
# Below 0.30 → silently skipped

管線將評分>= 0.55的信號直接寫入12個領域資料夾之一,領域通過標籤和標題匹配推斷。中間範圍的信號(0.30-0.55)進入收件匣等待手動審閱。低於0.30的信號永遠不會進入知識庫。

0.30到0.55的範圍是「模糊區間」,系統在此區間的信心最低。一個可選的--llm-triage旗標會將這些信號送交Claude評估,Claude可以將複合分數調整至多±0.20,可能將信號推過自動寫入的閾值。Claude只看到模糊信號,永遠不會看到高分或低分的信號。對確定性評分器已經處理好的信號花費API額度是浪費。5

領域推斷使用投票系統。每個標籤對應一個領域,標題中的每個關鍵字增加一票。得票最多的領域勝出。平票按字典順序打破(實際上是任意的)。預設回退:「Inspiration」。


結果

處理超過7,700則筆記,歷時14個月後:

領域 筆記數 佔總數百分比
Development 2,837 36.8%
Design 1,709 22.2%
Inspiration 565 7.3%
Claude-Code 414 5.4%
AI-Tools 414 5.4%
Productivity 346 4.5%
Ideas 296 3.8%
Science 231 3.0%
Health-Life 191 2.5%
Architecture 142 1.8%
Startups 26 0.3%
Tools 22 0.3%
收件匣 420 5.5%

分布反映了現實。我消費的開發和設計內容遠多於其他任何領域。收件匣項目(420則)代表模糊區間——演算法無法自信地自動路由的信號。6


演算法判斷錯誤之處

深度陷阱

一則粉蝶花照片的推文得分為複合分數0.36、相關性0.25、可行性0.10、深度0.85、權威性0.50。它被路由到收件匣,因為深度(0.85)和權威性(0.50)補償了幾乎為零的相關性和可行性。豐富的中繼資料,不相關的內容:一張漂亮的花卉照片。

這個案例說明了中繼資料代理評分的根本限制。深度衡量的是「來源提供了結構化資料」,而非「內容有價值」。Twitter為每則推文提供完整的描述和標籤。一則標籤完善的關於早餐的推文深度得分為0.85。資訊檢索研究稱其背後的張力為精確率/召回率的權衡:優化召回率(捕捉所有相關項目)不可避免地會引入偽陽性。10

我考慮過但拒絕的修正方案:將深度權重從0.20降至0.10可以減少來自標籤完善但不相關內容的偽陽性,但也會懲罰來自中繼資料稀疏的來源中真正有深度的內容。目前的權重是一種折衷。

相關性基準值問題

零匹配相關性的0.25基準值意味著,任何來自合理來源且結構完善的信號至少得到0.30分,進而進入收件匣。基準值製造了一個偽陽性底線:收件匣累積了標籤完善且來自合理來源、但與我的興趣毫無關係的信號。

實際的解決方案:定期審閱收件匣仍然是必要的。管線將審閱範圍從7,700個項目縮減至420個(約95%的縮減),但無法消除模糊區間的手動審閱需求。


實作備註

管線作為CLI工具運行。輸入是信號的JSON陣列(來自RSS、Twitter API或手動輸入)。輸出是與Obsidian相容的markdown檔案,寫入領域資料夾。

python triage.py --input signals.json --vault ~/obsidian-signals/
python triage.py --input signals.json --vault ~/obsidian-signals/ --llm-triage
python triage.py --input signals.json --min-score 0.60  # Stricter routing

預過濾在評分之前執行:對現有知識庫筆記進行URL去重、空內容過濾,以及噪音來源封鎖清單。重複的筆記和垃圾來源永遠不會到達評分階段。

評分函數是純函數:無副作用、無API呼叫、無檔案系統存取。每個函數接收一個信號字典,返回一個分數字典。純函數的設計使它們可以獨立測試,也可以與LLM分類階段組合——LLM分類只對模糊子集執行。7


核心要點

給建構分類系統的工程師:

  • 確定性評分在規模化場景中優於手動策展。14個月內處理7,700則筆記。手動分類需要50多小時的審閱時間。管線在數分鐘內完成處理,路由率約95%(僅5.5%需要手動審閱)。

  • 中繼資料代理具有已知的失效模式。深度衡量的是結構,而非品質。權威性衡量的是來源,而非準確性。兩種代理在聚合規模上有效,但在單一信號層級會產生可預測的偽陽性。承認失效模式比宣稱演算法「有效」更為誠實。

給知識管理實踐者:

  • 加權複合分數揭露您的真實優先順序。35/30/20/15的權重不是隨意的。它們編碼了一個具體判斷:相關性比可行性重要,可行性比中繼資料豐富度重要,中繼資料豐富度比來源可信度重要。使權重明確且可調整,是系統與習慣之間的差異。

  • 模糊區間是不可消除的。介於0.30和0.55之間的信號確實是模糊的:確定性評分器無法解決它們。LLM分類有所幫助但無法消除該區間。對模糊子集的手動審閱仍然是必要的。


我將這篇文章定位為工程問題,而非生產力技巧。複合評分適用於任何需要確定性路由的領域:客服工單、內容審核、潛在客戶評級、異常偵測。我的具體權重和閾值編碼了個人優先順序,但架構是通用的。關於累積知識如何創造非線性價值,請參閱心智複利OODA Loop for Prompt Engineering探討了一個相關模式:以結構化觀察取代直覺。每個管線元件(評分、路由、分類)都可以獨立使用,並與其他元件複合,遵循複合工程模式。



  1. 我並非通過數學方法推導出權重分布。我經過六個月的使用進行調整。初始權重是均等的(25/25/25/25)。在觀察到高深度、低相關性的信號(標籤完善但不相關的內容)淹沒收件匣後,相關性提高至35%。在觀察到高相關性但無實際應用的理論內容不斷累積後,可行性提高至30%。 

  2. 零匹配相關性的0.25基準值是一個刻意的設計選擇。將其設為0.0意味著任何不在維護關鍵字清單中的信號最高只能得到0.65分(0加上可行性加上深度加上權威性,沒有相關性貢獻),使得真正的新主題幾乎不可能達到自動寫入閾值。 

  3. 我選擇階梯函數而非線性評分來衡量可行性,因為可行性更接近布林值而非連續變數。一個教學是可行的。一篇關於教學的新聞報導則不是。階梯函數比梯度更能捕捉這種二元特性。 

  4. 我最初將深度維度命名為「品質」,意圖衡量內容豐富度。在觀察到它實際上衡量的是中繼資料豐富度後,我將其重新命名為「深度」以反映其實際行為。名稱的更改是對該指標實際捕捉內容的刻意誠實。 

  5. LLM分類使用Claude Code CLI(claude --print --model opus),配合結構化提示詞,要求提供分數調整(-0.20到+0.20)和領域分類。作者估計成本:每個信號約$0.02-0.04。對全部7,700個信號執行LLM分類將花費$150-300。僅對420個模糊信號執行則花費$8-17。 

  6. 作者的領域分布資料截至2026年2月。計數反映自2024年12月以來的累積路由。分布自第三個月起趨於穩定,Development和Design持續佔已路由信號的55-60%。 

  7. 我選擇純評分函數作為刻意的架構決策。替代方案(評分函數檢查檔案系統是否有重複,或呼叫API進行資料豐富化)會更準確,但在不使用模擬的情況下無法測試。純函數的方式犧牲了部分準確性,換取可測試性和可組合性。 

  8. Clay Shirky,「這不是資訊過載,而是過濾失敗」,Web 2.0 Expo主題演講,2008年。youtube.com/watch?v=LabqeJEOQyI。Shirky的框架直接適用:一個有400多則未處理筆記的收件匣不是資訊過載,而是過濾的缺失。另見Alvin Toffler,《未來的衝擊》,Random House,1970年,該書創造了「資訊過載」一詞,指在接觸過多資訊時做決策的困難。 

  9. 加權線性組合是多準則決策分析(MCDA)中的標準技術。此處的方法是簡化的加權總和模型(WSM),是最古老的MCDA方法之一。關於推導複合評分權重的經典論述,見Saaty, T.L.,《解析層級程序法》,McGraw-Hill,1980年。關於此處使用的較簡單的加法模型,見Fishburn, P.C.,「Additive Utilities with Incomplete Product Set」,《Journal of Mathematical Psychology》,4(1),pp. 104-110,1967年。 

  10. 精確率/召回率的權衡是資訊檢索中的基本概念。提高召回率(捕捉更多相關項目)必然引入更多不相關的項目,降低精確率。深度維度通過獎勵任何結構良好的信號來優化召回率,這就是為什麼不相關但標籤完善的內容能通過閾值。見Manning, C.D., Raghavan, P., & Schütze, H.,《資訊檢索導論》,Cambridge University Press,2008年,第8章。nlp.stanford.edu/IR-book/