Le cache de prompt est un mécanisme d'économie dans les API des grands modèles : quand le même bloc d'ouverture revient d'un tour à l'autre ou d'une requête à l'autre, le fournisseur le calcule une fois, conserve le résultat et le réutilise dès que la requête suivante commence par un préfixe strictement identique. On économise à la fois des jetons d'entrée et le temps d'attente du premier mot.
Ce qui est conservé, c'est un calcul à mi-chemin, pas une réponse
Avant de répondre, le modèle doit traiter tout le texte envoyé, couche après couche : c'est le préremplissage, d'autant plus lent et coûteux que le texte est long. Le cache de prompt stocke précisément cet état intermédiaire, souvent appelé état KV. En cas de correspondance, le modèle saute le travail répété, ne traite que ce que vous avez ajouté, puis génère la réponse mot à mot comme d'habitude. Il ne rejoue jamais une ancienne réponse : le même document en cache, associé à une autre question, donne une réponse neuve.
Trois conditions doivent être réunies en même temps
D'abord, le préfixe doit correspondre exactement, dès le premier jeton. Les instructions système, les définitions d'outils et les documents fixes, placés en tête, correspondent le plus facilement ; tout élément changeant placé trop tôt bloque toutes les correspondances derrière lui. Ensuite, le bloc doit être assez long : les fournisseurs fixent un seuil, autour d'un millier de jetons, que quelques phrases courtes n'atteignent jamais. Enfin, la réutilisation doit intervenir pendant la durée de vie du cache, quelques minutes en général, prolongée à chaque correspondance. Les détails varient : certaines plateformes demandent des points de cache explicites, avec une majoration à l'écriture et une forte remise à la lecture, d'autres détectent le préfixe automatiquement.
À ne pas confondre avec les deux autres caches
Le cache sémantique stocke des couples question-réponse et renvoie l'ancienne réponse quand une nouvelle question a un sens proche. Le cache de prompt ne renvoie aucune réponse : il évite seulement un calcul répété. La fenêtre de contexte est encore autre chose : elle dit combien de texte le modèle peut voir d'un coup, une question de capacité, alors que le cache décide si ce texte sera recalculé. Une fenêtre immense ne rend pas les répétitions gratuites.
Trois malentendus fréquents
Premier malentendu : changer un mot au début serait sans conséquence. La comparaison est stricte, tout ce qui suit la première différence est recalculé ; placer une date ou un nom d'utilisateur tout au début est la manière classique de ruiner son taux de correspondance. Deuxième : avec le cache, l'appel deviendrait gratuit. La partie correspondante coûte bien moins cher, mais le contenu nouveau et chaque jeton généré restent au plein tarif. Troisième : plus la conversation est longue, plus on économise. Dès que des résultats d'outils ou des extraits récupérés, différents à chaque tour, s'insèrent au milieu, la seconde moitié ne correspond presque plus. L'ordre pratique : le stable devant, le changeant derrière.
Le gain est maximal pour les agents dotés de longues instructions et définitions d'outils, les bases de connaissances interrogées sans cesse sur le même long document et les traitements par lots partageant un même jeu d'instructions. Avec des questions ponctuelles, courtes et toujours différentes, on ne remarquera même pas que la fonction existe.