Topologies de la pensée : Obsidian dans l'espace des embeddings
15 800 notes. 49 746 segments. Chaque segment est un vecteur à 256 dimensions.7 J’ai passé l’ensemble du jeu de données dans UMAP, projeté le résultat en trois dimensions, puis je l’ai fait tourner lentement à l’écran. Mon second cerveau avait une forme, et cette forme m’a appris ce que les notes elles-mêmes ne m’avaient jamais dit : mon travail intellectuel se concentre autour de trois pôles denses (Claude Code, systèmes de design, recherche en IA), reliés par de minces passerelles de notes d’intersection et entourés d’un halo clairsemé de signaux orphelins qui ne se rattachent à rien.
La forme de vos connaissances révèle où vous pensez, où vous évitez de penser, et où vos idées ont la place d’entrer en collision. La même architecture du contexte qui structure le comportement des agents structure aussi la connaissance humaine.
En bref : projeter 15 800 notes Obsidian dans un espace d’embeddings à 256 dimensions fait apparaître trois topologies de la connaissance — centralisée, décentralisée et distribuée —, chacune avec ses propres modes de défaillance. Les notes-passerelles entre grappes produisent les intuitions les plus originales, et les travaux sur les transitions de phase montrent qu’une curation négligente peut faire s’effondrer votre structure de connaissances à un seuil très net.
TL;DR
Les espaces d’embeddings donnent aux bases de connaissances une structure spatiale qui révèle leur topologie intellectuelle. Kat (@poetengineer__) a mis en évidence trois topologies pour les coffres Obsidian : centralisée (une idée centrale relie tout), décentralisée (des pôles thématiques en grappes) et distribuée (des arêtes entre idées, étiquetées par leur relation sémantique).1 Mon coffre de 15 800 fichiers, découpé en 49 746 segments, présente une topologie décentralisée avec trois grappes dominantes. Les travaux de Pesce et de ses coauteurs sur les transitions de phase dans l’élagage des réseaux de neurones fournissent un cadre mathématique pour comprendre à quel moment la simplification (curation, archivage, filtrage) franchit le seuil au-delà duquel la structure de connaissances cesse de fonctionner.2 Au programme : ce que capturent les embeddings, trois topologies illustrées par des données réelles, comment diagnostiquer la vôtre, et un explorateur interactif construit à partir de mon propre coffre.
Ce que les embeddings capturent réellement
Un embedding de texte transforme un passage en une liste de nombres. L’article sur le visualiseur de tokenisation expliquait comment un texte devient des tokens. Les embeddings vont plus loin : les tokens deviennent des coordonnées dans un espace de grande dimension où la distance correspond au sens.
Deux passages traitant des « hooks Claude Code pour l’injection de contexte » se retrouvent côte à côte dans l’espace des embeddings. Un passage sur les « hooks Claude Code » et un passage sur « la navigation SwiftUI sous iOS » se retrouvent très éloignés. Cette distance n’est pas un recouvrement de mots-clés. Deux passages peuvent ne partager aucun mot et rester voisins s’ils traitent des mêmes concepts. Deux passages peuvent partager beaucoup de mots (« le système traite les données ») et se retrouver aux antipodes si le contexte environnant diffère.
Mon coffre s’appuie sur le modèle potion-base-8M de Model2Vec : 7,6 millions de paramètres pour des embeddings à 256 dimensions.3 Le modèle est distillé à partir d’un sentence transformer plus lourd (bge-base-en-v1.5) et atteint environ 90 % des performances d’all-MiniLM-L6-v2 tout en fonctionnant comme un modèle statique — plusieurs ordres de grandeur plus rapide, sur CPU comme sur GPU. Chacun des 49 746 segments de mon coffre devient un point dans un espace à 256 dimensions.
Impossible de visualiser directement 256 dimensions. Les techniques de réduction de dimension comme UMAP projettent cette structure en 2D ou en 3D tout en préservant les voisinages locaux.4 Les points proches en 256 dimensions le restent en 3 dimensions. La structure globale n’est qu’approximative, mais les grappes, elles, sont réelles.
Trois topologies de la connaissance
L’exploration menée par Kat sur les embeddings de notes Obsidian a dégagé trois topologies de la connaissance bien distinctes.1 Chacune traduit une structure intellectuelle différente, et chacune a ses propres modes de défaillance.
Centralisée : une idée centrale qui relie tout
Dans une topologie centralisée, la plupart des notes se rattachent à un thème dominant unique. L’espace des embeddings montre alors une grappe dense au centre, d’où partent de fines vrilles. Un développeur qui n’écrirait que sur React obtiendrait cette topologie : React est le pôle, et chaque note sur les tests, la gestion d’état, le déploiement ou l’outillage y passe.
Point fort : une expertise profonde dans le domaine central. La recherche fonctionne bien, car la plupart des requêtes atterrissent dans le même voisinage.
Mode de défaillance : la fragilité. Si le thème central perd sa pertinence (une reconversion, une technologie abandonnée), toute la structure perd son principe organisateur. Les notes qui n’avaient de sens que par rapport au centre deviennent orphelines.
Décentralisée : des pôles thématiques en grappes
Dans une topologie décentralisée, les notes forment plusieurs grappes distinctes, reliées par des notes-passerelles. Mon coffre relève de ce cas, avec trois pôles dominants :
| Grappe | Segments | % du total | Thèmes principaux |
|---|---|---|---|
| IA & ML | ~13 100 | 26 % | Claude Code, architecture d’agents, recherche sur les LLM |
| Design | ~7 200 | 14 % | systèmes UI, typographie, science des couleurs, design visuel |
| Développement | ~5 100 | 10 % | FastAPI, SwiftUI, ingénierie web, bases de données |
| Inbox (non traitée) | ~13 700 | 28 % | signaux bruts, captures non triées |
Les 22 % restants se répartissent entre Inspiration, Productivité, Science et quelques catégories plus modestes.
Point fort : la résilience. Perdre une grappe ne détruit pas les autres. Les connexions interdisciplinaires se forment aux frontières entre grappes, et c’est là que naissent les intuitions les plus originales.
Mode de défaillance : la fragmentation. Si les notes-passerelles entre grappes sont trop rares, celles-ci deviennent des silos intellectuels. Mon coffre comporte une passerelle ténue entre Design et Claude Code (notes sur la conception d’interfaces d’agents, motifs d’interface de prompt), mais presque aucune entre Design et Développement pur (les notes d’architecture backend rejoignent rarement le design visuel). Ce vide est un angle mort : je pense au design et je pense à l’ingénierie backend, mais je pense rarement aux deux ensemble.
Distribuée : des arêtes étiquetées par la relation
Dans une topologie distribuée, les liens entre notes portent des étiquettes sémantiques qui décrivent comment les idées se répondent. L’implémentation de Kat faisait appel à un LLM pour générer ces étiquettes entre notes voisines.1 Au lieu d’une proximité anonyme, chaque connexion reçoit une description : « contredit », « prolonge », « apporte une preuve à », « transpose dans un autre domaine ».
Point fort : la navigabilité. Une topologie distribuée ne répond pas seulement à « qu’est-ce qui est lié ? », mais à « comment est-ce lié ? ». L’étiquetage ouvre la voie à un raisonnement d’ordre supérieur : retrouver les notes qui contredisent une thèse, et pas seulement celles qui la mentionnent.
Mode de défaillance : le coût. Générer une étiquette pour chaque paire de notes croît de façon quadratique. Pour les 49 746 segments de mon coffre, un étiquetage exhaustif demanderait environ 1,2 milliard d’appels à un LLM. Les implémentations réalistes n’étiquettent que les arêtes qui dépassent un seuil de similarité.
Transitions de phase : quand simplifier brise la structure
Pesce, He et Caldarelli ont étudié les transitions de phase dans l’élagage des réseaux de neurones et mis au jour un seuil très net : les réseaux connaissent « une transition d’une phase coopérative et fonctionnelle vers une phase désordonnée où les performances s’effondrent ».2 En deçà du seuil, supprimer des connexions n’affecte presque pas la fonction. Au seuil, celle-ci s’effondre brutalement. La transition suit des lois d’échelle compatibles avec un comportement critique du second ordre — la même mathématique que celle de la glace qui fond en eau.
Le parallèle avec la curation des connaissances est direct. Ma chaîne de notation des signaux6 a fait passer l’Inbox de 14 771 notes à 5 886 grâce à un seuil de pertinence. La dynamique du contexte cumulatif, celle qui fait que la mémoire d’un agent gagne en valeur avec le temps, vaut aussi ici : la valeur d’une note tient à ses connexions, pas seulement à son contenu. La réduction a amélioré la qualité de recherche : moins de résultats peu pertinents, des grappes plus serrées, une récupération plus rapide. Mais du signal a-t-il été perdu ? La simplification a-t-elle franchi un seuil de transition de phase ?
Les travaux sur l’élagage suggèrent que la réponse tient à la connectivité, pas au volume. Retirer des nœuds isolés (des notes sans voisin sémantique) n’a qu’un effet négligeable sur le fonctionnement du réseau. Retirer des nœuds-passerelles (des notes qui relient des grappes autrement séparées) peut faire s’effondrer la structure, même si ces notes paraissent individuellement insignifiantes.
Ma chaîne de tri a relevé le seuil de pertinence de 0,30 à 0,40. La réduction de 60 % de l’Inbox a été mesurée en nombre de notes. Je n’ai pas mesuré son effet sur la topologie. Une stratégie de curation consciente des transitions de phase ferait ceci :
- Repérer les notes-passerelles avant tout filtrage (celles dont la centralité d’intermédiarité est élevée dans le graphe de similarité)
- Exempter ces notes-passerelles du filtrage par pertinence, quel que soit leur score individuel
- Suivre les indicateurs de connectivité entre grappes après chaque passe de curation
- Déclencher une alerte dès qu’une étape de curation fait tomber la densité de passerelles inter-grappes sous un seuil
# 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
Diagnostiquer la topologie de vos connaissances
Nul besoin de 15 000 notes pour analyser la topologie de vos connaissances. Toute collection d’une centaine de notes dotées d’embeddings laisse apparaître une structure. Si vous utilisez Obsidian comme infrastructure d’IA, vous avez déjà la matière première : les dix-sept mille signaux de mon coffre ont commencé comme de simples captures quotidiennes. Trois questions de diagnostic :
1. Combien de grappes existent ?
Appliquez k-means ou DBSCAN à vos embeddings et comptez les grappes distinctes. Moins de 3 suggère une topologie centralisée. Entre 3 et 8, décentralisée. Au-delà de 8, il peut s’agir soit d’une véritable topologie distribuée, soit d’une curation insuffisante (beaucoup de grappes veut dire beaucoup de sujets, ce qui peut vouloir dire aucune profondeur sur aucun).
2. Quelle est la densité des passerelles ?
Pour chaque paire de grappes, comptez les notes qui ont des plus proches voisins dans les deux grappes. Une densité de passerelles inférieure à 2 % de la taille de la plus petite grappe signale un silo potentiel. Ma passerelle Design–Développement tourne autour de 1,4 % — sous le seuil, ce qui confirme l’angle mort que j’avais observé.
3. Quelle part est orpheline ?
Une note orpheline n’a aucun voisin au-dessus d’un seuil de similarité cosinus (0,7 en général). Les orphelines ne sont pas forcément mauvaises : elles peuvent porter des idées véritablement neuves. Mais un taux d’orphelines supérieur à 15 % trahit soit une capture incohérente (des notes étrangères à votre domaine), soit un problème de qualité des embeddings.
Taux d’orphelines dans mon coffre : environ 8 %. La plupart sont des captures brutes de l’Inbox, jamais retravaillées en notes structurées. Le taux tombe à 3 % si l’on exclut l’Inbox, signe que les notes traitées s’intègrent bien à la topologie existante.
Ce que révèlent les grappes
La visualisation ci-dessus repose sur 500 segments tirés au hasard dans mon coffre. Les grappes correspondent à de vrais voisinages intellectuels.
Le pôle IA & ML (26 % des segments) est la grappe la plus dense. L’architecture de Claude Code, les motifs de conception d’agents, les articles de recherche sur les LLM et les techniques de prompt engineering y forment un voisinage serré. Cette densité reflète le volume : je lis et je capture plus de contenu IA/ML que dans toute autre catégorie. Elle procure aussi un avantage de qualité de recherche — les requêtes de ce domaine renvoient des résultats très pertinents, parce que l’espace des embeddings y est bien peuplé.
Le pôle Design (14 %) se tient à distance d’IA & ML. Systèmes typographiques, science des couleurs, motifs de composants UI et références de design visuel forment leur propre grappe. Cette séparation est légitime : le design et l’ingénierie de l’IA ne partagent ni le vocabulaire, ni les cadres de raisonnement, ni les critères d’évaluation. Mais elle signifie aussi qu’une requête du type « comment formater la sortie d’un agent pour une relecture par un développeur » tombe dans l’interstice entre les deux grappes et ramène des résultats d’un côté ou de l’autre, rarement de l’intersection.
Le pôle Développement (10 %) recoupe davantage IA & ML que Design. Les motifs FastAPI, la conception de bases de données et l’architecture SwiftUI partagent un vocabulaire conceptuel avec les notes d’ingénierie IA (les deux parlent de code, d’architecture, de tests). Ce recouvrement crée une zone mixte, où vivent les notes sur le DevOps pour agents et l’infrastructure pour l’IA.
Le halo Inbox (28 %) enveloppe l’ensemble. Captures brutes, signaux non triés et favoris jamais traités forment un nuage clairsemé, faiblement rattaché aux grappes établies. La chaîne de notation des signaux qui a ramené l’Inbox de 14 771 à 5 886 notes a surtout élagué dans ce halo : des notes peu similaires à quelque grappe établie que ce soit.
La grappe Inspiration (6 %) occupe une position intermédiaire entre Design et Inbox. Références de typographie cinétique, études de motion design et captures d’art visuel y forment un voisinage lâche. Cette grappe existe parce que je capture de l’inspiration visuelle avec constance, mais que je transforme rarement ces captures en notes structurées. Elle révèle un schéma : je consomme large en inspiration visuelle et je produis étroit en travail de design. L’écart entre consommation et production se lit dans la topologie sous la forme d’une grappe à forte densité entrante (les captures) et à faibles connexions sortantes (les notes qui prolongent l’inspiration).
Les passerelles inter-grappes sont l’élément le plus intéressant. La plus ténue relie Design et Développement : environ 1,4 % des notes de la plus petite grappe ont des plus proches voisins dans les deux. À comparer aux 8,3 % de la passerelle IA–Développement, qui traduit la part d’infrastructure IA dans mon travail de développement. La densité des passerelles prédit où le travail original émerge. Mon article des boids aux agents est né d’une note-passerelle reliant la recherche sur les comportements émergents (grappe IA & ML) à l’implémentation d’un algorithme de nuée (grappe Développement). Sans cette passerelle, ces deux corpus de notes ne seraient jamais entrés en collision.
La topologie façonne aussi la qualité de la récupération. Le moteur de récupération hybride qui alimente la recherche dans mon coffre combine correspondance de mots-clés BM25 et similarité vectorielle — mais son efficacité dépend de la structure sous-jacente des grappes. Les requêtes qui atterrissent dans une grappe dense renvoient des résultats précis ; celles qui tombent entre deux grappes ont besoin du repli BM25 pour combler l’écart.
Une seconde base d’embeddings coexiste avec le coffre : celle de la chaîne d’outils, 4 518 segments répartis sur 653 fichiers.5 Sa topologie est radicalement différente : une seule grappe dense (la configuration de Claude Code), entourée de petits satellites pour les tests, les hooks et les skills. Cette monoculture convient à une chaîne d’outils, parce qu’une chaîne d’outils poursuit un seul but. Un coffre de connaissances en monoculture, lui, serait un signal d’alarme.
Remodeler votre topologie
La topologie n’a rien de figé. Quatre gestes délibérés en remodèlent la structure.
Écrivez des notes-passerelles. Si deux grappes manquent de connexions, écrivez des notes qui relient explicitement leurs concepts. Ma passerelle Design–IA est ténue parce que j’écris rarement sur la conception d’interfaces d’agents. Une note intitulée « Motifs UX pour la sortie des agents », citant à la fois des principes de design et des travaux sur l’architecture d’agents, créerait un point de passage.
Repérez les orphelines. Lancez chaque mois une détection d’orphelines, puis tranchez : intégrer, archiver ou supprimer. Celles qui portent une idée naissante méritent d’être raccrochées aux grappes existantes par une note-passerelle. Celles qui ne sont qu’une référence ponctuelle peuvent être archivées.
Mesurez après chaque curation. Avant et après toute opération de masse (suppression, archivage, filtrage), mesurez la connectivité entre grappes. Si la densité des passerelles inter-grappes baisse, c’est que la curation a emporté des notes-passerelles qu’il fallait préserver.
Lisez aux frontières. Les lectures les plus rentables ne sont pas celles qui vous enfoncent plus loin dans votre grappe la plus dense : ce sont celles qui se tiennent aux confins entre grappes. Un article qui fait le pont entre ingénierie de l’IA et design visuel produira plus de connexions inédites qu’un article de plus creusant une grappe IA déjà saturée.
À retenir
- Les espaces d’embeddings donnent une forme aux bases de connaissances. Cette forme révèle une topologie intellectuelle : où se concentre votre attention, où vous l’évitez, et où les idées se relient d’un domaine à l’autre.
- Chaque topologie a ses modes de défaillance. La centralisée est fragile. La décentralisée se fragmente sans notes-passerelles. La distribuée coûte cher à entretenir, mais c’est la plus riche à parcourir.
- Les transitions de phase rendent la curation non linéaire. En deçà du seuil, supprimer des notes n’affecte guère la structure. Au seuil, la fonction s’effondre. Les notes-passerelles doivent être repérées et protégées avant toute curation de masse.
- Le halo Inbox est la ligne de front de la curation. Les captures brutes forment un nuage clairsemé autour des grappes établies. La notation des signaux filtre ce halo, mais seule la topologie dit si le filtrage a préservé ou détruit les passerelles.
- Lisez aux frontières. Les notes de plus grande valeur relient les grappes, elles ne les approfondissent pas. Détection des orphelines et densité des passerelles orientent vos priorités de lecture.
FAQ
Qu'est-ce qu'un embedding de texte et comment représente-t-il la connaissance ?
Un embedding de texte convertit un passage en une liste de nombres (un vecteur) dans un espace de grande dimension où la distance correspond au sens. Deux passages traitant de sujets proches se retrouvent voisins, qu'ils partagent ou non des mots. Un modèle à 256 dimensions comme potion-base-8M transforme chaque segment de texte en 256 coordonnées. Appliqué à une base de connaissances entière, l'ensemble des vecteurs forme une structure spatiale dont les grappes, les passerelles et les vides révèlent la topologie intellectuelle du contenu.
Comment visualiser l'espace des embeddings de mon coffre Obsidian ?
Générez les embeddings de vos notes avec un modèle d'embedding de phrases (potion-base-8M de Model2Vec est rapide et gratuit), puis projetez les vecteurs en 2D ou en 3D avec UMAP. Stockez les embeddings dans une base (SQLite avec l'extension vec fait très bien l'affaire), lancez la projection UMAP et visualisez le résultat avec n'importe quelle bibliothèque de tracé 3D. Le nuage de points obtenu révèle la structure en grappes de votre coffre : les zones denses où vous écrivez souvent, les vides entre thèmes, et les zones-passerelles où les domaines se croisent.
Qu'appelle-t-on transition de phase dans la curation des connaissances ?
C'est le seuil à partir duquel la suppression de notes fait s'effondrer la structure d'un coup, au lieu de la dégrader progressivement. Les travaux sur l'élagage des réseaux de neurones montrent qu'un réseau conserve sa fonction à mesure qu'on retire des connexions, jusqu'à un seuil net où les performances s'effondrent. La même dynamique vaut pour une base de connaissances : retirer des notes isolées et peu utiles ne change presque rien, mais retirer des notes-passerelles qui relient des grappes peut fragmenter la topologie, même si ces notes paraissent individuellement insignifiantes. Une curation consciente des transitions de phase repère et protège les notes-passerelles avant de filtrer.
Combien de notes faut-il pour qu'une analyse de topologie ait du sens ?
Une structure en grappes lisible apparaît à partir d'une centaine de notes dotées d'embeddings. En deçà, les grappes ne se distinguent pas vraiment. Entre 100 et 500 notes, la topologie de base se dessine (2 à 4 grappes). Entre 500 et 5 000 notes, la structure s'affine, avec ses zones-passerelles et ses motifs d'orphelines. Au-delà de 5 000, la topologie se stabilise : les notes supplémentaires approfondissent les grappes existantes plus qu'elles n'en créent de nouvelles. L'indicateur décisif n'est pas le total, mais la diversité : vos notes couvrent-elles au moins trois domaines distincts ?
En quoi les embeddings Obsidian diffèrent-ils d'un graphe de connaissances ?
Un graphe de connaissances relie les notes par des liens explicites que vous créez à la main (rétroliens, tags, MOC). Les embeddings les relient par une similarité sémantique que le modèle découvre tout seul. Les deux sont complémentaires : le graphe capture votre structure intentionnelle, les embeddings révèlent une structure latente que vous n'avez jamais tracée. Deux notes sans aucun rétrolien commun peuvent se retrouver voisines dans l'espace des embeddings parce qu'elles abordent des concepts proches avec un vocabulaire différent. Faire tourner les deux ensemble — le graphe pour naviguer, les embeddings pour découvrir — donne un second cerveau qui fait remonter des liens qui vous auraient échappé.
Quelle est la meilleure stratégie de recherche pour un gros coffre Obsidian ?
La recherche hybride, qui associe la correspondance de mots-clés BM25 à la similarité vectorielle, surpasse chacune des deux méthodes prise isolément. BM25 attrape les correspondances terminologiques exactes que les embeddings peuvent manquer, tandis que les embeddings saisissent une proximité conceptuelle hors de portée d'une recherche par mots-clés. La fusion par rang réciproque (RRF) réunit les deux listes de résultats. Au-delà de 10 000 notes, ajouter une étape de reclassement après la recherche initiale améliore encore la précision. La topologie de votre coffre détermine laquelle domine : les grappes denses favorisent la recherche vectorielle, les zones clairsemées ou très marquées lexicalement favorisent BM25.
Références
-
Kat (@poetengineer__), « Exploring shapes of thoughts: extracted my Obsidian notes’ embeddings and arranged them as a 3D network using 3 different topologies », publié sur X, février 2026. Trois topologies : centralisée, décentralisée, distribuée avec des arêtes étiquetées par LLM. ↩↩↩
-
Pesce, Diego, Yang-Hui He et Guido Caldarelli, « Phase Transitions in Neural Networks Pruning », arXiv:2602.15224, février 2026. arxiv.org. Transition nette d’une phase coopérative et fonctionnelle vers une phase désordonnée, lois d’échelle compatibles avec un comportement critique du second ordre. ↩↩
-
MinishLab, « Model2Vec: Fast State-of-the-Art Static Embeddings », 2024. github.com/MinishLab/model2vec. potion-base-8M : 7,6 M de paramètres, embeddings à 256 dimensions, environ 90 % des performances d’all-MiniLM-L6-v2. ↩
-
McInnes, Leland, John Healy et James Melville, « UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction », arXiv:1802.03426, 2018. arxiv.org. Préserve mieux la structure globale que t-SNE, avec de meilleures performances d’exécution. ↩
-
Système de mémoire sémantique de l’auteur. Recherche hybride Model2Vec + sqlite-vec + FTS5 BM25 + RRF sur 49 746 segments. Modules :
embedder.py,vector_index.py,chunker.py,retriever.pydans~/.claude/lib/memory/. ↩ -
Chaîne de notation des signaux de l’auteur. Inbox ramenée de 14 771 à 5 886 notes (−60 %) par ajustement du seuil de pertinence. Documentée dans La chaîne de notation des signaux. ↩
-
Analyse de topologie du coffre de l’auteur. Échantillon aléatoire de 500 points parmi 49 746 segments, classification thématique d’après l’arborescence du coffre, projection PCA en 3D pour la visualisation interactive. ↩