Lance Martin, developer advocate chez Anthropic, présente le mécanisme de prompt caching pour l'API Claude et annonce la nouvelle fonctionnalité d'auto-caching qui simplifie considérablement son utilisation. Les tokens utilisant le cache coûtent seulement 10% du prix normal, ce qui représente une économie critique pour les applications agentiques.

Le problème fondamental est que l'API messages de Claude est stateless : elle ne mémorise rien entre les appels. Un agent qui exécute des actions en boucle doit repackager à chaque tour le nouveau contexte avec l'historique des actions, les descriptions d'outils et les instructions générales. Sans caching, on paie le prix complet de toute la fenêtre de contexte à chaque tour, alors que la majorité du contenu est identique.

Le prompt caching résout ce problème en exploitant les deux phases de l'inférence LLM : le prefill (traitement du prompt) et le decode (génération). Le calcul du prefill peut être effectué une seule fois, sauvegardé, puis réutilisé si une partie du prompt futur est identique. C'est ce que font les frameworks comme vLLM et SGLang.

Techniquement, le caching utilise un paramètre cache_control qui sert de breakpoint. Ce breakpoint crée un hash cryptographique de tous les blocs de contenu jusqu'à ce point, scopé au workspace de l'utilisateur. Lors des requêtes suivantes, Claude cherche en arrière (maximum 20 blocs) pour trouver un match. La correspondance doit être exacte : un seul caractère de différence produit un hash différent et un cache miss.

La nouveauté majeure est l'auto-caching : un seul paramètre cache_control: {"type": "ephemeral"} placé au niveau de la requête (et non plus au niveau de chaque bloc) fait que le breakpoint se déplace automatiquement au dernier bloc cachable. À mesure que la conversation s'allonge, le breakpoint suit automatiquement. Cette fonctionnalité reste compatible avec le caching bloc par bloc pour les cas où l'on souhaite fixer des breakpoints spécifiques (par exemple sur le system prompt).

Martin cite @peakji de Manus qui considère le cache hit rate comme "la métrique la plus importante pour un agent IA en production", et renvoie vers le post complémentaire de @trq212 qui détaille les leçons pratiques tirées de Claude Code : comment structurer le prompt pour maximiser les hits, pourquoi ne jamais modifier les outils ou le modèle en cours de session, et comment concevoir des fonctionnalités (plan mode, compaction) en respectant les contraintes du cache. Les deux articles forment ensemble un guide complet pour construire des agents cache-optimisés sur l'API Claude.