tokenade
Connexionenfr
Commencer

Embeddings

Résumer avec l'IA
Citer cette page

Qu'est-ce que les embeddings ?

Un embedding est une liste de nombres de longueur fixe — un vector — qui encode le sens d'un texte, d'un code ou de tout autre contenu, de sorte que des entrées sémantiquement proches se retrouvent proches dans l'espace vectoriel. Quand on demande à un outil piloté par un LLM « trouve les tests liés à cette fonction », il ne cherche pas de correspondances de chaînes ; il convertit la requête et les fichiers candidats en embeddings, puis récupère les voisins les plus proches.

Les chiffres eux-mêmes n'ont aucun sens isolément. Ce qui compte, c'est la distance : deux embeddings dont les vectors sont proches (mesurés par cosine similarity ou produit scalaire) représentent des contenus qui signifient à peu près la même chose, même s'ils ne partagent aucun mot.

Pourquoi les embeddings comptent pour les agents de codage IA en 2026

Les agents de codage modernes — Claude, Copilot, Cursor et outils similaires — opèrent sous des contraintes serrées de context window. La récupération par embeddings est le mécanisme principal qui décide quels fragments de code sont chargés dans cette fenêtre avant même que le modèle les lise. Une mauvaise récupération = un contexte hors sujet = des tokens gaspillés et des réponses dégradées.

Trois situations où les embeddings apparaissent directement dans votre workflow :

Semantic search dans le code. Des outils comme la semantic code search indexent l'intégralité de votre codebase en embeddings. Au moment de la requête, l'agent transforme votre question en langage naturel en embedding et récupère les k morceaux les plus similaires — généralement quelques centaines de tokens chacun — dans le prompt. La qualité du modèle d'embedding plafonne directement la qualité du contexte récupéré.

Pipelines RAG. Le RAG (Retrieval-Augmented Generation) entoure chaque appel LLM d'une étape de recherche par embeddings. Docs, runbooks, fils Stack Overflow — tout est pré-indexé, récupéré à la demande. Sans bons embeddings, le RAG se réduit à une recherche par mots-clés avec des étapes en plus.

Signal de fine-tuning. Quand on fine-tune un modèle, on part des représentations apprises par le modèle de base plutôt que de zéro. Partir d'un espace sémantique solide explique pourquoi quelques centaines de bons exemples peuvent suffire à spécialiser un modèle.

Récupération par appels d'outils. En 2026, une bonne partie de la récupération des agents de code ne passe plus du tout par un index vectoriel : les agents appellent grep, la recherche de symboles et des lectures ciblées de fichiers comme outils, et seules certaines couches ajoutent une recherche par embeddings par-dessus. Les embeddings gardent leur intérêt quand la requête est formulée en intention (« où est-ce qu'on relance les paiements échoués ? ») plutôt qu'en identifiants qu'on peut grepper.

L'angle coût en tokens

Chaque appel d'embedding a un coût en tokens. En octobre 2026, OpenAI affiche text-embedding-3-small à 0,02 $ par million de tokens d'entrée et text-embedding-3-large à 0,13 $ — environ 6,5 fois plus, pour des vectors de meilleure qualité. Pour une codebase de 500 k tokens, indexer chaque fichier représente un coût réel. La stratégie de découpage (comment on divise les fichiers avant l'indexation) est donc à la fois un choix de qualité et un choix de coût : des morceaux trop grands gaspillent des tokens sur du remplissage sans intérêt ; des morceaux trop petits perdent le contexte inter-lignes.

Tokenade utilise la semantic code search sur votre propre machine pour fournir à l'agent les quelques morceaux pertinents plutôt que des fichiers entiers, et supprime les sorties d'outils bruitées et répétitives avant qu'elles n'atteignent le modèle. Voir réduire l'utilisation de tokens des agents de codage IA pour le panorama complet.

Quand les embeddings ne sont PAS le bon outil

  • Recherches par correspondance exacte. Si vous devez trouver tous les sites d'appel de getUserById, un grep ou une requête AST est plus rapide, moins cher et parfaitement précis. Les embeddings échangent la précision contre la largeur sémantique ; utilisez-les quand l'intention compte plus que l'orthographe.
  • Codebases petites et stables. Si votre dépôt tient dans la context window du modèle en une seule fois, vous n'avez pas besoin de récupération. Chargez tout et évitez le surcoût d'indexation.
  • Données en flux temps réel. Les embeddings sont calculés au moment de l'indexation. Si vos données changent plus vite que vous ne pouvez les ré-indexer, l'index vectoriel devient obsolète et la qualité de récupération se dégrade.
  • Tâches nécessitant un raisonnement ordonné. La récupération par embeddings est non ordonnée par nature. Pour des problèmes qui nécessitent de suivre une chaîne logique — « trace l'appel du endpoint X jusqu'à l'écriture en base Y » — un parcours de call hierarchy est plus fiable.

À lire aussi