思考のトポロジー:埋め込み空間から見たObsidian
15,800件のノート。49,746個のチャンク。そのひとつひとつが256次元のベクトルです。7 データセット全体にUMAPをかけ、3次元へ投影し、画面上でゆっくり回してみました。第二の脳(セカンドブレイン)には形があり、その形は、ノート自身が決して語らなかったことを教えてくれました。私の知的な仕事は3つの濃密なハブ(Claude Code、デザインシステム、AI研究)の周りに集まり、それらを結ぶのは交差点となるノートの細いブリッジ。そしてその外側には、どこにもつながらない孤立したシグナルがまばらなハローとなって広がっていたのです。
知識の形は、自分がどこで考えているか、どこで考えることを避けているか、そしてアイデアが衝突する余地がどこに残っているかを教えてくれます。エージェントの振る舞いを形づくるコンテキストという設計は、人間の知識も同じように形づくるのです。
要するに: 15,800件のObsidianノートを256次元の埋め込み空間に投影すると、3つの知識トポロジー——集中型、分権型、分散型——が現れ、それぞれに固有の破綻パターンがあります。クラスタとクラスタを結ぶブリッジノートこそが最も新しい洞察を生み、相転移の研究は、不用意な整理が鋭い閾値を境に知識構造を崩壊させうることを示しています。
要約(TL;DR)
埋め込み空間は、知識ベースに空間的な構造を与え、知的なトポロジーを浮かび上がらせます。Kat(@poetengineer__)はObsidianのvaultについて3つのトポロジーを示しました。すべてを一つの中核アイデアがつなぐ集中型、トピックごとのハブが分かれる分権型、そしてアイデア間のエッジに意味的な関係のラベルが付く分散型です。1 私の15,800ファイル・49,746チャンクのvaultは、3つの支配的なクラスタを持つ分権型でした。ニューラルネットワークの枝刈りにおける相転移を扱ったPesceらの研究は、単純化(整理、アーカイブ、フィルタリング)がどこで知識構造の機能を壊す閾値を越えるのかを、数学的な枠組みとして与えてくれます。2 以下では、埋め込みが何を捉えているのか、実際のvaultデータで見る3つの知識トポロジー、自分のトポロジーを診断する方法、そして実際のvaultから作ったインタラクティブなエクスプローラを扱います。
埋め込みが実際に捉えているもの
テキスト埋め込みは、文章を数値の並びに変換します。テキストがどうトークンになるかはトークン化ビジュアライザの記事で扱いました。埋め込みはその先へ進みます。トークンは、距離が意味に対応する高次元空間の座標になるのです。
「コンテキスト注入のためのClaude Codeフック」について書かれた2つの文章は、埋め込み空間で近くに位置します。「Claude Codeフック」の文章と「iOS SwiftUIのナビゲーション」の文章は遠く離れます。この距離はキーワードの重なりではありません。共通する単語が一つもなくても、同じ概念を論じていれば近くに着地します。逆に多くの単語を共有していても(「システムがデータを処理する」など)、周囲の文脈が違えば遠く離れるのです。
私のvaultではModel2Vecのpotion-base-8Mモデルを使っています。760万パラメータで256次元の埋め込みを生成するモデルです。3 より大きなsentence transformer(bge-base-en-v1.5)から蒸留されており、all-MiniLM-L6-v2の性能のおよそ90%を保ちながら静的モデルとして動作するため、CPUでもGPUでも桁違いに高速です。vault内の49,746チャンクは、それぞれ256次元空間の一点になります。
256次元をそのまま可視化することはできません。そこでUMAPのような次元削減手法を使い、局所的な近傍関係を保ったまま2次元や3次元へ投影します。4 256次元で近かった点は、3次元でも近いままです。全体構造は近似的ですが、クラスタは本物です。
知識の3つのトポロジー
KatによるObsidianノートの埋め込み探索は、3つの異なる知識トポロジーを特定しました。1 それぞれが異なる知的構造を反映し、異なる壊れ方をします。
集中型(centralized):すべてをつなぐ一つの中核アイデア
集中型のトポロジーでは、ほとんどのノートが単一の支配的なテーマを介してつながります。埋め込み空間には中心に一つの密なクラスタがあり、そこから細い触手が外へ伸びていく形になります。Reactについてだけ書き続ける開発者なら、この形になるでしょう。Reactがハブであり、テスト、状態管理、デプロイ、ツールに関するすべてのノートがそこを経由して結ばれます。
強み: 中心領域における深い専門性。ほとんどのクエリが同じ近傍に着地するため、検索がよく効きます。
破綻パターン: 脆さです。中心テーマが意味を失えば(キャリアの転換、技術の終息)、知識構造全体がその組織原理を失います。中心との関係でしか意味をなさないノートは、孤立ノートに変わってしまうのです。
分権型(decentralized):トピックごとにまとまるハブ
分権型では、ノートがいくつかの明確なクラスタを形成し、それらをブリッジノートが結びます。私のvaultはこの形で、3つの支配的なハブを持っています。
| クラスタ | チャンク数 | 全体比 | 主なテーマ |
|---|---|---|---|
| AI・ML | 約13,100 | 26% | Claude Code、エージェント・アーキテクチャ、LLM研究 |
| デザイン | 約7,200 | 14% | UIシステム、タイポグラフィ、色彩科学、ビジュアルデザイン |
| 開発 | 約5,100 | 10% | FastAPI、SwiftUI、Webエンジニアリング、データベース |
| Inbox(未処理) | 約13,700 | 28% | 生のシグナル、未分類のキャプチャ |
残りの22%は、インスピレーション、生産性、科学、その他の小さなカテゴリに分散しています。
強み: 頑健さです。一つのクラスタを失っても他は壊れません。クラスタの境界では学際的な結びつきが生まれ、そこから最も新しい洞察が出てきます。
破綻パターン: 断片化です。クラスタ間のブリッジノートが細すぎると、クラスタは知的なサイロになります。私のvaultでは、デザインとClaude Codeの間には細いブリッジがあります(エージェントのUI設計、プロンプトのインターフェースパターンに関するノート)が、デザインと純粋な開発の間にはほとんどブリッジがありません。バックエンド設計のノートは、ビジュアルデザインとめったに結びつかないのです。この隙間こそが盲点です。デザインについても考える、バックエンドについても考える。けれども、その二つを一緒に考えることは滅多にない、というわけです。
分散型(distributed):関係でラベル付けされたエッジ
分散型では、ノート同士のつながりに、アイデアがどう関係しているかを述べる意味的なラベルが付きます。Katの実装では、近傍ノート間のエッジラベルをLLMに生成させていました。1 匿名の「近さ」ではなく、一つひとつのつながりに説明が付くのです。「矛盾する」「拡張する」「根拠を与える」「別の領域に応用する」といった具合に。
強み: 辿りやすさです。分散型は「何が関連しているか」だけでなく「どう関連しているか」にも答えます。ラベルがあることで高次の推論が可能になります。ある主張に言及しているノートではなく、それに矛盾するノートを探せるのです。
破綻パターン: コストです。すべてのつながりにエッジラベルを生成すると、計算量は二乗で増えます。私のvaultの49,746チャンクを網羅的にラベル付けするなら、LLMの呼び出しはおよそ12億回。現実的な実装では、類似度が一定の閾値を超えたエッジだけにラベルを付けます。
相転移:単純化が構造を壊すとき
Pesce、He、Caldarelliはニューラルネットワークの枝刈りにおける相転移を研究し、鋭い閾値を見出しました。ネットワークは「協調的で機能する相から、性能が崩壊した無秩序な相へと転移する」というのです。2 閾値より手前では、接続を削っても機能はほとんど変わりません。閾値に達すると、機能は突然崩壊します。この転移は二次の臨界現象と整合するスケーリング則に従います——氷が水に融けるのを記述するのと同じ数学です。
知識の整理との対応は直接的です。私のシグナルスコアリングのパイプライン6は、関連度の閾値によってInboxを14,771件から5,886件へ減らしました。エージェントの記憶が価値を積み上げていく複利で効くコンテキストの力学は、ここでもそのまま当てはまります。ノートの価値は内容だけでなく、そのつながりに依存するのです。削減によって検索の質は上がりました。関連度の低い結果が減り、クラスタは締まり、取得は速くなりました。しかし、失われたシグナルはなかったのでしょうか。この単純化は、相転移の閾値を越えていなかったのでしょうか。
枝刈りの研究が示唆する答えは、量ではなく接続性にあります。孤立したノード(意味的な隣人を持たないノート)を削っても、ネットワークの機能への影響はごくわずかです。一方、ブリッジノード(それがなければ切り離されてしまうクラスタ同士を結ぶノート)を削ると、その一つひとつは重要に見えなくても、構造そのものが崩れかねません。
私のトリアージ・パイプラインは、関連度の閾値を0.30から0.40へ引き上げました。Inboxが60%縮んだことは件数で測っています。しかし、トポロジーへの影響は測っていません。相転移を意識した整理の戦略なら、こうなるはずです。
- フィルタリングの前にブリッジノートを特定する(類似度グラフで媒介中心性の高いノート)
- 個別スコアにかかわらず、ブリッジノートを関連度フィルタから除外する
- 整理を一巡するたびにクラスタ接続性の指標を監視する
- 整理の一手がクラスタ間のブリッジ密度を閾値以下に落としたら警告を出す
# 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インフラとして使うなら、材料はもう手元にあります——私のvaultにある1万7,000件のシグナルも、始まりは日々の素朴なキャプチャでした。診断の問いは3つです。
1. クラスタはいくつあるか
埋め込みにk-meansやDBSCANをかけ、はっきり分かれるクラスタの数を数えます。3つ未満なら集中型、3〜8なら分権型が疑われます。8を超える場合は、本当に分散型なのか、それとも整理が足りないのか(クラスタが多い=トピックが多い、それはどのトピックにも深さがないという意味かもしれません)を見極める必要があります。
2. ブリッジはどれくらい密か
クラスタの各ペアについて、両方のクラスタに最近傍を持つノートを数えます。小さいほうのクラスタの規模に対してブリッジ密度が2%を下回るなら、サイロ化の兆候です。私のデザイン↔開発のブリッジは約1.4%。閾値を下回っており、感じていた盲点を裏づけました。
3. 孤立ノートは何パーセントか
孤立ノートとは、コサイン類似度の閾値(通常0.7)以内に隣人がいないノートのことです。孤立していること自体は悪ではありません。本当に新しいアイデアかもしれないからです。ただし孤立率が15%を超えるなら、キャプチャが一貫していない(自分の知識領域と噛み合わないノート)か、埋め込みの品質に問題があるかのどちらかでしょう。
私のvaultの孤立率は約8%。その大半は、構造化されたノートに処理されていない生のInboxキャプチャです。Inboxを除くと孤立率は3%まで下がり、処理済みのノートは既存のトポロジーにうまく組み込まれていることが分かります。
クラスタが明かすもの
上の可視化は、vaultから無作為に抽出した500チャンクを使っています。クラスタは、実際の知的な「界隈」に対応しています。
AI・MLのハブ(チャンクの26%)が最も密なクラスタです。Claude Codeのアーキテクチャ、エージェントの設計パターン、LLMの研究論文、プロンプトエンジニアリングの技法が、ぎっしり詰まった一帯を作っています。この密度は分量の反映です。AI/ML関連は他のどのカテゴリよりも多く読み、多く記録しています。密度は検索品質の優位にもつながります。埋め込み空間が十分に埋まっているため、この領域のクエリは高い精度で結果を返すのです。
デザインのハブ(14%)は、AI・MLから距離を置いた位置にあります。タイポグラフィのシステム、色彩科学、UIコンポーネントのパターン、ビジュアルデザインの参照資料が独自のクラスタを作ります。この分離自体は妥当です。デザインとAIエンジニアリングは、語彙も、推論の枠組みも、評価基準も違います。ただし分離は同時に、「開発者のレビュー向けにエージェントの出力はどう整形すべきか」といった問いが二つのクラスタの隙間に落ちることを意味します。どちらか一方からは結果が返るのに、交差点からはめったに返ってこないのです。
開発のハブ(10%)は、デザインよりもAI・MLと重なります。FastAPIのパターン、データベース設計、SwiftUIのアーキテクチャは、AIエンジニアリングのノートと概念語彙を共有しています(どちらもコード、アーキテクチャ、テストを論じます)。語彙の重なりが混成地帯を生み、そこにエージェント向けDevOpsやAI向けインフラのノートが住みついています。
Inboxのハロー(28%)は、そのすべてを取り囲んでいます。生のキャプチャ、未分類のシグナル、未処理のブックマークが、確立したクラスタへの弱いつながりしか持たないまばらな雲を作ります。Inboxを14,771件から5,886件へ減らしたシグナルスコアリングのパイプラインが主に削ったのは、このハローでした。既存のどのクラスタとも類似度の低いノートたちです。
インスピレーションのクラスタ(6%)は、デザインとInboxの中間に位置します。キネティック・タイポグラフィの参照、モーションデザインの研究、ビジュアルアートのキャプチャがゆるやかな一帯を作ります。このクラスタが存在するのは、視覚的なインスピレーションを絶えず集めながら、それを構造化されたノートへ処理することが少ないからです。ここにはパターンが表れています。視覚的なインスピレーションは広く消費しているのに、デザインの成果物は狭くしか生んでいません。消費と生産の落差が、流入密度(キャプチャ)は高いのに流出(インスピレーションを土台にしたノート)が少ないクラスタとして、トポロジーに可視化されているわけです。
クラスタ間のブリッジが最も興味深い特徴です。最も細いブリッジはデザインと開発を結ぶもので、小さいほうのクラスタの約1.4%のノートが両方のクラスタに最近傍を持ちます。対してAI↔開発のブリッジは8.3%。開発の仕事のどれだけがAIインフラに関わっているかを映しています。ブリッジ密度は、新しい仕事がどこから生まれるかを予測します。私の「boidsからエージェントへ」の記事は、創発的振る舞いの研究(AI・MLクラスタ)と群れアルゴリズムの実装(開発クラスタ)を結んだ一枚のブリッジノートから生まれました。そのブリッジがなければ、二つのノート群は永遠に衝突しなかったでしょう。
トポロジーは検索の質そのものも左右します。vault検索を支えるハイブリッド検索はBM25のキーワード一致とベクトル類似度の両方を使いますが、その効き方は下地となるクラスタ構造に依存します。密なクラスタに着地するクエリは精密な結果を返し、クラスタの狭間に落ちるクエリは、隙間を埋めるBM25のフォールバックを必要とするのです。
vaultと並んで、もう一つの埋め込みデータベースがあります。653ファイル・4,518チャンクのツールチェーン検索DBです。5 こちらのトポロジーは根本的に異なります。単一の密なクラスタ(Claude Codeの設定)に、テスト、フック、スキルの小さな衛星クラスタが付いた形です。ツールチェーンは目的が一つなので、このモノカルチャー型のトポロジーでうまく機能します。しかし知識のvaultがモノカルチャー型になっていたら、それは危険信号でしょう。
トポロジーを作り変える
トポロジーは固定されたものではありません。意図的な4つの行動が、知識の構造を作り変えます。
ブリッジノートを書く。 二つのクラスタにつながりがないなら、それらをまたぐ概念を明示的に結ぶノートを書きます。私のデザイン↔AIのブリッジが細いのは、エージェントのインターフェース設計についてほとんど書かないからです。「エージェント出力のためのUXパターン」と題し、デザイン原則とエージェント・アーキテクチャの研究の両方を引くノートがあれば、そこにブリッジ点が生まれます。
孤立ノートを検出する。 月に一度、孤立ノートを走査して判断します。統合するか、アーカイブするか、削除するか。芽生えたばかりのアイデアを表す孤立ノートは、ブリッジノートを通じて既存のクラスタへ接続すべきです。一度きりの参照でしかない孤立ノートはアーカイブで構いません。
整理のあとに測る。 一括の整理(削除、アーカイブ、フィルタリング)の前後で、クラスタの接続性を測ります。クラスタ間のブリッジ密度が下がっているなら、その整理は残すべきブリッジノートを削ってしまったということです。
境界で読む。 最も価値の高い読書対象は、最も密なクラスタのさらに奥ではありません。クラスタとクラスタの境目にあります。AIエンジニアリングとビジュアルデザインを橋渡しする一本の論文は、すでに密なAIクラスタをもう一段深める論文よりも、多くの新しいつながりを生むはずです。
要点
- 埋め込み空間は知識ベースに形を与える。 その形は知的なトポロジーを明かします。どこに注意を集中させ、どこを避け、どこで領域をまたいでアイデアがつながっているのか。
- 3つのトポロジーは壊れ方が違う。 集中型は脆く、分権型はブリッジノートがなければ断片化します。分散型は維持コストが高いものの、辿りやすさは随一です。
- 相転移が整理を非線形にする。 閾値より手前でノートを削っても構造はほとんど変わりません。閾値に達した瞬間、機能は崩壊します。一括の整理に入る前に、ブリッジノートを特定して守る必要があります。
- Inboxのハローが整理の最前線。 生のキャプチャは確立したクラスタの周りにまばらな雲を作ります。シグナルスコアリングはこのハローを濾しますが、その濾過がブリッジを保ったのか壊したのかを教えてくれるのはトポロジーです。
- 境界で読む。 最も価値の高いノートは、クラスタを深めるものではなく、クラスタを結ぶものです。孤立ノートの検出とブリッジ密度の指標が、読むべき順番を示してくれます。
よくある質問
テキスト埋め込みとは何で、どのように知識を表現するのですか?
テキスト埋め込みは、文章を高次元空間の数値の並び(ベクトル)に変換します。この空間では距離が意味の近さに対応します。似た話題を扱う2つの文章は、共通の単語があるかどうかに関わらず近くに位置します。potion-base-8Mのような256次元の埋め込みモデルは、各テキストチャンクを256個の座標に変換します。これを知識ベース全体に適用すると、ベクトルの集合が空間的な構造を作り、そのクラスタ、ブリッジ、隙間が、内容の知的なトポロジーを明かしてくれます。
自分のObsidian vaultの埋め込み空間を可視化するにはどうすればよいですか?
まず文埋め込みモデルでノートの埋め込みを生成します(Model2Vecのpotion-base-8Mは高速かつ無料です)。次にUMAPで高次元ベクトルを2次元または3次元へ投影します。埋め込みはデータベースに保存し(vec拡張を入れたSQLiteがよく機能します)、UMAP投影を実行して、任意の3Dプロットライブラリで描画します。得られた点群が、vaultのクラスタ構造を明かします。頻繁に書いている密な領域、トピック間のまばらな隙間、異なる領域が交差するブリッジ地帯が見えてくるはずです。
知識の整理における相転移とは何ですか?
知識の整理における相転移とは、ノートを削っていったときに、知識構造が徐々に劣化するのではなく突然崩壊する閾値のことです。ニューラルネットワークの枝刈り研究によれば、ネットワークは接続を削られても機能を保ちますが、ある鋭い閾値で性能が崩壊します。知識ベースにも同じ力学が働きます。孤立した価値の低いノートを削っても影響はごくわずかですが、クラスタ同士を結ぶブリッジノートを削ると、その1件1件は重要に見えなくてもトポロジーが分断されかねません。相転移を意識した整理では、フィルタリングの前にブリッジノートを特定し、保護します。
意味のあるトポロジー分析には何件のノートが必要ですか?
意味のあるクラスタ構造は、埋め込みを付けたノートがおよそ100件あれば現れます。100件未満では、はっきりしたクラスタが形成されないことがあります。100〜500件では基本的なトポロジー(2〜4クラスタ)が見え、500〜5,000件ではブリッジ地帯や孤立ノートのパターンを含む細やかな構造が見えてきます。5,000件を超えるとトポロジーは安定し、ノートを追加しても新しいクラスタが生まれるより既存クラスタが深まる方向に働きます。鍵となる指標は総数ではなく、クラスタの多様性です。自分のノートは、少なくとも3つの異なるトピック領域にまたがっているでしょうか。
Obsidianの埋め込みとナレッジグラフはどう違うのですか?
ナレッジグラフは、自分で手作業で作った明示的なリンク(バックリンク、タグ、MOC)でノートをつなぎます。一方、埋め込みはモデルが自動的に見つけた意味的な類似度でノートをつなぎます。両者は補完的です。ナレッジグラフが意図した構造を捉えるのに対し、埋め込みは自分では一度も明示しなかった潜在的な構造を明かします。バックリンクを共有しないノート同士でも、異なる語彙で関連する概念を論じていれば埋め込み空間では近くに座ります。ナビゲーションにはグラフ、発見には埋め込み——両方を併用すれば、見逃していたつながりを浮かび上がらせる第二の脳になります。
大規模なObsidian vaultに最適な検索戦略は何ですか?
BM25のキーワード検索とベクトル類似度を組み合わせたハイブリッド検索が、どちらか一方だけを使うより優れています。BM25は埋め込みが取りこぼす厳密な用語一致を拾い、埋め込みはキーワード検索では検出できない概念的な近さを拾います。2つの結果リストはReciprocal Rank Fusion(RRF)で統合します。1万件を超えるvaultでは、初回検索のあとに再ランキングの段階を加えると精度がさらに上がります。どちらの手法が優位になるかはvaultのトポロジー次第です。密なクラスタではベクトル検索が、まばらな領域や語彙の重い領域ではBM25が有利になります。
参考文献
-
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月。3つのトポロジー:集中型、分権型、そしてLLMがエッジにラベルを付けた分散型。 ↩↩↩
-
Pesce, Diego, Yang-Hui He, and Guido Caldarelli, “Phase Transitions in Neural Networks Pruning,” arXiv:2602.15224、2026年2月。arxiv.org. 協調的で機能する相から無秩序な相への鋭い転移。二次の臨界現象と整合するスケーリング則。 ↩↩
-
MinishLab, “Model2Vec: Fast State-of-the-Art Static Embeddings,” 2024. github.com/MinishLab/model2vec. potion-base-8M:760万パラメータ、256次元の埋め込み、all-MiniLM-L6-v2のおよそ90%の性能。 ↩
-
McInnes, Leland, John Healy, and James Melville, “UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction,” arXiv:1802.03426、2018年。arxiv.org. t-SNEより全体構造の保持に優れ、実行速度も上回る。 ↩
-
著者の意味記憶システム。Model2Vec + sqlite-vec + FTS5 BM25 + RRFによるハイブリッド検索を49,746チャンクに対して実行。モジュールは
~/.claude/lib/memory/内のembedder.py、vector_index.py、chunker.py、retriever.py。 ↩ -
著者のシグナルスコアリング・パイプライン。関連度の閾値調整により、Inboxを14,771件から5,886件へ(60%)削減。詳細はシグナルスコアリング・パイプラインを参照。 ↩
-
著者によるvaultのトポロジー分析。49,746チャンクから500点を無作為抽出し、vaultのディレクトリ構造でトピックを分類、インタラクティブな可視化のためPCAで3次元へ投影。 ↩