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.
| Approche | Ce qu'elle réduit | Quand elle convient | En savoir plus |
|---|---|---|---|
| Recherche d'outils | Les définitions d'outils chargées d'emblée | Grands ensembles d'outils (20 outils ou plus) où la plupart des outils ne sont pas nécessaires à chaque tour | Outil de recherche d'outils |
| Appel d'outils programmatique | Les allers-retours de tool_result | Chaînes d'appels d'outils pouvant s'exécuter en un seul script | Appel d'outils programmatique |
| Mise en cache des prompts | Le coût en jetons des définitions d'outils répétées | Ensembles d'outils stables sur de nombreuses requêtes | Utilisation d'outils avec la mise en cache des prompts |
| Édition de contexte | Les anciens blocs tool_result dans l'historique | Longues conversations où les premiers résultats ne sont plus pertinents | Édition de contexte |
Recherche d'outils
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 :
- 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.
- 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.
- Ajoutez l'édition de contexte dès que les conversations individuelles commencent à durer suffisamment longtemps pour que les premiers résultats deviennent non pertinents.
- 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?