Chargement

Règles de la mise en cache des prompts

Leçon 4710 min

La mise en cache des prompts dans Claude fonctionne en stockant le travail de calcul effectué sur les messages afin qu'il puisse être réutilisé dans les requêtes de suivi. Cela rend les requêtes suivantes à la fois moins coûteuses et plus rapides à exécuter, mais uniquement lorsque vous envoyez de manière répétée le même contenu.

Le processus suit un modèle en deux phases : la requête initiale écrit dans le cache, et les requêtes de suivi peuvent y lire. Le cache ne vit que pendant 5 minutes, donc cette fonctionnalité est surtout utile lorsque vous envoyez le même contenu de manière répétée dans un court laps de temps.

Points de cache

La mise en cache des prompts n'est pas activée automatiquement - vous devez ajouter manuellement des parties de message de point de cache pour contrôler ce qui est mis en cache. Les points de cache indiquent à Claude de mettre en cache tout le travail effectué pour tout ce qui précède ce point dans votre message.

Voici comment ajouter un point de cache à un message utilisateur :

python
user_message = {
  "role": "user",
  "content": [
    {"text": ""},
    {"cachePoint": {"type": "default"}}
  ]
}

La règle clé est que le travail effectué pour tout ce qui précède le point de cache sera mis en cache, mais tout ce qui suit le point de cache ne sera pas stocké dans le cache.

Comment fonctionnent les points de cache

Lorsque vous effectuez une requête initiale avec un point de cache, Claude traite tout le contenu et stocke le travail effectué jusqu'à ce point de cache. Lors des requêtes de suivi, si le contenu précédant le point de cache est identique, Claude lit le travail précédemment traité depuis le cache au lieu de le retraiter.

Le cache ne sera utilisé que si le contenu précédant le point de cache est complètement identique. Même de petits changements comme l'ajout de « Please » au début de votre prompt empêcheront l'utilisation du cache, forçant Claude à tout traiter depuis le début.

Mise en cache à travers les messages

Les points de cache peuvent s'étendre sur plusieurs messages et même inclure des messages de l'assistant. Cela signifie que vous pouvez mettre en cache des historiques de conversation entiers jusqu'à un certain point.

Par exemple, vous pourriez avoir une conversation avec un message utilisateur, une réponse de l'assistant, et un autre message utilisateur, avec un point de cache à la fin. Tout le travail de traitement pour ce fil de conversation entier est mis en cache et peut être réutilisé.

Longueur minimale du contenu

Le contenu doit comporter au moins 1024 tokens pour être mis en cache. C'est la somme de tous les messages et parties que vous essayez de mettre en cache avant le point de cache.

Un simple message « Hi there! » n'atteindra pas le minimum de 1024 tokens, donc rien n'est mis en cache. Mais si vous répétez « Hi there! » 500 fois, cela dépasserait 1024 tokens et serait admissible à la mise en cache.

Emplacements des points de cache

Les points de cache ne sont pas limités aux messages utilisateur. Vous pouvez les ajouter aux invites système et aux définitions d'outils, qui sont en fait les opportunités de mise en cache les plus courantes.

Pour les définitions d'outils :

python
tools = [
  {"toolSpec": add_duration_to_datetime_schema},
  {"toolSpec": get_current_datetime_schema},
  {"cachePoint": {"type": "default"}}
]

Pour les invites système :

python
system = [
  {"text": "You are a senior software..."},
  {"cachePoint": {"type": "default"}}
]

Ce sont les opportunités de mise en cache les plus précieuses car les invites système et les listes d'outils changent rarement entre les requêtes, ce qui en fait des candidats parfaits pour la mise en cache.