Calcul du surcoût en tokens des appels de fonction
Données
| Nombre d’outils | 5 |
|---|---|
| Tokens par outil | 80 |
| Nombre d’appels | 1 000 |
| Prix en entrée (par million de tokens) | 3 $ |
| Tokens d’encadrement | 16 |
Calcul du surcoût en tokens des appels de fonction
Estime les tokens d’entrée et le coût de l’exposition d’outils à un LLM. Les définitions d’outils — nom, description et schéma des paramètres — sont envoyées à chaque appel, qu’un outil soit utilisé ou non.
Données
Outils
Volume et tarification
Tokens d’encadrement
Résultats
Saisissez une valeur pour afficher les résultats.
Détails
Surcoût en tokens des appels de fonction
Le surcoût en tokens des appels de fonction est le coût, du côté entrée, qui découle de la mise à disposition d’outils auprès d’un grand modèle de langage. Pour qu’un modèle puisse décider s’il faut appeler un outil et comment, le fournisseur sérialise la définition de chaque outil — son nom, une description en langage naturel et un schéma JSON pour ses paramètres — dans le prompt que lit le modèle. Ces définitions sont constituées de tokens et sont envoyées à chaque requête, qu’un outil finisse par être utilisé ou non. Ce calculateur isole ce surcoût fixe par appel et le coût récurrent qu’il engendre sur un volume d’appels.
Pourquoi les outils sont facturés à chaque appel
Un modèle est sans état entre les requêtes : il ne retient rien d’un appel au suivant, de sorte que les outils qu’il peut utiliser doivent être décrits à nouveau à chaque fois. Il n’existe aucun moyen d’enregistrer un outil une fois et d’y faire référence à moindre coût ensuite — la définition complète voyage dans l’entrée de chaque appel. Une requête où le modèle répond directement, sans rien invoquer, paie quand même les définitions, car elles ont été fournies pour que l’option existe. Le coût croît donc avec le nombre d’outils exposés et la verbosité de leurs schémas, multipliés par la fréquence à laquelle vous appelez le modèle.
La formule
Pour outils à tokens chacun et tokens d’encadrement autour du bloc d’outils, le surcoût par appel est
tcall=m⋅ttool+twSur appels, le surcoût total et son coût à un prix d’entrée par million de tokens sont
TC=tcall⋅n=106TpLa division par convertit le tarif par million en un tarif par token. Les définitions d’outils sont lues par le modèle, elles sont donc facturées au tarif d’entrée, généralement le moins élevé des deux prix publiés.
Exemple chiffré
Prenons un agent exposant 14 outils dont les définitions font en moyenne 120 tokens chacune, avec 18 tokens d’encadrement autour du bloc. Le surcoût par appel est
tcall=14×120+18=1698 tokensSur 25 000 appels à un prix d’entrée de $3 par million de tokens, le coût du surcoût est
TC=1698×25000=42450000 tokens=10642450000×3=$127,35Ces $127,35 sont dépensés avant même qu’un message utilisateur ou une réponse du modèle ne soit compté — ils servent uniquement à décrire les outils à chaque requête. Router l’agent pour qu’il n’expose que la poignée d’outils pertinents pour chaque tâche, plutôt que les 14, réduirait ce chiffre plusieurs fois.
Remarques et variantes
Le chiffre par outil dépend fortement de la richesse de description de chaque outil : des descriptions de paramètres détaillées et de nombreux champs optionnels gonflent le schéma, tandis qu’une définition concise reste compacte. Le surcoût mesuré ici concerne uniquement le bloc d’outils ; les tokens de la conversation et les éventuels arguments d’appel d’outil que le modèle émet sont séparés. La mise en cache des prompts peut réduire ce coût répété lorsque le bloc d’outils est stable d’un appel à l’autre, puisqu’une lecture en cache est facturée à un tarif réduit.
Application
Le surcoût des appels de fonction pèse du côté entrée de la facture. Son pendant côté sortie — l’ossature JSON que le modèle écrit en retour lorsqu’il est contraint à un schéma — est traité par le Calcul du surcoût des sorties structurées. Pour chiffrer l’usage de tokens par appel dont ce surcoût est tiré, voir le Calculateur de coût en jetons.
Questions fréquentes (FAQ)
Pourquoi les outils coûtent-ils des tokens ?
Pour que le modèle appelle un outil, il doit savoir que l’outil existe et comment l’utiliser. Le fournisseur sérialise le nom de chaque outil, sa description en langage naturel et le schéma JSON de ses paramètres dans le prompt que lit le modèle.
Ce bloc sérialisé est constitué de tokens et est traité du côté entrée de chaque requête ; les outils que vous exposez s’ajoutent donc au décompte des tokens d’entrée avant même que le modèle n’écrive le moindre mot de réponse.
Comment réduire le surcoût des outils ?
N’exposez que les outils pertinents pour la tâche en cours plutôt que tout le catalogue à chaque appel — le routage ou le filtrage de l’ensemble d’outils est le plus grand levier. Raccourcir les descriptions de paramètres verbeuses et supprimer les paramètres optionnels rarement utilisés réduit chaque définition.
Comme le surcoût se paie à chaque appel, les économies se cumulent sur les charges de travail à fort volume, et un ensemble d’outils plus léger tend aussi à améliorer la précision de sélection des outils par le modèle.
Les définitions d’outils sont-elles envoyées à chaque appel ?
Oui. Le modèle est sans état entre les requêtes, de sorte que les définitions d’outils sont incluses dans l’entrée de chaque appel, et non enregistrées une seule fois. Même une requête où le modèle répond directement sans invoquer d’outil paie quand même les définitions, car elles ont été envoyées pour que l’option soit disponible.
La mise en cache des prompts peut réduire ce coût répété lorsque le bloc d’outils est stable d’un appel à l’autre, puisqu’une lecture en cache est facturée à un tarif réduit.
Mentions légales
Les chiffres de tokens sont des estimations qui dépendent du tokeniseur du modèle et de la façon dont le fournisseur sérialise les définitions d’outils. Les prix publiés évoluent dans le temps et peuvent exclure les remises de mise en cache ou de traitement par lots. Vérifiez les tarifs en vigueur et le nombre exact de tokens auprès de votre fournisseur avant de vous fier à un chiffre pour la facturation.