Économie de la mise en cache des prompts LLM : mesurez avant d’acheter des GPU
Tech
AI
LLM Infrastructure
Prompt Caching
Inference

Économie de la mise en cache des prompts LLM : mesurez avant d’acheter des GPU

La mise en cache des prompts peut modifier l’économie cloud-versus-local des LLM, mais uniquement lorsque les workloads réutilisent des préfixes stables. Mesurez avant de provisionner.

Uygar DuzgunUUygar Duzgun
Jul 30, 2026
Mis à jour 17 août 2026
16 min read

La mise en cache des prompts LLM peut rendre une API premium moins chère qu’un GPU local sous-utilisé pour un contexte répété. Elle peut aussi ne générer aucune économie. Les variables déterminantes ne sont pas les prix catalogue des modèles. Ce sont la réutilisation des préfixes, le coût d’écriture du cache, les remises à la lecture, l’expiration, l’éviction, l’utilisation et le coût du travail échoué.

Public visé : praticiens avancés responsables des coûts, de la latence ou des décisions d’infrastructure liées à la plateforme LLM.

La règle pratique : mesurez les lectures du cache et les invalidations sur votre workload réel avant d’acheter de la capacité GPU. Une nouvelle étude de cas sur un agent de programmation d’entreprise souligne ce point avec un résultat impressionnant de 99,3 % de cache-hit, mais ses auteurs ont étudié un seul développeur, deux périodes séquentielles de 28 jours, différentes familles de modèles et une seule base de code en production. Considérez l’article comme une invitation à mesurer, et non comme un verdict cloud-versus-local.

Ce que la mise en cache des prompts LLM change

Un LLM traite l’entrée en deux grandes phases :

Prefill : le modèle lit le prompt et construit les états d’attention pour ses tokens.
Decode : le modèle génère de nouveaux tokens un par un.

Au niveau du serving, la mise en cache des préfixes peut stocker les états d’attention ou les états key-value réutilisables pour un préfixe de prompt. Une requête ultérieure avec le même préfixe éligible peut éviter une partie du travail de prefill répété. Le suffixe variable doit toujours être traité, et le modèle doit toujours décoder une nouvelle réponse.

Cette distinction est importante. La mise en cache des prompts n’est pas de la mise en cache des réponses. Elle ne renvoie pas une réponse stockée, ne raccourcit pas la sortie, ne corrige pas un prompt faible et ne garantit pas une latence de bout en bout plus faible. Elle cible principalement le calcul répété sur l’entrée et améliore souvent le time to first token.

L’article original sur le Prompt Cache a formalisé les modules de prompts réutilisables et rapporté des améliorations prototypes du time-to-first-token allant de 8× sur GPU à 60× sur CPU. Il s’agit de résultats obtenus avec les modèles, le matériel, les prompts et l’implémentation testés dans l’article — et non d’une prévision pour les API commerciales actuelles.

L’étude de cas à 99,3 % : des éléments utiles, mais des limites étroites

Un preprint de juillet 2026, *Inference Economics of Enterprise Coding Agents*, a comparé deux périodes contiguës de 28 jours sur un monorepo de production :

une configuration API utilisant Claude Code avec Claude Opus 4.7 et 4.8 ;
une configuration on-premise utilisant OpenCode avec GLM-5.1 et 5.2 quantifiés sur du matériel NVIDIA Blackwell.

Les auteurs ont analysé la télémétrie LLM et l’historique Git. Ils ont rapporté un taux de cache-hit des prompts de 99,3 % pour la période API, un coût API effectif de 0,573 $ par million de tokens traités et un coût unitaire amorti de 2,83 $ pour l’allocation on-premise partagée. L’API a traité 16,9 fois plus de tokens, tandis que le matériel local était peu utilisé ; ces prix normalisés par token ne suffisent donc pas à trancher la question de l’infrastructure.

Les résultats en coût total vont dans des directions différentes selon l’allocation. Selon les hypothèses de marché taïwanais et de main-d’œuvre de l’article, une capacité locale partagée réduisait de 40,1 % le coût total de possession estimé. Une réservation locale dédiée coûtait 43,8 % de plus que l’API avec cache. La période locale était également associée à un ratio plus élevé de commits de correction : 74,9 % contre 45,9 %.

Ce que les auteurs ont mesuré

la télémétrie des requêtes et des tokens sur les deux périodes ;
le comportement du cache des prompts et les dépenses API réalisées ;
les hypothèses d’allocation et d’amortissement du matériel ;
les commits classés comme fonctionnalités, corrections et autres travaux ;
les indicateurs du workflow du développeur dérivés des horodatages.

Ce qu’ils en ont déduit

l’inférence locale partagée peut l’emporter sur le coût total lorsque l’utilisation est suffisamment élevée ;
le matériel dédié peut être moins avantageux qu’une API fortement mise en cache ;
la qualité du modèle et le travail de correction doivent faire partie du modèle de coûts ;
le routage hybride peut échanger des économies d’infrastructure contre une charge de défauts.

Ce que l’étude ne peut pas établir

Le protocole n’était ni randomisé ni simultané. La base de code, le développeur, la répartition des tâches et les pratiques de travail ont pu changer entre les périodes. Les capacités du modèle, la stack de serving, le harness et la quantification ont changé simultanément. Le premier auteur connaissait l’hypothèse. Le label de commit de correction est un proxy, et non un audit indépendant des défauts. La télémétrie brute de production et l’environnement complet de replay n’ont pas été publiés.

La conclusion durable est plus étroite que les chiffres mis en avant : la réutilisation des prompts et l’utilisation des GPU peuvent dominer les comparaisons de prix catalogue, tandis que le travail de correction peut dominer les économies de tokens.

Définissez le contrat de mesure avant de calculer un taux de hit

« Taux de cache-hit » est ambigu si le dénominateur n’est pas explicite. Un dashboard peut diviser les tokens lus depuis le cache par les tokens de préfixe éligibles. Un autre peut diviser les requêtes ayant une lecture du cache par l’ensemble des requêtes. Un troisième peut présenter les tokens mis en cache comme une part de l’entrée totale, suffixe non mis en cache compris.

Utilisez des métriques distinctes :

Tokens de préfixe éligibles : tokens d’entrée qui pourraient être réutilisés selon les règles du fournisseur ou du moteur.
Ratio de lecture du cache : tokens lus depuis le cache divisés par les tokens de préfixe éligibles.
Ratio de hit par requête : requêtes éligibles ayant au moins une lecture du cache divisées par les requêtes éligibles.
Amplification des écritures : tokens écrits dans le cache divisés par les tokens de préfixe éligibles.
Suffixe non mis en cache : tokens d’entrée variables traités à chaque requête.
Time to first token : temps écoulé avant l’arrivée du premier token généré.
Latence de bout en bout : temps écoulé jusqu’à la fin de la réponse utilisable.
Coût par tâche réussie : coût total de l’inférence et de la plateforme divisé par les tâches qui satisfont les critères d’acceptation.
Recommandé pour vous

Conservez séparément les champs d’utilisation fournis par le fournisseur et les métriques que vous dérivez. Les décomptes de tokens peuvent également changer avec les tokenizers et les templates des modèles ; l’explication de la taxe tokenizer des LLM montre pourquoi le simple comptage des caractères est un mauvais substitut.

Le comportement actuel des API et du self-hosted n’est pas uniforme

L’instantané suivant a été vérifié le 30 juillet 2026. Vérifiez à nouveau la documentation liée avant de l’utiliser pour des achats ou la facturation.

PlateformeContrôle du cacheSignal observableContrainte opérationnelle
------------
OpenAI APIGPT-5.6 prend en charge la mise en cache implicite et explicite des prompts`cached_tokens` et `cache_write_tokens`Les recommandations actuelles de GPT-5.6 facturent les écritures explicites à 1,25× l’entrée non mise en cache ; les lectures bénéficient d’une remise
Anthropic APIMise en cache automatique ou points de rupture explicites des blocsUtilisation distincte pour la création et la lecture du cacheL’ordre des préfixes est tools, system, puis messages ; la TTL par défaut est de 5 minutes, avec une option payante d’une heure
Gemini Interactions APILa mise en cache implicite du contexte est activée par défaut pour Gemini 2.5 et les modèles plus récents`usage.total_cached_tokens`Le contenu commun doit être placé au début ; les minimums actuels vont de 2 048 à 4 096 tokens selon le modèle
vLLMAutomatic Prefix Caching peut être activé dans le moteurMétriques du moteur et temps des requêtesVotre équipe est responsable de la capacité, de l’éviction, de l’isolation, des mises à niveau et de l’observabilité

Les recommandations actuelles d’OpenAI pour les modèles indiquent aux utilisateurs de GPT-5.6 de surveiller les écritures et les lectures du cache, car les écritures explicites coûtent plus cher que l’entrée non mise en cache. La documentation d’Anthropic sur la mise en cache des prompts documente des écritures de 5 minutes à 1,25× l’entrée de base, des écritures d’une heure à 2× et des lectures du cache à 0,1×. Le guide de Google sur la mise en cache du contexte indique que la mise en cache implicite est automatique dans son Interactions API et que les tokens mis en cache sont signalés dans l’utilisation. L’exemple d’Automatic Prefix Caching de vLLM montre la même idée de préfixe partagé dans un moteur self-hosted.

Ces implémentations partagent un principe, et non un contrat de facturation portable. Les longueurs minimales de préfixe, la portée du cache, la rétention, les frais de stockage, les champs d’utilisation et l’isolation peuvent différer.

Boucle de mesure du cache des prompts en quatre étapes couvrant la conception du préfixe, la télémétrie d’utilisation, les tests d’invalidation et le coût total
Boucle de mesure du cache des prompts en quatre étapes couvrant la conception du préfixe, la télémétrie d’utilisation, les tests d’invalidation et le coût total

*Mesurez le cache avant de modifier l’infrastructure : stabilisez le préfixe, exécutez des tests à froid et à chaud, forcez l’invalidation, puis comparez le coût total.*

Une formule de seuil de rentabilité pour le préfixe réutilisable

Soit :

`U` = prix de l’entrée non mise en cache par token de préfixe réutilisable ;
`W` = prix d’écriture du cache par token de préfixe réutilisable ;
`R` = prix de lecture du cache par token de préfixe réutilisable ;
`N` = nombre de requêtes qui réutilisent le préfixe avant son expiration ou son éviction.

En ignorant les frais de stockage, le coût moyen du préfixe réutilisable par requête est :

`(W + (N - 1) × R) / N`

La mise en cache est moins chère que le traitement non mis en cache de ce préfixe lorsque :

`N > (W - R) / (U - R)`

Cette équation isole le préfixe réutilisable. Elle exclut le suffixe variable, les tokens de sortie, la longueur minimale pouvant être mise en cache, les frais de stockage, les échecs dus à l’éviction, les effets de concurrence, le travail d’ingénierie et les tâches échouées.

Pour un exemple daté, les multiplicateurs de 5 minutes d’Anthropic au 30 juillet 2026 étaient `U = 1`, `W = 1.25` et `R = 0.1`. Le seuil limité à l’entrée est `N > 1.28` ; la deuxième utilisation pendant la durée de vie du cache amortit donc la charge d’écriture plus élevée pour ce préfixe éligible. Cela ne signifie pas que deux appels API au total rendent la mise en cache rentable. Un préfixe court, un long suffixe non mis en cache, un cache miss ou une sortie coûteuse peuvent annuler l’économie.

Utilisez l’équation comme test unitaire de votre modèle de coûts. Remplacez chaque variable par les valeurs du contrat actuel du fournisseur et de votre workload mesuré.

Pourquoi des prompts apparemment stables ratent le cache

La plupart des cache miss commencent dans la construction du prompt, et non dans le modèle.

Des données volatiles apparaissent trop tôt

Un horodatage, un identifiant de requête, un nonce aléatoire, un nom d’utilisateur ou un nouveau résultat de retrieval placé près du début modifie chaque token qui suit. Placez d’abord les tools, politiques, templates et documents réutilisables et stables. Déplacez les données propres à la requête après le préfixe réutilisable ou le point de rupture explicite.

La sérialisation change entre les requêtes

L’ordre des clés JSON, les espaces, l’ordre des tools et l’ordre des documents peuvent modifier un préfixe par ailleurs équivalent. Utilisez une sérialisation déterministe. Triez les définitions des tools et les documents récupérés selon des identifiants stables lorsque la sémantique le permet.

Le gestionnaire de contexte détruit la continuité du préfixe

Un pruning agressif peut économiser des tokens d’entrée tout en invalidant les préfixes mis en cache. TokenPilot, un preprint en cours de juin 2026, traite cela comme un problème d’optimisation conjointe. Ses auteurs stabilisent l’ingestion et retardent l’éviction jusqu’à ce que le contexte perde sa valeur pour la tâche. Ils rapportent des réductions de coûts de 56 % à 87 % sur deux benchmarks et deux modes d’exécution, tout en maintenant des performances compétitives. Ces résultats doivent être répliqués au-delà des workloads de l’article et de l’intégration LightMem2.

Le cache expire ou est évincé sous la charge réelle

Recommandé pour vous

Un test local à chaud peut masquer les limites de TTL et la pression sur la capacité. La mise en cache des préfixes en self-hosted partage la même réalité de mémoire finie que les autres systèmes de KV-cache. Le guide approfondi sur l’éviction du KV-cache explique pourquoi la réutilisation peut s’effondrer lorsque la concurrence et la longueur des séquences augmentent.

Le modèle ou le template change

Une version de modèle, un tokenizer, un chat template, un réglage de détail d’image, un schéma de tool ou un préambule de sécurité peut créer un nouveau préfixe. Traitez les releases et les migrations de prompts comme des événements d’invalidation du cache.

Les discussions d’ingénierie actuelles de vLLM illustrent cette pression. Une proposition de rétention tenant compte du contexte soutient que les workloads d’agents concurrents peuvent évincer des préfixes précieux, tandis qu’une proposition de KV-cache sémantique explore la réutilisation au-delà des correspondances exactes. Il s’agit de discussions de conception ouvertes, et non de garanties de production ou de mesures d’adoption.

Un test reproductible du cache des prompts

Recommandé pour vous

Utilisez le même ensemble de tâches que celui employé pour benchmarker des modèles AI sur du travail réel. Le test du cache ajoute des mutations contrôlées du préfixe et la comptabilisation de l’infrastructure.

1. Figez un workload représentatif

Choisissez 30 à 100 tâches issues du trafic de production ou d’un jeu de replay respectueux de la confidentialité. Préservez la distribution réelle des longueurs de préfixe, des longueurs de suffixe, des longueurs de sortie, des tools, des documents et de la concurrence. Définissez la réussite d’une tâche avant d’exécuter le test.

N’optimisez pas sur un seul long prompt de démonstration. Un workflow de support favorable au cache et un workflow de recherche défavorable au cache peuvent avoir une économie opposée.

2. Séparez le contenu stable et volatil

Étiquetez chaque segment du prompt :

stable pendant tout le déploiement ;
stable au sein d’un tenant ou d’une session ;
changeant à chaque requête ;
suffisamment sensible pour nécessiter une décision distincte de rétention.

Construisez un assembleur de prompts déterministe. Enregistrez une version opaque du préfixe ou un hash clé afin que chaque requête identifie le préfixe qu’elle a tenté de réutiliser. Ne placez pas de secrets ni de contenu client brut dans les logs.

3. Exécutez une matrice contrôlée

Pour chaque classe de tâches, mesurez :

EssaiModificationQuestion à laquelle il répond
---------
À froidNouveau préfixe sans état réutilisableQuel est le coût de base de l’écriture ou du prefill ?
À chaudPréfixe éligible identiqueLe fournisseur ou le moteur signale-t-il une lecture ?
Mutation précoceModifier un token près du débutQuelle part de la réutilisation disparaît ?
Mutation tardiveModifier uniquement le suffixeLe préfixe stable reste-t-il réutilisable ?
Limite de TTLRépéter avant et après l’expirationÀ quelle fréquence le trafic de production arrivera-t-il à temps ?
ConcurrenceAugmenter progressivement les requêtes parallèlesL’éviction ou la planification réduisent-elles la réutilisation ?
Changement de versionModifier le modèle, les tools ou le templateQuels déploiements invalident le cache ?

Effectuez suffisamment de répétitions pour rapporter des distributions plutôt qu’une seule valeur de latence. Séparez le time to first token p50 et p95 de la latence de bout en bout.

4. Enregistrez facturation et qualité ensemble

Capturez :

les tokens d’entrée non mis en cache ;
les tokens écrits dans le cache ;
les tokens lus depuis le cache ;
les tokens de sortie ;
les frais de stockage ou de rétention ;
le time to first token et le temps de complétion ;
le coût des rate limits ou des retries ;
la réussite de la tâche et le temps de correction humaine.

La réutilisation d’un état pour un préfixe exact doit éviter le calcul de prefill répété ; elle ne dispense pas d’un contrôle qualité. Un changement de modèle, de niveau de quantification, de politique de routage ou de stack de serving peut modifier la qualité des sorties même lorsque le mécanisme de cache fonctionne correctement.

5. Calculez trois visions des coûts

Facture du fournisseur : utilisation réellement facturée pendant la période de test.
Coût par tâche réussie : facture du fournisseur plus les retries et le travail de correction, divisée par les tâches acceptées.
Coût total de possession : coût API et ingénierie comparé à l’amortissement du matériel, au financement, à l’énergie, à la capacité inutilisée, au réseau, à l’observabilité, au travail d’astreinte et au travail de mise à niveau.

Si l’option locale dépend d’une utilisation soutenue, testez cette hypothèse d’utilisation. Un achat de GPU ne devient pas rentable parce qu’un tableur attribue chaque heure inactive à une demande future.

API cloud, GPU local ou routage hybride ?

La décision est rarement binaire.

Préférez une API avec cache lorsque

les préfixes sont longs, stables et réutilisés pendant la fenêtre de rétention du fournisseur ;
la demande est suffisamment irrégulière pour que des GPU dédiés restent inactifs ;
un modèle hébergé plus performant réduit sensiblement les retries ou le travail de correction ;
la gestion des données, l’isolation du cache et les contrôles régionaux du fournisseur respectent les règles internes.

Préférez une capacité locale partagée lorsque

l’utilisation agrégée est élevée et mesurable ;
l’arrivée des workloads est prévisible ;
les contraintes de données ou de latence imposent une exécution locale ;
l’équipe peut assurer le serving, les mises à niveau, l’observabilité, l’isolation et la réponse aux incidents ;
des évaluations représentatives montrent une qualité et une charge de correction acceptables.

Utilisez le routage hybride lorsque

les tâches stables et fortement réutilisées bénéficient des API avec cache ;
les tâches prévisibles à fort volume maintiennent les GPU locaux partagés occupés ;
les données sensibles ou réglementées nécessitent une route différente ;
des quality gates peuvent faire remonter les tâches difficiles sans masquer le coût supplémentaire.
Recommandé pour vous

Les endpoints gratuits ou subventionnés peuvent aider pour les prototypes, mais ils ne suppriment pas le besoin de comptabiliser le workload. L’étude de cas sur l’API de modèles AI gratuits constitue un bon point de départ pour séparer le prix d’accès de la fiabilité en production.

La sécurité du cache des prompts nécessite son propre test

La mise en cache crée une temporisation dépendante des données : un préfixe réutilisé peut renvoyer son premier token plus rapidement qu’un cache miss. Un audit ICML 2025 a utilisé des mesures de timing pour tester de vraies API et rapporté des indices de partage du cache entre utilisateurs chez sept fournisseurs pendant la période étudiée.

Ce résultat constitue un élément historique et spécifique à certains fournisseurs. Il ne permet pas d’établir comment ces services isolent leurs caches aujourd’hui.

Demandez aux fournisseurs actuels et aux responsables de la plateforme interne :

La portée du cache est-elle globale, organisationnelle, liée au projet, au tenant, à la session ou à une clé de requête spécifique ?
Comment les frontières entre tenants sont-elles appliquées ?
Les appelants peuvent-ils fournir des clés de cache ou des salts ?
Quelles sont les règles de rétention et de suppression ?
Le mode zero-data-retention modifie-t-il le comportement du cache ?
Quels enregistrements d’utilisation et d’audit prouvent que la politique configurée est respectée ?

Pour les systèmes self-hosted, incluez des tests de timing et d’éviction entre tenants. Ne journalisez pas les préfixes sensibles réutilisables simplement pour déboguer le cache. Stockez des hashes, des décomptes de tokens, des identifiants de version et des métadonnées conformes aux règles de sécurité.

La checklist de décision

N’approuvez pas un achat de GPU ou une migration d’API sur la seule base des prix catalogue. Exigez :

un dénominateur défini pour les préfixes éligibles ;
des résultats à froid, à chaud, après mutation, aux limites de TTL et sous concurrence ;
des lectures et écritures du cache mesurées à partir des champs d’utilisation réels ;
le time to first token p50 et p95 ainsi que la latence de bout en bout ;
le coût par tâche réussie, travail de correction compris ;
une politique documentée d’isolation et de rétention du cache ;
des scénarios d’utilisation locale partagée et dédiée ;
un scénario de routage hybride ;
un plan de réexécution lors des changements de modèle, de template et de tools.

La mise en cache des prompts est précieuse parce que le contexte répété est courant. Elle est dangereuse comme raccourci d’achat parce que la réutilisation dépend du workload. Mesurez le préfixe, mesurez les cache miss, puis comparez le coût total.

Vérification des affirmations

Affirmation importanteType de preuveVérification et limite
---------
L’étude sur l’agent de programmation a rapporté un taux de cache-hit des prompts de 99,3 %Recherche primaire, preprint de juillet 2026Un développeur, une base de code, deux périodes séquentielles ; le résultat n’est pas transposable
L’article a rapporté 0,573 $/M de tokens API traités contre 2,83 $/M pour l’allocation locale partagéeRecherche primaireL’API a traité 16 fois plus de tokens et l’utilisation locale était faible ; les dépenses totales et le TCO sont des comparaisons plus solides
La capacité locale partagée a réduit le TCO de 40,1 %, tandis que la capacité dédiée coûtait 43,8 % de plusRecherche primaireDépend des hypothèses de l’article concernant le matériel, l’allocation, le marché taïwanais, la main-d’œuvre et la qualité
La mise en cache des préfixes réutilise l’état d’attention pour les segments répétés des promptsRecherche primaire évaluée par les pairs et documentation officielle des moteursElle réduit le travail de prefill répété ; le décodage et le traitement du suffixe variable restent nécessaires
Les écritures de cache de 5 minutes d’Anthropic coûtent 1,25× et les lectures 0,1× l’entrée de baseDocumentation officielle vérifiée le 30 juillet 2026Les prix et les modèles pris en charge peuvent changer ; l’exemple exclut la sortie, le suffixe et le stockage
La mise en cache implicite de Gemini est activée par défaut pour Gemini 2.5 et les modèles plus récents dans l’Interactions APIDocumentation officielle mise à jour le 7 juillet 2026Les nombres minimaux de tokens et la prise en charge du cache explicite diffèrent selon l’API et le modèle
TokenPilot a rapporté des réductions de coûts de 56 % à 87 % dans les configurations testéesRecherche primaire, preprint en coursDeux benchmarks et une intégration spécifique ; une réplication indépendante est nécessaire
Le timing du cache des prompts peut exposer des informations lorsque la portée du cache traverse les utilisateursRecherche primaire ICML 2025Audit historique des fournisseurs testés ; ne pas en déduire le comportement actuel des fournisseurs

Sources

[Recherche primaire] Peng, Lin et Lee, *Inference Economics of Enterprise Coding Agents: A Case Study of Cloud vs. On-Premise LLMs*, arXiv, 13 juillet 2026.
[Recherche primaire] Gim et al., *Prompt Cache: Modular Attention Reuse for Low-Latency Inference*, MLSys 2024.
[Recherche primaire] Xu et al., *TokenPilot: Cache-Efficient Context Management for LLM Agents*, arXiv, 15 juin 2026.
[Recherche primaire] Gu et al., *Auditing Prompt Caching in Language Model APIs*, ICML 2025.
[Documentation officielle] Anthropic, Prompt caching, vérifiée le 30 juillet 2026.
[Documentation officielle] OpenAI, GPT-5.6 model guidance, vérifiée le 30 juillet 2026.
[Documentation officielle] Google, Gemini context caching, mise à jour le 7 juillet 2026.
[Documentation officielle] vLLM, Automatic Prefix Caching, vérifiée le 30 juillet 2026.
[Discussion d’ingénierie open source ; anecdotique] Issue #37003 de vLLM, Context-aware cache retention, vérifiée le 30 juillet 2026.
[Discussion d’ingénierie open source ; proposition] Issue #44223 de vLLM, Semantic KV cache RFC, vérifiée le 30 juillet 2026.