Concept Prompt caching
Réutilisation des tenseurs clé-valeur d'un préfixe de prompt identique d'un appel à l'autre : latence réduite, lecture facturée une fraction du prix.
SFEIR AI · Publié le 12 octobre 2026
Un préfixe identique, des tenseurs réutilisés
Le prompt caching évite de recalculer la partie d'un prompt que le modèle a déjà vue. OpenAI le décrit sans ambiguïté : « le cache de prompt stocke des tenseurs clé-valeur (KV), pas les tokens eux-mêmes ». Le gain porte sur le préremplissage, la lecture de l'entrée avant le premier token écrit : moins de latence, et une lecture en cache facturée une fraction du prix d'entrée.
La condition est stricte. OpenAI exige que « l'intégralité du préfixe rendu corresponde » ; Anthropic écrit que « les hits de cache exigent des segments de prompt identiques à 100 % ». D'où la règle d'écriture : instructions stables et documents de référence d'abord, données de l'utilisateur et historique en dernier.
Ce que facturent Anthropic, OpenAI et Google au 12 octobre 2026
Chez Anthropic, le cache suit l'ordre outils, puis système, puis messages, jusqu'au bloc marqué cache_control. La durée de vie par défaut est de cinq minutes, rafraîchie sans frais à chaque lecture ; une option porte à une heure. L'écriture coûte 1,25 fois le prix d'entrée (deux fois pour une heure), la lecture 0,1 fois, moins sur certains modèles récents. Le minimum cacheable va de 512 à 4 096 tokens selon le modèle.
Chez OpenAI, le cache est actif par défaut, avec un minimum de 1 024 tokens à partir de GPT-5.6. La lecture est facturée 0,1 fois le prix d'entrée sur GPT-5.6 et suivants ; depuis GPT-5.6 l'écriture coûte 1,25 fois, alors que les modèles antérieurs ne la surfacturaient pas. Le paramètre prompt_cache_key oriente vers la même machine sans garantir le hit ; la rétention en mémoire est de cinq à dix minutes, une heure au plus.
Chez Google, l'API Gemini applique un cache implicite par défaut depuis Gemini 2.5 et propose un cache explicite d'une heure par défaut, stockage facturé ; la lecture en cache vaut 10 % du prix d'entrée. Sur Vertex AI, la documentation annonce 90 % de remise en cache implicite, sans frais de stockage, et 90 % en cache explicite (Gemini 2.5 et suivants) pour 60 minutes par défaut. Les seuils minimaux diffèrent entre les deux : lisez la page du modèle que vous appelez.
Ce qu'une passerelle ajoute
Un même modèle open-weights est servi par plusieurs fournisseurs, et un cache n'existe que chez l'un d'eux. OpenRouter y répond par le routage collant : après une requête servie depuis le cache, les suivantes repartent vers le même endpoint tant que la lecture en cache y est moins chère que le prompt normal, pendant dix minutes d'inactivité au plus. La session est identifiée par le hachage du premier message système, ou par un session_id qui active le collage dès la première requête réussie. La réponse expose un cache_discount, négatif lors d'une écriture chez Anthropic.
L'enjeu se mesure. Dans sa lettre Inferred du 8 octobre 2026, OpenRouter indique que le fournisseur d'inférence médian servait 44 % des tokens de prompts agentiques depuis le cache en janvier 2026, et 85 % en septembre. Sur des tours de 20 000 à 90 000 tokens d'entrée, sa documentation chiffre le gain « jusqu'à 80 à 90 % » du temps et du coût de préremplissage : un chiffre éditeur, plafond compris.
Ce qui vide le cache
Les pertes de cache viennent de l'application plus que du fournisseur, et chacune repaie le contexte entier au tour suivant.
- Changer de modèle ou de slug : un routeur qui bascule en cours de session repart de zéro, et OpenRouter note qu'un passage vers la variante :nitro du même modèle invalide la clé de session.
- Fixer un provider.order manuel : OpenRouter désactive alors le routage collant et l'équilibrage de charge.
- Modifier la liste ou la définition des outils entre deux appels : chez Anthropic, tout le cache tombe.
- Placer un horodatage ou un identifiant en tête du prompt, ou compresser le début du contexte en cours de session : le préfixe n'est plus identique.
- Laisser un solde de crédits bas : OpenRouter prévient que ses caches expirent alors plus vite.
Questions fréquentes
Le prompt caching change-t-il les réponses du modèle ?
Non. Le cache réutilise les tenseurs clé-valeur calculés sur un préfixe identique ; le modèle produit la même distribution de sortie qu'à froid. Seuls la latence du préremplissage et le prix de l'entrée changent.
Combien coûte une lecture en cache ?
Au 12 octobre 2026, Anthropic et OpenAI facturent la lecture 0,1 fois le prix d'entrée sur leurs modèles récents, Google 10 % sur l'API Gemini et 90 % de remise sur Vertex AI. L'écriture coûte 1,25 fois le prix d'entrée chez Anthropic (deux fois pour une heure) et chez OpenAI depuis GPT-5.6.
Pourquoi mon taux de cache est-il bas alors que mon prompt système ne change pas ?
Cherchez ce qui précède le prompt système ou s'y glisse : un horodatage, un identifiant, une définition d'outil régénérée, un prompt sous le minimum cacheable du modèle, ou un changement de modèle ou de fournisseur entre deux tours. Chacun rend le préfixe différent.
Une passerelle multi-fournisseurs casse-t-elle le cache ?
Elle le peut, puisqu'un cache vit chez un seul fournisseur. OpenRouter y répond par un routage collant de dix minutes au mieux, activable dès la première requête avec un session_id ; un provider.order manuel ou un changement de slug le désactive.
Sources
- OpenAI — Prompt caching (API docs) : tenseurs KV, préfixe identique, ordre stable puis dynamique, tarifs par modèle
- Anthropic — Prompt caching (Claude docs) : ordre outils-système-messages, breakpoints, TTL, multiplicateurs, minimums par modèle
- Google — Context caching (Gemini API) : cache implicite et explicite, TTL, stockage · 2026-10-09
- Google Cloud — Context cache overview (Vertex AI) : remise de 90 % en implicite et explicite · 2026-10-10
- OpenRouter — Prompt Caching : routage collant, session_id, cache_discount
- OpenRouter — Latency and Performance : session de dix minutes, gain de préremplissage, invalidation par changement de slug
- Peter Walker, « Cache is Crucial », Inferred 03, OpenRouter : part médiane de tokens en cache par fournisseur, 44 % en janvier, 85 % en septembre 2026 · 2026-10-08
Prompt caching dans vos projets
Échanger avec SFEIRArticles liés
OpenRouter en production : cache, coûts, latence et données sous contrôle
Brancher OpenRouter prend dix minutes ; ses réglages par défaut sont ceux d'un bac à sable. L'ordre à suivre en production : politique de données, cache de préfixe, plafonds de prix, fallbacks qui ne font pas ce qu'on croit, latence bornée, clés inventoriées. Extraits JSON exacts et ce qui casse.
LLM routers : trois métiers sous un même nom
Marketplace, plan de contrôle, optimiseur d'agents : le marché des AI gateways vend trois produits différents sous une étiquette unique. Les confondre mène à de mauvais achats. La grille de lecture, les stratégies de routage, et ce que le rachat d'OpenRouter par Stripe change à l'architecture.
Edgee : compresser le contexte plutôt que changer de modèle
Les agents de codage paient surtout du contexte relu. Edgee, passerelle française en Rust, s'intercale devant Claude Code ou Codex pour compresser ce contexte sans casser le cache. Ce que ses mesures disent vraiment, une fois séparées de ses chiffres marketing.
Routeur de modèles LLM : quand il bat un modèle unique, et quand il perd
Le 2 octobre 2026, OpenRouter a publié des benchmarks de sept routeurs de modèles, et la liste de leurs faiblesses avec. Ce que les exécutions brutes montrent, pourquoi un index ne décide rien pour vous, et comment coder une escalade mesurée qui tienne en production.
Sol, Terra, Luna : comment choisir et optimiser les coûts dans la famille GPT-5.6
Avec GPT-5.6, OpenAI ne vend plus un modèle mais une échelle de prix-performance : un facteur 5× entre Luna et Sol. Bien exploitée, elle divise votre facture ; mal exploitée, elle la multiplie. Le guide de décision SFEIR pour choisir le bon tier et optimiser le prompt caching.
Le prix par token est une illusion : mesurer le coût par résultat
Comparer les grilles tarifaires ne dit presque rien de la facture réelle. Sur un cycle agentique, la dépense suit l'ingestion, pas la génération : 153 pour 1. Un modèle « moins cher au token » qui relit plus n'économise rien. Le seul indicateur qui compte est le coût par résultat.
LiteLLM : posséder son plan de contrôle LLM
Clés virtuelles, budgets durs, bascule automatique, routage par complexité : LiteLLM fait tenir dans un proxy MIT ce que les marketplaces facturent en commission. En échange, il faut l'opérer, et sa surface d'attaque a fait parler en 2026.
Un modèle par tâche : le guide du routing multi-modèles
Faire tourner toute une usine logicielle sur un seul modèle frontier, c'est payer le tarif du raisonnement pour lire des logs. La mécanique du routage multi-modèles : un modèle par phase, une passerelle unique, l'isolation des sous-agents et la règle qui dit quand le multi-agents mérite son coût.