Retour aux guides
Tarification·4 septembre 2026·Mis à jour le 30 septembre 2026·10 min de lecture

Mise en cache des prompts Claude — tarifs, objet d’utilisation et raisons de la baisse des taux de réussite derrière une passerelle

Correctement marqué, il coûte un dixième du tarif. Mal marqué, il coûte plus cher que l’absence totale de cache.

Dernière vérification le .

La mise en cache des invites est le plus grand levier individuel sur la facture d’un agent, et celui qui a le plus de chances de ne pas fonctionner silencieusement. Lorsqu’elle est correctement marquée, la partie répétée de votre requête est facturée à un dixième du tarif d’entrée. Lorsqu’elle est mal marquée — ou qu’elle passe par un élément qui réécrit votre préfixe — elle est facturée au-delà du tarif normal, car vous payez pour écrire des entrées de cache que personne ne lit.

Le mécanisme est bien documenté ailleurs. En revanche, les changements lorsque la requête passe par une passerelle ne sont documentés nulle part ; c’est pourtant la situation de la plupart des lecteurs de cette page. Les deux aspects sont présentés ci-dessous.

Le mécanisme, en bref

Vous marquez un préfixe stable — une invite système, un schéma d’outil, un document — et le fournisseur en stocke la forme traitée. La requête suivante dont le préfixe correspond exactement le relit au lieu de le retraiter.

POST /v1/messages
{
  "model": "claude-sonnet-5",
  "max_tokens": 1024,
  "system": [
    {
      "type": "text",
      "text": "<your long, stable instructions>",
      "cache_control": { "type": "ephemeral" }
    }
  ],
  "messages": [{ "role": "user", "content": "..." }]
}

Deux propriétés font tout le travail et causent tous les problèmes. La correspondance porte sur un préfixe ; toute modification au début invalide donc tout ce qui suit. Et une entrée possède une durée de vie ; une conversation avec de longs intervalles entre les tours reconstruit donc l’entrée au lieu de la relire.

Ce que cela coûte

ModèleEntrée, par 1MLecture du cacheÉcriture du cache sur Kunavo
Claude Haiku 4.5$0,70$0,07$0,88
Claude Sonnet 5$1,40$0,14$1,75
Claude Opus 5$3,50$0,35$4,38

La troisième colonne correspond au ratio standard : une lecture coûte un dixième de l’entrée. La quatrième est également standard — une écriture de cache coûte 1,25× l’entrée, le multiplicateur indiqué par Anthropic pour une entrée de cinq minutes — et, puisque les deux ratios s’appliquent au prix d’entrée de Kunavo, chacune bénéficie de la même remise par rapport au tarif catalogue d’Anthropic que l’entrée du modèle. Kunavo diverge d’Anthropic pour l’entrée d’une heure : Anthropic indique une écriture à 2× l’entrée, tandis que Kunavo la facture au même tarif de 1,25×. Cela importe particulièrement pour les charges qui reconstruisent souvent le cache — agents de longue durée, conversations lentes, tout ce dont le préfixe change fréquemment — car ce sont les charges où les écritures, et non les lectures, dominent la ligne cache de la facture.

Les deux chiffres sont lus dans le catalogue au moment du rendu, depuis la même source que consultent le tableau des tarifs et le calculateur Claude — aucun tarif n'est saisi manuellement sur cette page.

Lire l'objet d'utilisation

Ne déduisez pas le comportement du cache à partir de la facture ; chaque réponse vous l'indique directement, et les trois décomptes de tokens constituent tout le diagnostic.

// The four numbers that tell you whether caching is working.
// Read them from every response before you tune anything.
"usage": {
  "input_tokens": 312,                     // billed at the input rate
  "cache_creation_input_tokens": 0,        // billed at the write rate
  "cache_read_input_tokens": 24106,        // billed at the read rate
  "output_tokens": 890
}

// A healthy cached agent turn looks like the above: a small
// input_tokens, a large cache_read, and a zero creation.
// If cache_creation is large on EVERY turn, the cache is being
// rebuilt each time and you are paying more, not less.

Pourquoi les taux de réussite baissent derrière une passerelle

Un cache réside auprès du serveur amont qui l'a créé, et la correspondance du préfixe est exacte. Ces deux faits réunis produisent trois modes d'échec qui ne surviennent jamais lorsque vous appelez directement un seul fournisseur :

Le routage a changé. Si des requêtes consécutives aboutissent à des serveurs amont différents, la seconde ne trouve aucun cache — l'entrée écrite par la première n'est pas visible depuis l'endroit où la seconde s'est exécutée. Cela est invisible dans vos propres journaux et n'apparaît que sous la forme d'un nombre de créations de cache qui aurait dû correspondre à une lecture. C'est la cause la plus fréquente, et c'est pourquoi une passerelle qui réachemine librement entre plusieurs serveurs amont peut être moins chère par token et plus chère par session.

Quelque chose a été injecté avant votre préfixe. Une couche qui réécrit le message système, normalise les définitions d'outils ou réorganise les champs produit un préfixe différent, et un préfixe différent entraîne un échec de cache. Rien ne génère d'erreur ; la facture augmente simplement.

L'intervalle a dépassé la durée de vie de l'entrée. Un agent qui réfléchit plusieurs minutes entre deux tours peut tout reconstruire à chaque fois. Il s'agit d'une propriété de votre charge de travail plutôt que de la passerelle, mais elle interagit mal avec le premier point : une reconstruction est également une occasion de réacheminement.

Le diagnostic est le même pour les trois cas — observez cache_creation_input_tokens pendant une session. Une valeur stable et élevée signifie que vous reconstruisez. Une valeur élevée une seule fois, puis nulle, signifie que cela fonctionne. Dans Kunavo, le coût au niveau de la requête et les nombres de tokens mis en cache figurent dans la vue d'utilisation, et la référence de mise en cache contient les détails au niveau du point de terminaison.

Que faire

Gardez le préfixe mis en cache réellement stable — placez tout ce qui change à chaque requête après le bloc marqué, jamais avant. Regroupez les tours d'un agent plus rapprochés lorsque c'est possible, car le temps d'inactivité est l'ennemi d'une entrée à durée de vie courte. Et mesurez une session de bout en bout plutôt qu'une requête : la mise en cache est une propriété d'une séquence, et une estimation par requête ne peut pas la détecter. Le calculateur de coût des tokens Claude comporte un champ de tokens mis en cache précisément pour cette raison — définissez-le sur la fraction de votre prompt qui se répète réellement, et le montant mensuel cesse d'être fictif.

Questions fréquentes

Comment fonctionne la mise en cache des invites Claude ?

Vous marquez un préfixe stable de la requête — généralement l’invite système, les définitions d’outils ou un long document — avec cache_control, et le fournisseur stocke la forme traitée de ces tokens. Lors de la requête suivante dont le préfixe correspond exactement, ces tokens sont servis depuis le cache et facturés à une fraction du tarif d’entrée au lieu d’être retraités. La correspondance porte sur un préfixe exact ; toute modification au début de la requête invalide donc tout ce qui suit.

Quelle économie la mise en cache des invites Claude permet-elle ?

La lecture du cache est facturée au dixième du tarif d’entrée du modèle. Sur Claude Sonnet 5, cela représente $0,14 au lieu de $1,40 par million de tokens ; sur Claude Opus 5, $0,35 au lieu de $3,50 ; sur Claude Haiku 4.5, $0,07 au lieu de $0,70. L’économie dépend entièrement de la proportion de votre entrée qui se répète : un produit de chat où chaque prompt est différent n’économise rien, tandis qu’un agent de codage qui renvoie une carte du dépôt de 24 000 tokens à chaque tour transforme la majeure partie de sa facture d’entrée en un dixième de celle-ci.

Kunavo facture-t-il un supplément d’écriture du cache ?

Oui — le même multiplicateur de 1,25× que celui facturé par Anthropic, au tarif remisé du modèle. L’API d’Anthropic facture l’écriture d’une entrée de cache au-dessus du tarif d’entrée normal, car cette écriture coûte plus à traiter qu’un token ordinaire : 1,25× l’entrée pour une entrée de cinq minutes et 2× pour une entrée d’une heure. Kunavo facture chaque écriture de cache à 1,25× le propre tarif d’entrée du modèle, y compris celle d’une heure ; une écriture bénéficie donc de la même remise par rapport au tarif catalogue d’Anthropic que l’entrée du modèle — sur Claude Sonnet 5, $1,75 par 1M de tokens écrits contre $1,40 pour l’entrée normale. Ce ratio est défini à un seul endroit du code de facturation, avec une valeur de 1.25 pour les modèles Claude, et les calculateurs de ce site lisent le tarif résultant depuis cette même fonction au lieu de le reproduire ; le chiffre affiché ne peut donc pas diverger du montant facturé.

Pourquoi mon taux d’accès au cache est-il faible via une passerelle ?

Parce qu’un cache est lié à l’amont qui le détient et que la correspondance du préfixe est exacte. Trois éléments le perturbent dans une configuration avec passerelle, alors qu’ils ne le feraient pas directement auprès d’un seul fournisseur. Une requête routée vers un amont différent du précédent ne trouve aucun cache à cet endroit, car les caches ne sont pas partagés entre eux. Tout élément injecté avant votre préfixe — un message système réécrit, une liste d’outils réordonnée — produit un préfixe différent et donc un échec de correspondance. Enfin, un intervalle supérieur à la durée de vie de l’entrée l’expire ; un agent lent reconstruit donc le cache à chaque tour. L’objet d’utilisation vous indique lequel : une grande valeur de cache_creation_input_tokens à chaque requête signifie une reconstruction, pas une mise en cache.

Comment savoir si la mise en cache des invites fonctionne réellement ?

Lisez l’objet d’utilisation plutôt que la facture. Chaque réponse indique séparément input_tokens, cache_creation_input_tokens et cache_read_input_tokens. Un cache fonctionnel affiche un faible nombre de tokens d’entrée, un grand nombre de cache_read et zéro ou occasionnellement un nombre de créations. Un cache reconstruit affiche un grand nombre de créations à chaque tour — ce qui coûte plus cher que l’absence de cache, puisque vous payez pour écrire des entrées que personne ne lit.

Quelle est la taille minimale d’un cache d’invite Claude ?

Il existe un seuil en dessous duquel un préfixe ne peut pas être mis en cache, et il diffère selon le niveau du modèle ; une courte invite système peut donc ne jamais être mise en cache, même si vous la marquez. Le test pratique est empirique plutôt que documentaire : marquez le préfixe, envoyez deux requêtes identiques et vérifiez si la seconde indique une valeur de cache_read_input_tokens supérieure à zéro. Si ce n’est pas le cas, le préfixe est soit inférieur au seuil, soit non identique au niveau des octets.

La mise en cache des invites change-t-elle ce que renvoie le modèle ?

Non. La mise en cache est une optimisation de facturation et de latence du traitement du préfixe, pas une modification de ce que le modèle voit ou produit. La même requête avec ou sans cache_control renvoie le même type de réponse ; ce qui change, c’est le coût du préfixe et la rapidité d’arrivée du premier token.