Prompt Caching
Mettre en cache les parties stables de votre prompt pour diviser coûts et latence sur les appels répétés.
Le prompt caching permet à Claude de réutiliser le travail de traitement d'une partie de prompt entre plusieurs appels. Résultat : les tokens en cache coûtent ~10× moins cher et sont traités beaucoup plus vite.
Quand l'utiliser ?
Dès qu'une partie de votre prompt est stable et réutilisée :
- Un long system prompt avec instructions détaillées
- Un contexte documentaire (RAG, connaissances persistantes)
- Des exemples few-shot longs
- L'historique d'une conversation qui s'allonge
Comment activer le cache
Ajoutez cache_control sur les blocs que vous voulez mettre en cache :
const message = await client.messages.create({
model: 'claude-opus-4-7',
max_tokens: 1024,
system: [
{
type: 'text',
text: 'Tu es un assistant juridique spécialisé en droit français...',
cache_control: { type: 'ephemeral' }
}
],
messages: [
{ role: 'user', content: 'Résume l\'article 1240 du Code civil.' }
]
});Règles importantes
| Token en cache hit | Token standard | |
|---|---|---|
| Coût relatif | ~10% du prix input | 100% |
| Latence | Bien plus faible | Standard |
| TTL par défaut | 5 minutes | N/A |
Le cache expire 5 minutes après le dernier hit. Si vos appels sont trop espacés, le cache se rafraîchit (= coût d'écriture) au lieu d'être réutilisé. Pour les besoins plus longs, il existe un TTL étendu (1h) en option.
Mesurer l'impact
L'objet de réponse contient les compteurs de cache :
{
"usage": {
"cache_creation_input_tokens": 2048,
"cache_read_input_tokens": 0,
"input_tokens": 120,
"output_tokens": 340
}
}Un bon indicateur de santé : le ratio cache_read / (cache_read + cache_creation). En production, visez > 80 %.