Prompt caching
IA / LLM 🟡 MidDéfinition
Réutilisation côté serveur d'un préfixe de prompt déjà traité (outils, system, début des messages) pour réduire coût et latence. Chez Anthropic : cache_control ephemeral, TTL 5 min (écriture 1,25× le prix d'entrée) ou 1 h (2×), lecture à 0,1× (0,025× sur Fable 5.1). Minimum cachable de 512 à 4 096 tokens selon le modèle, 4 points de cache max, et le moindre octet changé dans le préfixe invalide la suite.
Analogie
Un serveur qui garde en mémoire la carte et vos allergies : vous ne redites que votre plat du jour.
Exemple de code
// Contenu stable d'abord (system + docs volumineux), volatile ensuite
const msg = await client.messages.create({
model: 'claude-sonnet-5', max_tokens: 800,
system: [
{ type: 'text', text: LONG_POLICY_DOC, // ≥ 1024 tokens sur Sonnet 5
cache_control: { type: 'ephemeral', ttl: '1h' } }, // point de cache
],
messages: [{ role: 'user', content: question }], // varie : après le cache
});
console.log(msg.usage.cache_creation_input_tokens, // écrit au 1er appel
msg.usage.cache_read_input_tokens); // lu ensuite (10 % du prix)
// Piège : un Date.now() dans le system prompt = 0 lecture de cache.
Cas d'usage
Chatbot sur une grosse documentation, agents avec de nombreuses définitions d'outils, conversations longues.
Anti-pattern
Mettre l'horodatage ou l'identifiant de requête en tête du system prompt : le cache ne sert jamais.
Termes liés
Sources
Fiche mise à jour le 2026-09-27