Cache de prompts
Quand vous renvoyez souvent le même début de prompt (consignes, documents, historique), le cache évite de le payer plein tarif à chaque fois. C’est le levier d’économie le plus puissant pour les assistants de code et les agents.
Comment ça marche
Le début de votre requête (le « préfixe ») est mémorisé par le fournisseur du modèle. Lors des requêtes suivantes, si le début est strictement identique, les tokens correspondants sont lus depuis le cache au lieu d’être traités à nouveau, à un tarif bien plus bas.
Trois types de tokens apparaissent dans vos factures et dans le champ usage de chaque réponse :
| Type | Quand | Tarif |
|---|---|---|
| Entrée normale | Tokens non mis en cache | 100 % du tarif d’entrée |
| Écriture dans le cache | La première fois qu’un préfixe est mémorisé | 125 % du tarif d’entrée (durée de 5 minutes), 200 % (durée de 1 heure) |
| Lecture depuis le cache | Les fois suivantes, tant que le cache est valide | Une fraction du tarif d’entrée, indiquée dans le catalogue (souvent 10 %, parfois moins) |
Combien ça rapporte
Coût d’un même préfixe envoyé plusieurs fois, en multiples du tarif d’entrée (écriture de 5 minutes à 125 %, lecture à 10 %) :
| Nombre de requêtes | Sans cache | Avec cache |
|---|---|---|
| 1 | 1,00 | 1,25 |
| 2 | 2,00 | 1,35 |
| 5 | 5,00 | 1,65 |
| 10 | 10,00 | 2,15 |
| 50 | 50,00 | 6,15 |
Le cache est rentabilisé dès la deuxième requête. Sur une conversation ou une boucle d’agent de 50 requêtes, la partie répétée coûte environ 8 fois moins cher.
L’activer avec l’API native (Claude)
Ajoutez cache_control au dernier bloc du préfixe que vous voulez mémoriser. Vous pouvez poser jusqu’à quatre points de cache par requête.
{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"system": [
{
"type": "text",
"text": "Tu es l’assistant juridique de la société… (consignes longues, stables)",
"cache_control": { "type": "ephemeral" }
}
],
"messages": [{ "role": "user", "content": "Que dit l’article 7 ?" }]
}Vérifiez que le cache fonctionne dans le champ usage de la réponse :
"usage": {
"input_tokens": 12,
"cache_creation_input_tokens": 4200,
"cache_read_input_tokens": 0,
"output_tokens": 180
}À la requête suivante, cache_read_input_tokens doit apparaître à la place de cache_creation_input_tokens.
Les règles à respecter
- Mettez le contenu stable en premier (consignes, documents, outils) et le contenu qui change en dernier (question de l’utilisateur). Une seule différence dans le préfixe invalide le cache.
- Respectez la taille minimale : un préfixe trop court n’est pas mis en cache (de l’ordre de 1 000 tokens ou plus selon le modèle).
- Réutilisez rapidement : le cache de 5 minutes se renouvelle à chaque lecture ; au-delà d’une pause de 5 minutes, il expire.
- Ne changez pas le modèle : le cache est propre à chaque modèle.
- Selon la famille de modèles, la mise en cache peut être automatique et ne demander aucun réglage : dans tous les cas, surveillez les tokens « cache » du champ
usagede vos réponses.