← 所有文章

思維的拓撲:嵌入空間中的 Obsidian

15,800 篇筆記。49,746 個區塊。每個區塊都是一個 256 維向量。我對整個資料集執行 UMAP,投射至三維空間,然後在螢幕上緩慢旋轉。我的第二大腦有了形狀,而這個形狀揭示了筆記本身從未告訴我的事:我的知識工作圍繞三個密集核心(Claude Code、設計系統、AI 研究)聚集,彼此之間由稀疏的交叉筆記橋接相連,外圍則是一圈與任何東西都沒有連結的孤立訊號光暈。

知識的形狀會告訴你:你在哪裡思考、在哪裡迴避思考、以及你的想法在哪裡有碰撞的空間。同樣的脈絡架構既能組織代理行為,也能組織人類知識。

摘要:將 15,800 篇 Obsidian 筆記投射至 256 維嵌入空間,揭示了三種知識拓撲——集中式、分散式與分佈式——各有不同的失效模式。叢集之間的橋接筆記能驅動最具原創性的洞見,而相變研究顯示,不慎的整理策略可能在某個臨界點上導致知識結構瞬間崩塌。

重點摘要

嵌入空間賦予知識庫一種空間結構,揭示其智識拓撲。Kat(@poetengineer__)針對 Obsidian 知識庫展示了三種拓撲:集中式(一個核心概念連結所有筆記)、分散式(主題叢集中心)與分佈式(概念之間的邊以語義關係標註)。1我的 15,800 個檔案、49,746 個區塊的知識庫呈現分散式拓撲,具有三個主要叢集。Pesce 等人關於神經網路剪枝相變的研究,為理解「簡化(整理、歸檔、篩選)何時會突破臨界點而破壞知識結構的功能」提供了數學框架。2以下內容涵蓋:嵌入捕捉了什麼、三種知識拓撲與真實知識庫數據、如何診斷自己的拓撲,以及一個基於我實際知識庫建構的互動式探索工具。


嵌入究竟捕捉了什麼

文字嵌入將一段文字轉換為一串數字。分詞視覺化的文章介紹了文字如何變成 token。嵌入更進一步:token 成為高維空間中的座標,其中距離對應語義。

兩段關於「Claude Code hooks 用於上下文注入」的文字在嵌入空間中距離很近。一段關於「Claude Code hooks」和一段關於「iOS SwiftUI 導航」的文字則距離很遠。這裡的距離並非關鍵字重疊。兩段文字可以沒有任何共同詞彙,卻因討論相同概念而彼此相鄰。兩段文字也可能共享許多字詞(如「the system processes the data」),卻因周圍語境不同而相距甚遠。

我的知識庫使用 Model2Vec 的 potion-base-8M 模型:760 萬參數,產生 256 維嵌入。3該模型從更大的句子轉換器(bge-base-en-v1.5)蒸餾而來,達到 all-MiniLM-L6-v2 約 90% 的效能,同時作為靜態模型運行——在 CPU 和 GPU 上都快了數個量級。知識庫中 49,746 個區塊各自成為 256 維空間中的一個點。

256 維無法直接視覺化。UMAP 等降維技術可將高維結構投射至 2D 或 3D,同時保留局部鄰域關係。4在 256 維中相近的點,在 3 維中依然相近。全域結構雖是近似的,但叢集是真實存在的。


三種知識拓撲

Kat 對 Obsidian 筆記嵌入的探索,辨識出三種不同的知識拓撲。1每種拓撲反映不同的智識結構,也各有不同的失效模式。

集中式:單一核心概念連結一切

在集中式拓撲中,大多數筆記透過單一主導主題相連。嵌入空間呈現一個位於中心的密集叢集,向外延伸出細長的觸鬚。一位專門撰寫 React 的開發者就會看到這種拓撲:React 是中樞,所有關於測試、狀態管理、部署與工具鏈的筆記都透過它相連。

優勢:在核心領域擁有深厚專業知識。搜尋效果好,因為大多數查詢都落在同一鄰域。

失效模式:脆弱性。如果核心主題變得無關緊要(職涯轉換、技術日落),整個知識結構便失去組織原則。那些僅在與核心的關係中才有意義的筆記會變成孤兒。

分散式:主題叢集中心

在分散式拓撲中,筆記形成數個明確的叢集,由橋接筆記相連。我的知識庫呈現這種拓撲,具有三個主要中心:

叢集 區塊數 佔比 主要主題
AI 與 ML ~13,100 26% Claude Code、代理架構、LLM 研究
設計 ~7,200 14% UI 系統、字型排印、色彩科學、視覺設計
開發 ~5,100 10% FastAPI、SwiftUI、網頁工程、資料庫
收件匣(未處理) ~13,700 28% 原始訊號、未分類擷取

其餘 22% 分佈於靈感、生產力、科學等較小類別。

優勢:韌性。失去一個叢集不會摧毀其他叢集。跨領域連結在叢集邊界處形成,這裡產生最具原創性的洞見。

失效模式:碎片化。如果叢集之間的橋接筆記太薄弱,叢集就會成為智識孤島。我的知識庫在設計與 Claude Code 之間有一條薄弱的橋樑(關於設計代理 UI、提示介面模式的筆記),但設計與純開發之間幾乎沒有橋接(後端架構筆記很少與視覺設計產生連結)。這個缺口就是一個盲點:我思考設計,思考後端工程,但很少同時思考兩者。

分佈式:以關係標註的邊

在分佈式拓撲中,筆記之間的連結帶有描述如何關聯的語義標籤。Kat 的實作使用 LLM 為相鄰筆記之間的邊生成標籤。1不再是匿名的鄰近關係,每條連結都有描述:「矛盾」「延伸」「提供證據」「應用於不同領域」。

優勢:可導航性。分佈式拓撲不僅回答「什麼是相關的?」還回答「如何相關?」。標註使高階推理成為可能:找到反駁某論點的筆記,而不僅是提及它的筆記。

失效模式:成本。為每對連結生成邊標籤的規模呈二次方增長。以我知識庫的 49,746 個區塊來算,窮舉式邊標註大約需要 12 億次 LLM 呼叫。實際做法只標註相似度超過閾值的邊。


相變:當簡化摧毀結構

Pesce、He 與 Caldarelli 研究了神經網路剪枝中的相變現象,發現了一個急遽的臨界點:網路表現出「從協作功能相到無序相的轉變,效能隨之崩潰」。2在臨界點以下,移除連結幾乎不影響功能。到了臨界點,功能驟然崩塌。這種轉變遵循與二階臨界行為一致的標度律——與冰融化為水的數學原理相同。

這與知識整理的類比是直接的。我的訊號評分管線透過相關性閾值將收件匣從 14,771 篇縮減至 5,886 篇。同樣的複合脈絡動態——使代理記憶累積價值的機制——也適用於此:每篇筆記的價值取決於其連結,而非僅是其內容。縮減提升了搜尋品質:低相關性結果減少、叢集更緊密、檢索更快速。但訊號是否流失了?簡化是否跨越了相變臨界點?

剪枝研究指出,答案取決於連通性,而非數量。移除孤立節點(沒有語義鄰居的筆記)對網路功能影響甚微。移除橋接節點(連結原本分離的叢集的筆記)則可能崩潰整個結構,即使被移除的筆記看似個別並不重要。

我的分類管線將相關性閾值從 0.30 提高到 0.40。收件匣數量縮減了 60%,但我並未測量對拓撲的影響。一個具備相變意識的整理策略應該:

  1. 在篩選之前辨識橋接筆記(在相似度圖中具有高中介中心性的筆記)
  2. 無論橋接筆記的個別分數如何,都將其排除在相關性篩選之外
  3. 在每次整理後監控叢集連通性指標
  4. 當某次整理使叢集間橋接密度低於閾值時發出警報
# Sketch: bridge note detection before curation
def identify_bridge_notes(embeddings, threshold=0.7):
    """Find notes that connect otherwise-separate clusters."""
    from sklearn.neighbors import NearestNeighbors
    nn = NearestNeighbors(n_neighbors=10, metric='cosine')
    nn.fit(embeddings)
    distances, indices = nn.kneighbors(embeddings)

    # Bridge score: how many of a note's neighbors are from
    # different clusters than the note itself
    bridge_scores = []
    for i, neighbors in enumerate(indices):
        own_cluster = labels[i]
        cross_cluster = sum(1 for n in neighbors if labels[n] != own_cluster)
        bridge_scores.append(cross_cluster / len(neighbors))

    return bridge_scores

診斷你的知識拓撲

不需要 15,000 篇筆記才能分析知識拓撲。任何擁有 100 篇以上筆記並附帶嵌入的集合都能揭示結構。如果你將 Obsidian 作為 AI 基礎設施使用,你已經擁有原始素材——我知識庫中的一萬七千個訊號最初只是簡單的日常擷取。三個診斷問題:

1. 存在多少個叢集?

對嵌入執行 k-means 或 DBSCAN,計算不同叢集的數量。少於 3 個代表集中式拓撲。3 到 8 個代表分散式。超過 8 個可能代表真正的分佈式拓撲,也可能意味著整理不足(叢集多代表主題多,而這可能意味著任何主題都缺乏深度)。

2. 橋接有多密集?

針對每對叢集,計算在兩個叢集中都有最近鄰的筆記數量。橋接密度低於較小叢集大小的 2%,代表可能存在孤島。我的設計對開發橋接約為 1.4%——低於閾值,印證了我觀察到的盲點。

3. 孤兒比例有多高?

孤兒筆記是指在餘弦相似度閾值(通常為 0.7)內沒有鄰居的筆記。孤兒筆記不一定是壞事——它們可能代表真正新穎的想法。但孤兒率超過 15% 則暗示擷取不一致(筆記與你的知識領域不匹配)或嵌入品質有問題。

我的知識庫孤兒率:約 8%。大多數孤兒是尚未處理為結構化筆記的原始收件匣擷取。排除收件匣後,孤兒率降至 3%,表示已處理的筆記能良好地整合進現有拓撲。


叢集揭示了什麼

上方的視覺化使用了從我知識庫中隨機抽樣的 500 個區塊。叢集對應真實的智識鄰域。

AI 與 ML 中心(佔區塊的 26%)是最密集的叢集。Claude Code 架構、代理設計模式、LLM 研究論文與提示工程技術形成一個緊密的鄰域。密度反映了數量:我閱讀和擷取的 AI/ML 內容比任何其他類別都多。密度也帶來搜尋品質優勢——該領域的查詢能返回高度相關的結果,因為嵌入空間人口稠密。

設計中心(14%)與 AI 與 ML 保持距離。字型排印系統、色彩科學、UI 元件模式與視覺設計參考形成自己的叢集。這種分離是合理的:設計與 AI 工程使用不同的詞彙、不同的推理框架與不同的評估標準。但分離也意味著像「代理輸出應如何格式化以供開發者審閱」這樣的查詢會落入兩個叢集之間的空隙,返回的結果來自其中一側,卻很少來自交集處。

開發中心(10%)與 AI 與 ML 的重疊多於與設計的重疊。FastAPI 模式、資料庫設計與 SwiftUI 架構和 AI 工程筆記共享概念詞彙(兩者都討論程式碼、架構、測試)。詞彙的重疊產生了一個混合區域,DevOps-for-agents 與 infrastructure-for-AI 的筆記都棲息於此。

收件匣光暈(28%)環繞一切。原始擷取、未分類訊號和未處理的書籤形成一片稀疏雲層,與已建立的叢集之間連結薄弱。將收件匣從 14,771 篇縮減至 5,886 篇的訊號評分管線,主要從這個光暈中淘汰:與任何已建立叢集相似度低的筆記。

靈感叢集(6%)佔據設計與收件匣之間的位置。動態字型排印參考、動態設計研究與視覺藝術擷取形成一個鬆散的鄰域。這個叢集之所以存在,是因為我持續擷取視覺靈感,卻很少將這些擷取處理為結構化筆記。這個叢集揭示了一個模式:我廣泛消費視覺靈感,卻狹隘地產出設計作品。消費與產出之間的落差在拓撲中清晰可見——一個具有高進入密度(擷取)但低外出連結(以靈感為基礎延伸的筆記)的叢集。

跨叢集橋接是最有趣的特徵。最薄弱的橋樑連接設計與開發:較小叢集中約 1.4% 的筆記在兩個叢集中都有最近鄰。相比之下,AI 到開發的橋接為 8.3%,反映出我的開發工作有多少涉及 AI 基礎設施。橋接密度能預測新穎作品從何處湧現。我的 boids-to-agents 文章源自一篇橋接筆記,它連結了湧現行為研究(AI 與 ML 叢集)與群聚演算法實作(開發叢集)。若沒有這座橋樑,這兩群筆記永遠不會碰撞。

拓撲也影響檢索品質。驅動我知識庫搜尋的混合檢索器同時使用 BM25 關鍵字比對與向量相似度——但其效能取決於底層叢集結構。落在密集叢集中的查詢返回精確結果;落在叢集之間的查詢則需要 BM25 回退來彌補空隙。

知識庫旁還存在第二個嵌入資料庫:工具鏈搜尋資料庫,包含 653 個檔案中的 4,518 個區塊。5工具鏈拓撲截然不同:一個密集的單一叢集(Claude Code 設定),加上測試、hooks 與 skills 的小型衛星叢集。單一文化拓撲適用於工具鏈,因為工具鏈只有單一用途。一個呈現單一文化拓撲的知識庫則是一個警示訊號。


重塑你的拓撲

拓撲並非固定不變。四個刻意的行動能重塑知識結構。

撰寫橋接筆記。如果兩個叢集缺乏連結,就撰寫明確跨越它們的筆記。我的設計到 AI 橋接之所以薄弱,是因為我很少撰寫關於設計代理介面的內容。一篇名為「代理輸出的 UX 模式」的筆記,同時引用設計原則與代理架構研究,就能創造一個橋接點。

偵測孤兒。每月執行一次孤兒掃描並做出決策:整合、歸檔或刪除。代表萌芽想法的孤兒筆記應透過橋接筆記與現有叢集連結。僅為一次性參考的孤兒筆記則可以歸檔。

整理後監控。在任何批次整理(刪除、歸檔、篩選)前後,測量叢集連通性。如果叢集間橋接密度下降,代表整理移除了應予保留的橋接筆記。

閱讀邊界處的內容。最有價值的閱讀目標不在你最密集的叢集深處,而在叢集之間的邊緣。一篇橋接 AI 工程與視覺設計的論文,比另一篇加深本已密集的 AI 叢集的論文,能產生更多新穎的連結。


關鍵要點

  • 嵌入空間賦予知識庫形狀。這個形狀揭示智識拓撲:你將注意力集中在哪裡、在哪裡迴避、以及想法在哪些跨領域處相連。
  • 三種拓撲各有不同的失效模式。集中式脆弱。分散式缺乏橋接筆記就會碎片化。分佈式維護成本高但導航能力最豐富。
  • 相變使整理呈非線性。移除閾值以下的筆記幾乎不影響結構。到了臨界點,功能崩潰。橋接筆記必須在任何批次整理之前被辨識並保護。
  • 收件匣光暈是整理的前線。原始擷取在已建立的叢集周圍形成稀疏雲層。訊號評分篩選光暈,但拓撲揭示了篩選究竟保留還是摧毀了橋接連結。
  • 閱讀邊界處的內容。最高價值的筆記連結叢集,而非加深叢集。孤兒偵測與橋接密度指標能指引閱讀優先序。

常見問題

什麼是文字嵌入?它們如何表示知識?

文字嵌入將文字段落轉換為高維空間中的數字列表(向量),其中距離對應語義含義。討論相似主題的兩段文字無論是否共享詞彙,都會彼此接近。像 potion-base-8M 這樣的 256 維嵌入模型會將每個文字區塊轉換為 256 個座標。當應用於整個知識庫時,向量的集合形成一種空間結構,其中叢集、橋接與間隙揭示了內容的智識拓撲。

如何視覺化我的 Obsidian 知識庫嵌入空間?

使用句子嵌入模型(Model2Vec 的 potion-base-8M 速度快且免費)為筆記生成嵌入,然後使用 UMAP 將高維向量投射至 2D 或 3D。將嵌入儲存在資料庫中(附帶 vec 擴充的 SQLite 即可),執行 UMAP 投射,再以任何 3D 繪圖函式庫進行視覺化。產生的點雲揭示知識庫的叢集結構:頻繁撰寫之處形成密集區域、主題之間呈現稀疏間隙、不同領域交匯處則是橋接地帶。

什麼是知識整理中的相變?

知識整理中的相變是指移除筆記導致知識結構驟然崩潰而非逐漸劣化的臨界點。神經網路剪枝研究顯示,隨著連結被移除,網路持續維持功能,直到觸及某個急遽的閾值,效能便瞬間崩潰。同樣的動態適用於知識庫:移除孤立的低價值筆記影響甚微,但移除連結叢集的橋接筆記卻可能碎片化拓撲,即使這些筆記個別看來並不重要。具備相變意識的整理策略會在篩選之前辨識並保護橋接筆記。

需要多少篇筆記才能進行有意義的拓撲分析?

大約 100 篇附帶嵌入的筆記即可浮現有意義的叢集結構。少於 100 篇可能無法形成明確叢集。100 至 500 篇可揭示基本拓撲(2 至 4 個叢集)。500 至 5,000 篇可揭示更細緻的結構,包括橋接地帶與孤兒模式。超過 5,000 篇後拓撲趨於穩定,新增筆記更多是加深現有叢集而非創建新叢集。關鍵指標不是總數而是叢集多樣性:你的筆記是否涵蓋至少三個不同的主題領域?

Obsidian 嵌入與知識圖譜有何不同?

知識圖譜透過你手動建立的明確連結(反向連結、標籤、MOC)來連接筆記。嵌入則透過模型自動發現的語義相似性來連接筆記。兩者互補:知識圖譜捕捉你有意為之的結構,嵌入則揭示你從未明確建立的潛在結構。沒有任何反向連結的筆記,可能因以不同詞彙討論相關概念而在嵌入空間中彼此鄰近。同時運用兩者——圖譜用於導航、嵌入用於發現——能打造一個能浮現你本會錯過之連結的第二大腦。

大型 Obsidian 知識庫的最佳檢索策略是什麼?

結合 BM25 關鍵字搜尋與向量相似度的混合檢索優於單獨使用任一方法。BM25 捕捉嵌入可能遺漏的精確術語匹配,嵌入則捕捉關鍵字搜尋無法偵測的概念相似性。Reciprocal Rank Fusion(RRF)合併兩份結果列表。對於超過 10,000 篇筆記的知識庫,在初始檢索後加入重新排序步驟可進一步提升精確度。知識庫的拓撲影響哪種策略主導:密集叢集有利於向量搜尋,稀疏或術語密集的區域則有利於 BM25。


參考文獻


  1. Kat(@poetengineer__),「Exploring shapes of thoughts: extracted my Obsidian notes’ embeddings and arranged them as a 3D network using 3 different topologies」,發佈於 X,2026年2月。三種拓撲:集中式、分散式、以 LLM 標註邊的分佈式。 

  2. Pesce, Diego, Yang-Hui He, and Guido Caldarelli, “Phase Transitions in Neural Networks Pruning,” arXiv:2602.15224, February 2026. arxiv.org. 從協作功能相到無序相的急遽轉變,標度律與二階臨界行為一致。 

  3. MinishLab, “Model2Vec: Fast State-of-the-Art Static Embeddings,” 2024. github.com/MinishLab/model2vec. potion-base-8M:760 萬參數,256 維嵌入,約達 all-MiniLM-L6-v2 90% 效能。 

  4. McInnes, Leland, John Healy, and James Melville, “UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction,” arXiv:1802.03426, 2018. arxiv.org. 較 t-SNE 更佳地保留全域結構,且執行效能更優。 

  5. 作者的語義記憶系統。Model2Vec + sqlite-vec + FTS5 BM25 + RRF 混合搜尋,涵蓋 49,746 個區塊。模組:embedder.pyvector_index.pychunker.pyretriever.py,位於 ~/.claude/lib/memory/。 

  6. 作者的訊號評分管線。透過相關性閾值調整,將收件匣從 14,771 篇縮減至 5,886 篇(縮減 60%)。記載於The Signal Scoring Pipeline。 

  7. 作者的知識庫拓撲分析。從 49,746 個區塊中隨機抽樣 500 點,依知識庫目錄結構進行主題分類,PCA 投射至 3D 以進行互動式視覺化。 

相關文章

從鳥群到智能體:AI 系統的群聚規則

Craig Reynolds 的 boids 演算法展示了三個局部規則如何產生全域協同。相同的原理與失效模式也出現在多智能體 AI 系統中。

2 分鐘閱讀

給開發者的 GLSL:真正可用的著色器實驗室

用預設與即時控制快速建立 GLSL 直覺的實作型實驗室,基於零框架 WebGL。

3 分鐘閱讀

真正有效的 AI 代理記憶體架構

混合 BM25+向量檢索、以 Markdown 儲存技能、漂移偵測機制。2026年3月五篇論文驗證了同一套從生產環境失敗中誕生的架構。

2 分鐘閱讀