Prompt Caching
iaDéfinition
Le Prompt Caching est une fonctionnalite d'optimisation de l'inference LLM proposee par les providers API (Anthropic Claude, OpenAI, Google Gemini) qui permet de cacher le KV cache compute pour un prefixe de prompt identique entre plusieurs requetes, eliminant la necessite de retraiter ce prefixe a chaque appel. Pour les applications avec un system prompt long ou un contexte fixe, le gain en cout et latence est significatif. Le mecanisme : lors du premier appel avec un prompt de la forme [PREFIX_FIXE][QUESTION_VARIABLE], le provider calcule et cache le KV cache du PREFIX_FIXE. Lors des appels suivants avec le meme PREFIX_FIXE et une QUESTION_VARIABLE differente, seule la QUESTION_VARIABLE est traitee depuis zero — le PREFIX_FIXE est recupere du cache. Le cache expire typiquement apres 5-10 minutes d'inactivite. Les gains mesures : Anthropic Claude (prompt caching disponible depuis Claude 3) : le cout des tokens d'input en cache est 90% moins cher que les tokens standards, et la TTFT (Time to First Token) est reduite de 60-80% quand le cache est chaud. OpenAI offre un cache implicite (pas de configuration necessaire) avec une reduction similaire. Les cas d'usage optimaux : (1) System prompts longs (1K-100K tokens de contexte metier, regles, exemples), (2) Documents de reference partages entre toutes les requetes (manuel technique, base de connaissances), (3) Applications conversationnelles ou le debut de la conversation est fixe, (4) Agents ou les instructions d'outils sont identiques entre appels. L'implementation chez Anthropic : les tokens de cache sont marques explicitement avec le parametre cache_control. Le compteur de cache_read_input_tokens dans la reponse indique les tokens reutilises depuis le cache. Pour les prompts tres longs (100K+ tokens), le gain peut representer une reduction de 80-90% des couts totaux d'une application en production.
Activation Prompt Caching avec Anthropic
import anthropic
client = anthropic.Anthropic()
# System prompt long (ex: 50000 tokens de docs de securite)
system_prompt = open('security_guidelines_50k_tokens.txt').read()
response = client.messages.create(
model='claude-opus-4-5', max_tokens=1024,
system=[{
'type': 'text',
'text': system_prompt,
'cache_control': {'type': 'ephemeral'} # Marquer pour le cache
}],
messages=[{'role': 'user', 'content': 'Analyse cette CVE: [...]'}]
)
usage = response.usage
print(f'Cache write: {usage.cache_creation_input_tokens} tokens')
print(f'Cache read : {usage.cache_read_input_tokens} tokens')
# 2e appel: cache_read=50000, cache_write=0 → -90% de cout
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h