Sous le capot d'une mémoire IA, il y a un choix de fond rarement expliqué : comment représenter et retrouver la connaissance. Deux grands paradigmes existent, le vectoriel et le symbolique. Les opposer est tentant, mais c'est en les combinant qu'on obtient une mémoire qui répond juste. Voici la distinction, sans équations.
Deux façons de représenter la connaissance
- L'approche vectorielle transforme chaque texte en un vecteur de nombres qui capture son sens. Retrouver, c'est chercher les vecteurs proches de celui de ta question.
- L'approche symbolique s'appuie sur des structures explicites : les mots eux-mêmes, les correspondances exactes, les liens entre éléments, les graphes.
L'une raisonne en proximité de sens, l'autre en correspondances et relations. Ce ne sont pas deux niveaux de qualité, mais deux angles, avec chacun ses forces et ses trous.
La mémoire vectorielle : le sens
La force du vectoriel, c'est de retrouver par l'idée. Tu cherches « contexte persistant », ta note dit « mémoire qui dure », et les vecteurs les rapprochent malgré l'absence de mot commun. C'est ce que rendent possible les embeddings : ici, Qwen3-Embedding-0.6B, de dimension 1024, exécuté en local.
Son angle mort : un terme rare et précis, un acronyme, un nom de fichier, peut être noyé. Le sens global est capté, le détail exact parfois perdu.
La mémoire symbolique : les termes et les liens
Le symbolique excelle là où le vectoriel faiblit. La correspondance de termes exacts (par BM25) retrouve l'acronyme, l'identifiant, le mot rare. Et les structures explicites, en particulier le graphe de tes liens entre notes (avec NetworkX), apportent du contexte relationnel : une note allume ses voisines.
Son angle mort : il ne capte pas le sens d'une formulation différente. Si tu n'as pas le bon mot, la correspondance exacte rate.
Pourquoi combiner les deux
Les angles morts du vectoriel et du symbolique sont presque inverses. Le premier rate les termes exacts ; le second rate les reformulations. Les combiner, c'est couvrir les deux.
C'est exactement ce que fait un bon retrieval, et ce que fait Smart Brain :
- embeddings (vectoriel) pour le sens ;
- BM25 (symbolique) pour les termes exacts ;
- graphe (symbolique) pour le contexte voisin ;
- et un reranking qui tranche entre les candidats.
On détaille cet empilement dans comment ton IA retrouve le bon souvenir et le retrieval hybride. Le résultat se mesure : Hit@1 de 0,909, Hit@5 de 0,98 (voir la page technique).
Ce que ça apporte concrètement
Pour toi, l'intérêt n'est pas théorique. Une mémoire purement vectorielle te ferait rater une recherche sur un nom de fonction précis ; une mémoire purement symbolique te ferait rater une idée reformulée. La combinaison fait que tu retrouves dans les deux cas, ce qui est la différence entre une mémoire qui répond souvent et une mémoire fiable, sujet de construire une mémoire IA fiable.
Au-delà de l'opposition
« Vectoriel contre symbolique » est un faux débat quand le but est une mémoire utile. Le bon système n'est pas dogmatique : il prend le sens où il est (vecteurs), la précision où elle est (termes, liens), et arbitre entre les deux.
C'est l'approche d'un RAG local bien conçu, et ce qui permet de servir le bon passage à ton assistant plutôt qu'un morceau approximatif.