Claude Platform Docs
MessagesInfrastructure d'outils

Gérer le contexte des outils

Choisissez entre la recherche d'outils, l'appel d'outils programmatique, la mise en cache des prompts et l'édition de contexte pour gérer l'encombrement du contexte.

Les définitions d'outils et les blocs tool_result accumulés consomment votre « context window » (fenêtre de contexte). Les agents de longue durée disposant de nombreux outils ou effectuant de nombreux tours peuvent épuiser le contexte disponible avant que la tâche ne soit terminée. Quatre approches traitent ce problème à différents points du pipeline.

Les quatre approches

Chaque approche cible une source différente de pression sur le contexte. Choisissez celle qui correspond à l'endroit où vont vos jetons.

ApprocheCe qu'elle réduitQuand elle convientEn savoir plus
Recherche d'outilsLes définitions d'outils chargées d'embléeGrands ensembles d'outils (20 outils ou plus) où la plupart des outils ne sont pas nécessaires à chaque tourOutil de recherche d'outils
Appel d'outils programmatiqueLes allers-retours de tool_resultChaînes d'appels d'outils pouvant s'exécuter en un seul scriptAppel d'outils programmatique
Mise en cache des promptsLe coût en jetons des définitions d'outils répétéesEnsembles d'outils stables sur de nombreuses requêtesUtilisation d'outils avec la mise en cache des prompts
Édition de contexteLes anciens blocs tool_result dans l'historiqueLongues conversations où les premiers résultats ne sont plus pertinentsÉdition de contexte

La « tool search » (recherche d'outils) maintient les définitions d'outils hors de la fenêtre de contexte jusqu'à ce que Claude les demande. Au lieu d'envoyer 50 schémas d'outils d'emblée, vous envoyez un seul outil tool_search et laissez Claude découvrir le reste à la demande. Cela échange une petite quantité de « latency » (latence) (un tour supplémentaire pour rechercher un outil) contre une forte réduction de l'utilisation de base du contexte.

Appel d'outils programmatique

Le « programmatic tool calling » (appel d'outils programmatique) condense une séquence d'appels d'outils en un seul bloc de code que Claude écrit et que le bac à sable d'exécution de code d'Anthropic exécute. Plutôt que cinq allers-retours de tool_use et tool_result, Claude émet un seul script qui appelle les cinq fonctions depuis le bac à sable. Les résultats intermédiaires n'entrent jamais dans l'historique de la conversation.

Mise en cache des prompts

Le « prompt caching » (mise en cache des prompts) ne réduit pas le nombre de jetons dans le contexte, mais il réduit ce que vous payez pour eux lors des requêtes suivantes. Si vos définitions d'outils sont stables, mettez-les en cache une fois et réutilisez le préfixe mis en cache sur des milliers de requêtes. C'est le bon choix lorsque l'ensemble d'outils est volumineux mais fixe.

Édition de contexte

Le « context editing » (édition de contexte) supprime les anciens blocs tool_result de l'historique de la conversation une fois qu'ils ont rempli leur rôle. Une longue boucle d'agent peut produire des centaines de résultats intermédiaires qui étaient utiles à l'époque mais qui constituent désormais un poids mort. L'édition de contexte vous permet de les élaguer sans redémarrer la conversation.

Combiner les approches

Ces approches se combinent. Un agent de longue durée peut utiliser la recherche d'outils pour garder l'ensemble d'outils léger, la mise en cache des prompts pour amortir le coût des définitions restantes, et l'édition de contexte pour élaguer les résultats obsolètes à mesure que la conversation s'allonge. Chacune résout une partie différente du problème, il n'y a donc aucun conflit à les utiliser ensemble.

Un point de départ raisonnable pour un agent à fort volume :

  1. Activez la mise en cache des prompts sur vos définitions d'outils dès le premier jour. Les écritures en cache comportent une majoration de 25 % par rapport au tarif d'entrée de base, qui est rentabilisée dès la deuxième requête qui atteint le cache.
  2. Ajoutez la recherche d'outils dès que votre ensemble d'outils dépasse environ 20 outils ou que votre utilisation de base du contexte devient notable.
  3. Ajoutez l'édition de contexte dès que les conversations individuelles commencent à durer suffisamment longtemps pour que les premiers résultats deviennent non pertinents.
  4. Envisagez l'appel d'outils programmatique si vous remarquez des chaînes répétitives de petits appels d'outils qui pourraient s'exécuter en un seul lot.

Étapes suivantes

Chargez les définitions d'outils à la demande plutôt que d'emblée.

Condensez les chaînes d'appels d'outils en un seul script exécutable.

Mettez en cache les définitions d'outils entre les requêtes pour réduire les coûts en jetons.

Élaguez les résultats d'outils obsolètes des conversations de longue durée.

Was this page helpful?