Skip to main content
PromptQuorumPromptQuorum

Qu'est-ce que le cache de prompt pour les LLM locaux ?

Réponse rapide

Le cache de prompt stocke le cache clé-valeur (KV) calculé pour le préfixe d'un prompt, afin qu'il n'ait pas besoin d'être recalculé lorsqu'une requête ultérieure partage ce même préfixe — un prompt système fixe, un document réutilisé, ou des tours de conversation précédents. Cela réduit nettement le temps de traitement du prompt pour les charges de travail à préfixe répété, mais n'apporte aucun bénéfice lorsque chaque requête est indépendante.

  • Met en cache le cache KV d'un préfixe de prompt, pas la sortie du modèle
  • Gain le plus important : longs prompts système fixes, documents réutilisés, conversations à plusieurs tours
  • Aucun bénéfice pour les requêtes isolées sans préfixe partagé entre les appels

Mis à jour : 15 juillet 2026

Technique & Concept ExplainersIntermédiaire

Points clés

  • Le cache de prompt stocke le cache KV calculé pour le préfixe d'un prompt, permettant à une requête ultérieure de le réutiliser au lieu de retraiter les mêmes tokens
  • Plus le préfixe partagé est long et répété, plus le gain de vitesse est important — un prompt système long et inchangé, réutilisé pour des milliers de requêtes, en bénéficie énormément
  • Les conversations à plusieurs tours en profitent automatiquement dans la plupart des configurations de serving locales, car chaque nouveau tour partage toute la conversation précédente comme préfixe
  • Le cache n'aide que le traitement du prompt (l'entrée), pas la génération de tokens (la sortie) — il réduit le délai avant le premier token, pas le nombre de tokens par seconde une fois la génération lancée

Comment le cache accélère réellement les choses

Traiter un prompt signifie que le modèle calcule une représentation clé-valeur (KV) pour chaque token d'entrée avant de pouvoir commencer à générer une réponse. Cette étape — le traitement du prompt — a lieu avant le début de la génération, et son coût augmente avec la longueur du prompt. Sans cache, un prompt système de 2 000 tokens est entièrement retraité à chaque requête, même s'il est identique au bit près à chaque fois.

Le cache stocke cette représentation KV calculée pour un préfixe donné, indexée sur la séquence de tokens exacte. Lorsqu'une nouvelle requête commence par les mêmes tokens, les valeurs KV mises en cache sont directement réutilisées, et seule la partie nouvelle, non mise en cache, du prompt doit être traitée. En pratique, le délai avant le premier token chute nettement pour les correspondances en cache, puisque la majeure partie de l'entrée n'a plus besoin d'être recalculée.

C'est pourquoi les conversations à plusieurs tours en profitent presque automatiquement : le tour 3 d'une conversation inclut les tours 1 et 2 comme préfixe, donc une configuration de serving qui gère le cache ne traite que le tour le plus récent, pas tout l'historique de la conversation.

Structurer les prompts pour vraiment en profiter

  • **Placez le contenu partagé et invariable en premier.** Les prompts système, instructions et documents de référence qui restent identiques entre les requêtes doivent précéder le contenu variable propre à chaque requête — le cache ne fonctionne que sur un préfixe correspondant exactement, donc tout ce qui précède le premier point de différence est ce qui sera réutilisé.
  • **Gardez le préfixe partagé identique au bit près entre les requêtes.** Ne serait-ce qu'un seul caractère de différence dans un prompt système (un horodatage, un identifiant aléatoire) rompt la correspondance du préfixe et force un retraitement complet — déplacez toute variation propre à la requête à la fin du prompt, après le contenu réutilisable.
  • **Ne comptez pas sur le cache pour des requêtes isolées et indépendantes.** Si votre charge de travail est surtout composée de questions ponctuelles sans configuration partagée, il n'y a rien à réutiliser pour le cache — la valeur de la technique est proportionnelle à la part de votre trafic qui partage réellement un préfixe commun.
  • **Les conversations longues bénéficient le plus des paramètres de rétention du cache.** Vérifiez combien de temps votre configuration de serving conserve les préfixes en cache avant de les évincer — un cache évincé trop agressivement n'aidera pas les conversations avec des pauses entre les tours.

Questions fréquentes

Le cache de prompt modifie-t-il la sortie du modèle ?
Non. Le cache n'affecte que la façon dont le préfixe partagé est traité en interne — il produit des résultats mathématiquement identiques à un retraitement complet, simplement plus vite. C'est une optimisation de performance, pas un changement du comportement ou de la qualité du modèle.
Le cache de prompt améliore-t-il la vitesse de génération des tokens, ou seulement le temps de réponse initial ?
Seulement le temps de réponse initial (délai avant le premier token). Une fois la génération lancée, les tokens continuent d'être produits un par un à la même vitesse de génération, indépendamment du cache — le cache élimine le travail redondant de traitement du prompt, pas l'étape de génération elle-même.
Quelle quantité de VRAM le cache utilise-t-il ?
Les données KV mises en cache résident en VRAM aux côtés du modèle lui-même, et leur taille dépend de la quantité de contexte mis en cache et du nombre de conversations simultanées. Mettre en cache de nombreuses longues conversations en même temps peut augmenter sensiblement l'utilisation de la VRAM — un compromis réel face à la profondeur du cache sur du matériel limité en VRAM.
Tous les outils de serving locaux prennent-ils en charge le cache de prompt ?
La prise en charge et le comportement par défaut varient selon l'outil — certains mettent en cache automatiquement pour un usage à plusieurs tours au sein d'une session, d'autres nécessitent une configuration explicite, et la rétention du cache (durée pendant laquelle un préfixe reste en cache avant éviction) est également spécifique à chaque outil. Consultez la documentation de votre outil de serving pour connaître son comportement de cache et les paramètres qui le contrôlent.