Prompt caching

IA / LLM 🟡 Mid

Dé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.
#ia#cout#performance#api#interview

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre