Qu’est-ce que la mise en cache des prompts ?

Auteur

Shalini Harkar

Lead AI Advocate

Les grands modèles de langage (LLM) sont incroyablement puissants, mais ils présentent deux inconvénients majeurs : le coût et la latence. Chaque token traité engendre un coût, et lorsque les utilisateurs interrogent à plusieurs reprises le même contexte, comme un document volumineux, ils font grimper les coûts en déclenchant des calculs redondants.

De plus, la latence associée au traitement de ces requêtes peut nuire à la réactivité de votre application, ce qui nuit à l’expérience utilisateur[1].La mise en cache des prompts s’impose comme une solution essentielle pour relever ces défis.

Dans cet article, nous examinerons ce qu’est exactement la mise en cache des prompts, en quoi elle diffère de la mise en cache classique, comment elle peut être appliquée dans les applications d’IA, ainsi que divers cas d’utilisation. Nous aborderons également les avantages et les précautions à prendre en compte concernant cette technique.

Qu’est-ce que la mise en cache des prompts ?

La mise en cache des prompts est une méthode simple permettant d’améliorer la vitesse et la rentabilité des LLM. Elle consiste à stocker les parties d’un prompt qui restent souvent inchangées, telles que le contenu des instructions ou les éléments de référence, afin d’éviter au modèle de devoir retraiter ces tokens à plusieurs reprises.

Par exemple, lorsque vous envoyez une requête à un LLM (telle que « explique ce qu’est l’intelligence artificielle »), le modèle lit l’intégralité du prompt pour le comprendre et y répondre. Si vous renvoyez le même prompt, il répète le même traitement, ce qui augmente le temps et le coût.

Grâce à la mise en cache des prompts, le modèle enregistre les parties répétitives d’un prompt après la première demande. Lorsque vous renvoyez le même prompt, il récupère la réponse stockée au lieu de la retraiter. Ce processus rend les réponses plus rapides, plus efficaces et plus rentables, car le modèle n’a pas à refaire le même calcul pour des prompts identiques[2].

En quoi la mise en cache des prompts diffère-t-elle de la mise en cache classique ?

Objectif et portée :

  • La mise en cache des prompts enregistre les prompts LLM répétés afin d’éviter tout nouveau calcul et de réduire la latence.
  • La mise en cache classique stocke les données ou ressources fréquemment consultées (par exemple des pages HTML, des requêtes de base de données, des réponses d’API, des images) afin d’accélérer les accès futurs.

Fiabilité des résultats :

  • La mise en cache des prompts fonctionne uniquement lorsque le prompt et tous les paramètres (tels que la température, le top-p et autres) restent exactement les mêmes pour chaque requête.
  • La mise en cache classique est déterministe, ce qui signifie qu’une même entrée produit toujours le même résultat (comme des résultats de requête ou des images identiques).

Performances :

  • La mise en cache des prompts réduit l’utilisation de tokens, le coût des API et la latence de bout en bout pour les requêtes LLM répétées ou similaires.
  • La mise en cache classique améliore les performances des applications, allège la charge du backend ou des bases de données et réduit la latence réseau.

Expiration et invalidation :

  • La mise en cache des prompts est souvent liée aux mises à jour de version des modèles ou aux cycles de réentraînement.
  • La mise en cache classique s’effectue à l’aide de la durée de vie (TTL ou time-to-live), de la gestion des versions ou d’une invalidation manuelle lorsque les données sous-jacentes changent[3].

Comment fonctionne la mise en cache des prompts ?

Dans la mise en cache des prompts, les sections répétées d’un prompt sont stockées afin de pouvoir être réutilisées dans de futures requêtes, ce qui évite de devoir les renvoyer et les retraiter.

Voici les différentes étapes de son fonctionnement  :

  1. Génération de la clé : lorsqu’un prompt est soumis, le système crée une clé de mise en cache.
    La mise en cache par correspondance exacte utilise le texte du prompt (ou une forme hachée ou normalisée) et peut inclure des paramètres tels que le nom du modèle, la température ou le prompt système. Elle ne fonctionne que lorsque le prompt et tous les paramètres sont identiques.
    La mise en cache sémantique, quant à elle, génère un embedding du prompt et recherche des entrées sémantiquement similaires. Ce type de mise en cache permet de réutiliser les résultats même si la formulation change. Ces deux méthodes de mise en cache constituent des approches distinctes présentant des atouts différents.
  2. Recherche dans le cache : la clé ou l’embedding est ensuite comparé au contenu du cache, généralement un magasin clé-valeur pour un cache plus traditionnel, ou une base de données vectorielle pour les correspondances sémantiques.
  3. Hit et miss de cache : un hit renvoie immédiatement un résultat stocké, évitant ainsi tout nouveau traitement. En cas de miss, le prompt est transmis au modèle, puis la sortie est enregistrée pour une utilisation ultérieure.
  4. Stockage du résultat : en cas de miss, une fois que le LLM a renvoyé une réponse, la sortie générée (ainsi que, parfois, l’embedding ou d’autres métadonnées) est enregistrée sous cette clé en vue d’une utilisation future.
  5. Invalidation : les entrées du cache peuvent expirer en fonction d’une durée de vie (TTL) définie par le serveur, d’une mise à jour du modèle ou d’une dérive du contenu, afin de garantir l’exactitude et l’actualité des réponses.

Mise en œuvre de la mise en cache des prompts dans les LLM

LangChain fournit un cadre flexible permettant d’intégrer la mise en cache des prompts dans les applications LLM. Contrairement aux systèmes de mise en cache autonomes, LangChain est un cadre intégré destiné à la création d’applications LLM. Il regroupe la mise en cache et d’autres composants indispensables au sein d’une solution unique, tels que l’enchaînement, la mémoire, la génération augmentée de récupération (RAG) et l’intégration d’outils.

Pour en savoir plus sur la mise en œuvre de la mise en cache des prompts à l’aide de LangChain, cliquez sur le lien suivant :

Cas d’utilisation

  • Portails de documentation interactifs : la mise en cache des prompts s’avère très efficace dans les systèmes de gestion des connaissances internes, car elle permet de stocker les réponses aux questions fréquemment posées concernant les politiques, les procédures ou la documentation technique de l’entreprise. Lorsque les membres du personnel recherchent à plusieurs reprises des informations similaires, les réponses mises en cache fournissent des réponses instantanées sans avoir à interroger à chaque fois le LLM.

  • Campagnes marketing : la mise en cache des prompts optimise les chatbots et les systèmes d’automatisation en précalculant et en enregistrant les réponses aux questions couramment posées. Par exemple, les requêtes concernant les remises, les spécifications des produits ou la disponibilité des stocks sont traitées en continu afin de garantir aux utilisateurs des réponses rapides aux questions courantes. En période de fort trafic, les réponses mises en cache permettent d’éviter les appels inutiles au LLM, tout en réduisant les coûts d’API superflus et en allégeant la latence.

  • Systèmes d’assistance client : sur les canaux d’assistance permettant aux clients de soumettre des questions, les réponses aux demandes courantes relatives au dépannage, à la gestion des comptes ou à la facturation peuvent être mises en cache. Cela permet d’accélérer les réponses, d’assurer la cohérence des réponses fournies et de réduire la dépendance vis-à-vis du traitement par le LLM pour les mêmes types de demandes. Ces améliorations se traduisent par des gains d’efficacité et une satisfaction client accrue[4].

Avantages

  • Réduction des coûts : vous faites des économies sur les coûts d’API en réutilisant des paires prompt-réponse au lieu d’interroger le LLM à plusieurs reprises.
  • Rapidité : la fourniture d’une réponse mise en cache permet d’obtenir une réponse immédiate. Cela réduit le temps de traitement total des requêtes et améliore le temps de réponse.
  • Utilisation intelligente des ressources : vous ne gaspillez pas inutilement de la puissance de calcul et vous réservez des ressources pour l’exécution d’autres requêtes variées et complexes.
  • Capacité illimitée : vous gérez de manière raisonnable un trafic élevé et des requêtes répétitives, tout en assurant le bon fonctionnement des applications à mesure qu’elles évoluent.
  • Réponses cohérentes : toutes les requêtes identiques ou similaires produisent systématiquement la même réponse, à chaque fois, grâce à une file d’attente, ce qui garantit une expérience fiable et digne de confiance pour l’utilisateur.
  • Expérience utilisateur : la capacité à fournir des réponses plus rapides et prévisibles permet de fluidifier les interactions et de satisfaire davantage les utilisateurs dans les applications destinées au public.
  • Réduction de la charge sur les serveurs : vous réduisez la charge de travail des serveurs et permettez à votre système de fonctionner plus efficacement en déchargeant les requêtes pouvant être traitées à l’aide d’une réponse mise en cache[5].

Les principales plateformes utilisent des systèmes de mise en cache des prompts grâce à l’écriture dans le cache et à la gestion de la durée de conservation, tout en recourant au TTL et au contrôle du cache pour gérer leurs sorties et respecter les limites de fréquence. Cela permet de garantir la confidentialité des données et de déterminer la tarification ou les coûts liés au cache. L’intégration de schémas et d’instructions système peut être mise en cache pour une utilisation dans le cadre d’interactions en temps réel, afin d’améliorer la facilité d’utilisation de l’outil au cours de conversations à plusieurs tours.

Éléments à prendre en compte dans la mise en cache des prompts

Bien que la mise en cache des prompts puisse présenter des avantages notables, il est important de garder à l’esprit ses limites en matière d’optimisation et de performances. Voici quelques éléments à prendre en compte :

  • Gestion des requêtes dynamiques ou sensibles au contexte : bien que la mise en cache des prompts présente souvent une utilité limitée pour les requêtes dynamiques (dans le temps ou issues de saisies antérieures de l’utilisateur) ou les requêtes sensibles au contexte, telles que celles pouvant intégrer des mises à jour de données en temps réel ou une conversation à plusieurs tours répétée, ces requêtes doivent produire une réponse adaptée aux nouvelles informations.
  • Réponses obsolètes : les réponses mises en cache peuvent devenir obsolètes assez rapidement en cas de modification des données ou du contexte, ce qui pourrait fournir des informations incorrectes ou non pertinentes en réponse à une requête.
  • Complexité liée aux cas limites : le fait de modifier le cache pour prendre en charge la réutilisation partielle des prompts, ou pour mettre en œuvre des mesures d’atténuation spécifiques, peut entraîner davantage de problèmes, car ces modifications accroissent la complexité de la conception du système et alourdissent les efforts de mise en œuvre.
  • Difficultés liées à la gestion du cache : une gestion efficace du cache (par exemple, les paramètres d’expiration ou les contraintes de stockage) peut s’accompagner d’une charge opérationnelle supplémentaire[6][7].

Récapitulatif

La mise en cache des prompts est une stratégie de mise en cache intelligente qui améliore les performances et l’efficacité des systèmes pilotés par l’IA, tels que les chatbots, les assistants de codage et les pipelines RAG. Au lieu d’effectuer plusieurs requêtes vers l’API avec la même demande pour le prompt complet ou le prompt système, le système tire parti du contenu mis en cache (par exemple, les préfixes de prompts, les préfixes de cache, le contenu statique) pour représenter ces données, ce qui permet de réaliser des économies tant au niveau des tokens d’entrée que de ceux de sortie.

Il en résulte une réduction du nombre d’appels API, une diminution des miss de cache et, globalement, une amélioration significative de la latence des réponses ainsi que de l’expérience utilisateur.

La mise en cache des prompts fonctionne particulièrement bien pour les systèmes intrinsèquement alimentés par l’IA, tels que les chatbots ; elle améliore les performances en exploitant les messages des utilisateurs, en réduisant les requêtes API et en augmentant considérablement les taux hits de cache grâce à une lecture concise du cache.

Pour l’exécution d’une fonction ou la réponse à des requêtes ou demandes ultérieures dans votre application, la mise en cache des prompts enregistre les tokens de prompt, le nombre total de tokens et le décompte des tokens, tout en facilitant le suivi des indicateurs. Ainsi, les équipes peuvent suivre en temps réel les tokens de prompt et le nombre total de tokens, et continuer à déployer des grands modèles de langage à l’échelle mondiale pour les cas d’utilisation de l’IA générative, tout en optimisant les coûts, la vitesse et la fiabilité.

Références

[1] Kaplan, J., McCandlish, S., Henighan, T., Brown, T. B., Chess, B., Child, R., Gray, S., Radford, A., Wu, J., & Amodei, D. (2020). Scaling Laws for Neural Language Models. arXiv

[2] Gim, I., Chen, G., Lee, S., Sarda, N., Khandelwal, A., & Zhong, L. (2024). Prompt Cache: Modular Attention Reuse for Low-Latency Inference. Actes de la 7e conférence annuelle sur le machine learning et les systèmes (MLSys 2024). Santa Clara, Californie, États-Unis.

[3] OpenAI. « Prompt Caching ». OpenAI Platform Documentation, OpenAI, disponible sur https://platform.openai.com/docs/guides/prompt-caching

[4] Gu, C., Li, X. L., Kuditipudi, R., Liang, P., & Hashimoto, T. (2025). Auditing Prompt Caching in Language Model APIs. arXiv. https://arxiv.org/abs/2502.07776

[5] Kelly, Conor. Prompt Caching: Reducing latency and cost over long prompts. Humanloop Blog, 2 octobre 2024, https://humanloop.com/blog/prompt-caching

[6] Chakraborty, S., Zhang, X., Bansal, C., Gupta, I., & Nath, S. (2025). Generative Caching for Structurally Similar Prompts and Responses.

[7] Wu, G., Zhang, Z., Zhang, Y., Wang, W., Niu, J., Wu, Y., & Zhang, Y. (2025). I Know What You Asked: Prompt Leakage via KV-Cache Sharing in Multi-Tenant LLM Serving. Actes du Symposium sur la sécurité des réseaux et des systèmes distribués (NDSS)

Solutions connexes
IBM® watsonx Orchestrate

Concevez facilement des assistants et des agents d’IA évolutifs, automatisez les tâches répétitives et simplifiez les processus complexes avec IBM watsonx Orchestrate.

Explorez watsonx Orchestrate
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise grâce à l’expertise de pointe d’IBM en matière d’IA et à son portefeuille de solutions.

Découvrir les solutions d’IA
Conseil et services en intelligence artificielle

IBM® Consulting et ses services d’IA accompagnent les entreprises dans la redéfinition de leurs activités avec l’intelligence artificielle pour mener leur transformation.

Découvrir les services d’IA
Passer à l’étape suivante

Que vous choisissiez de personnaliser des applications et des compétences prédéfinies ou de créer et de déployer des services agentiques personnalisés à l’aide d’un studio d’IA, la plateforme IBM watsonx est là pour vous.

  1. Explorez watsonx Orchestrate
  2. Découvrir les solutions d’IA