Le mécanisme technique : pendant la phase de « prefill » de l'inférence LLM, le modèle traite tous les tokens d'entrée et calcule leurs entrées dans le KV cache. Le prompt caching stocke ce KV cache pour que les requêtes suivantes avec le même préfixe sautent le prefill de la portion mise en cache. Seuls les nouveaux tokens (le message réel de l'utilisateur) nécessitent un traitement. Anthropic, OpenAI et Google offrent tous une forme de prompt caching.
La plupart des implémentations fonctionnent en détectant les préfixes correspondants automatiquement ou en te laissant marquer des points de rupture du cache. La contrainte clé : seules les correspondances exactes de préfixe comptent. Si ton prompt système change ne serait-ce que d'un seul token, le cache manque sa cible. Ça signifie que structurer tes prompts avec les parties stables en premier (prompt système, documents) et les parties variables en dernier (message de l'utilisateur) est important pour le taux de succès du cache.
Le prompt caching offre les plus grandes économies quand : (1) tu as un long préfixe stable (grands prompts système, contexte RAG), (2) tu envoies beaucoup de requêtes avec ce même préfixe (chatbots, agents), et (3) les tokens d'entrée représentent une part significative de tes coûts. Pour les applications avec des prompts courts et uniques, la mise en cache apporte peu de bénéfice. Pour les applications qui remplissent la fenêtre de contexte avec des documents, c'est transformateur.