Source: https://aiprimetech.io/fr/docs/api-reference/tool-use/ [Accueil](/fr/) / [Documentation](/fr/docs/) / Utilisation d’outils et appels de fonctions # Utilisation d’outils et appels de fonctions Permettez à un modèle d’appeler vos fonctions : la boucle de requêtes, les deux formats et les erreurs qui coûtent des tokens. Copier la page [ Afficher au format Markdown](/fr/docs/api-reference/tool-use.md) [ Demander à ChatGPT](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/api-reference/tool-use.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Demander dans Claude](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/api-reference/tool-use.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) L’utilisation d’outils permet au modèle de vous demander d’exécuter une fonction, puis de poursuivre avec le résultat. C’est le mécanisme sur lequel repose chaque agent de programmation. ## La boucle - Vous envoyez messages ainsi que tools qui décrit les outils disponibles. - Le modèle répond avec un stop_reason: tool_use et un tool_use bloc indiquant le nom de l’outil et ses arguments. - Vous l’exécutez — la passerelle n’exécute jamais votre code. - Vous renvoyez tout l’historique, accompagné d’un tool_result bloc. - Le modèle produit sa réponse finale ou demande un autre outil. ## Définir des outils (format Messages) ``` Copy{ "model": "claude-sonnet-4-6", "max_tokens": 1024, "tools": [{ "name": "get_weather", "description": "Current weather for a city. Use when the user asks about weather.", "input_schema": { "type": "object", "properties": {"city": {"type": "string", "description": "City name"}}, "required": ["city"] } }], "messages": [{"role": "user", "content": "Weather in Paris?"}] } ``` ## Renvoyer un résultat ``` Copy{ "role": "user", "content": [{ "type": "tool_result", "tool_use_id": "toolu_01ABC...", "content": "18C, light rain" }] } ``` tool_result figure dans un message dont le rôle est user, ainsi que tool_use_id doit correspondre exactement à l’identifiant de la requête du modèle. Les identifiants qui ne correspondent pas sont rejetés comme requête invalide. ## Format OpenAI Le /v1/chat/completions le point de terminaison utilise le format OpenAI tools / tool_calls à la place, les résultats étant renvoyés sous forme de messages dont le rôle est tool. ## Coût de l’utilisation des outils - Les définitions sont renvoyées à chaque tour. Vingt schémas d’outils détaillés peuvent représenter la majeure partie de vos tokens d’entrée avant même le début de la conversation. - Les résultats deviennent du contexte. Un outil qui renvoie 200 lignes de JSON les inclut toutes dans la requête suivante, puis dans chaque requête ultérieure. - Chaque aller-retour est un appel facturé. Une tâche utilisant cinq outils nécessite au moins six requêtes. - Limitez la longueur des sorties des outils et résumez-les avant de les renvoyer. Tronquer un résultat pour ne garder que ce dont le modèle a réellement besoin est le changement le plus efficace dans la plupart des boucles d’agent. Les schémas d’outils restent stables d’un tour à l’autre, ce qui en fait un bon [la mise en cache des prompts](/fr/docs/guides/prompt-caching/) candidat aux côtés du prompt système. [API MessagesRéférence de base](/fr/docs/api-reference/messages/)[Maîtrise des coûtsOù vont les tokens des agents](/fr/docs/guides/cost-control/)[Serveurs MCPOutils prêts à l’emploi pour Claude Code](/fr/docs/guides/mcp-servers/) [PrécédentLimites de débit](/fr/docs/api-reference/rate-limits/)[SuivantVision et images en entrée](/fr/docs/api-reference/vision/)