Prompt caching Anthropic (auto-injecté)

On ajoute les breakpoints `cache_control` à vos requêtes Anthropic automatiquement. Input ~10x moins cher sur les cache hits, zéro config.

Le prompt caching Anthropic peut diviser par ~10 le coût des tokens d'input sur les prefixes répétés (system prompt, schémas d'outils, long contexte). Mais l'API ignore silencieusement cache_control quand le prefix est trop petit, et la plupart des utilisateurs BYOK ne savent même pas que ça existe. HiWay injecte les bons breakpoints aux bons blocs de chaque requête Anthropic, invisiblement. Vous payez 0,1x sur les cache hits sans avoir à y penser.

Activé par défaut

Aucun setup. Les modèles Anthropic (Sonnet, Opus, Haiku) bénéficient automatiquement de l'injection. Les hits apparaissent dans votre usage sous cache_read_input_tokens.

Ce qui est mis en cache

  • System prompt, le prefix le plus stable sur une boucle d'agent ou une conversation multi-tours.
  • Définitions d'outils, toute votre toolbelt est cachée une fois, puis rejouée à 0,1x pour chaque appel suivant.
  • Skip volontaire : le dernier user turn, il change à chaque appel, donc le cacher gâcherait une écriture.
  • Skip volontaire : les requêtes où vous avez déjà mis cache_control vous-même, on ne touche jamais à votre intention.

Quand ça s'active vraiment

Anthropic impose une taille minimale de prefix avant que le cache se déclenche (variable selon le modèle, les nouvelles familles Haiku ont besoin d'un prefix plus large que Sonnet/Opus). HiWay estime la taille et n'injecte que si le seuil sera atteint. En dessous, aucun breakpoint n'est ajouté, il n'y aurait rien à gagner.

Combine avec le semantic cache

Les deux couches tournent. Le semantic cache est checké en premier, s'il hit, aucun appel upstream n'a lieu (100% d'économie sur cette requête). Sur miss, la requête part chez Anthropic avec cache_control injecté, 0,1x sur le prefix. Les deux couches attrapent des cas différents et s'additionnent.

Désactivation (opt-out)

L'écriture cache coûte 1,25x (TTL 5 min) ou 2x (TTL 1h) l'input. Le break-even est atteint dès un seul appel répété. Pour des workloads qui ne se répètent jamais (scripts one-shot), les écritures sont gaspillées. Désactivez l'auto-injection par workspace dans Dashboard → Settings → Prompt caching → Anthropic auto-cache, ou via le flag d'environnement pour les déploiements self-hosted.

Vérifier que ça marche

Cherchez cache_read_input_tokens et cache_creation_input_tokens dans le bloc usage Anthropic de votre réponse. Ils apparaissent aussi dans Dashboard → Usage sous "Cache hits" et dans le log par requête.