Un cache classique matche une clé exacte. Mais « Quels sont vos horaires ? » et « Vous ouvrez à quelle heure ? » devraient hitter la même réponse. Le cache sémantique matche par proximité d'embedding. Puissant, mais à manier avec prudence.

Le principe

On embedde la requête, on cherche en base le vecteur le plus proche déjà vu. Si la similarité cosinus dépasse un seuil, on sert la réponse cachée sans appeler le LLM.

Gains vs risques

Cache exactCache sémantique
Taux de hitFaibleÉlevé
Faux positifImpossiblePossible (seuil mal réglé)
Coût lectureO(1)1 embedding + recherche vecteur
Risque métierNulServir une mauvaise réponse
Le faux positif est le vrai danger : deux questions proches en surface, réponses différentes attendues.

Le piège du seuil

« Annuler ma commande 123 » et « Annuler ma commande 456 » sont sémantiquement quasi identiques mais exigent des réponses opposées. Un seuil trop permissif sert la mauvaise réponse avec aplomb. Régler le seuil haut, et exclure du cache toute requête contenant des identifiants ou des paramètres variables.

Quand l'utiliser

  • Oui : FAQ, contenu éditorial, questions générales sans paramètre — fort volume, faible variance.
  • Non : tout ce qui dépend d'un identifiant, d'un état utilisateur, d'une donnée temps réel.

Bien posé, c'est 30 à 60 % d'appels en moins sur un assistant FAQ. Mal posé, c'est un bug invisible qui répond faux une fois sur vingt.