L'utilisation d'outils permet à Claude d'appeler des fonctions que vous définissez ou qu'Anthropic fournit. Claude décide quand appeler un outil en fonction de la requête de l'utilisateur et de la description de l'outil, puis renvoie un appel structuré que votre application exécute (outils client) ou qu'Anthropic exécute (outils serveur).
Voici l'exemple le plus simple utilisant un outil serveur, où Anthropic gère l'exécution :
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
tools=[{"type": "web_search_20260209", "name": "web_search"}],
messages=[{"role": "user", "content": "What's the latest on the Mars rover?"}],
)
print(response.content)Les outils diffèrent principalement par l'endroit où le code s'exécute. Les outils client (y compris les outils définis par l'utilisateur et les outils à schéma Anthropic comme bash et text_editor) s'exécutent dans votre application : Claude répond avec stop_reason: "tool_use" et un ou plusieurs blocs tool_use, votre code exécute l'opération, et vous renvoyez un tool_result. Les outils serveur (web_search, code_execution, web_fetch, tool_search) s'exécutent sur l'infrastructure d'Anthropic : vous voyez les résultats directement sans gérer l'exécution.
Pour le modèle conceptuel complet, y compris la boucle agentique et quand choisir chaque approche, consultez Fonctionnement de l'utilisation d'outils.
Pour vous connecter à des serveurs MCP, consultez le connecteur MCP. Pour créer votre propre client MCP, consultez modelcontextprotocol.io.
Garantissez la conformité au schéma avec l'utilisation d'outils stricte
Ajoutez strict: true à vos définitions d'outils pour garantir que les appels d'outils de Claude correspondent toujours exactement à votre schéma. Consultez Utilisation d'outils stricte.
L'accès aux outils est l'une des capacités les plus efficaces que vous puissiez donner à un agent. Sur des benchmarks comme LAB-Bench FigQA (interprétation de figures scientifiques) et SWE-bench (ingénierie logicielle en conditions réelles), l'ajout d'outils même basiques produit des gains importants, dépassant souvent les références d'experts humains.
Avec le tool_choice par défaut de {"type": "auto"}, Claude décide à chaque tour s'il doit appeler un outil ou répondre directement. Il appelle un outil lorsque la requête correspond à la capacité décrite de cet outil et que la réponse n'est pas déjà dans le contexte. Il répond directement pour les connaissances stables, les tâches créatives et les tours conversationnels.
Cette frontière peut être orientée via votre invite système. Si Claude n'appelle pas d'outils alors que vous vous y attendez, une instruction légère comme "Use the tools to investigate before responding." augmente de manière mesurable l'utilisation d'outils. Une forme plus forte comme "Always call a tool first before responding." va encore plus loin. À l'inverse, "Use your judgment about whether to call a tool or respond directly." maintient un comportement de déclenchement conservateur.
Pour une garantie ferme plutôt qu'une incitation, utilisez tool_choice.
La page de chaque outil serveur décrit plus en détail sa propre frontière de déclenchement. Voir par exemple l'outil de recherche web ou l'outil d'exécution de code.
Pour une présentation pratique complète, consultez le tutoriel. Pour des exemples de référence de concepts individuels, consultez Définir des outils et Gérer les appels d'outils.
Les requêtes d'utilisation d'outils sont facturées en fonction de :
tools)Les outils côté client sont facturés de la même manière que toute autre requête à l'API Claude, tandis que les outils côté serveur peuvent entraîner des frais supplémentaires en fonction de leur utilisation spécifique.
Les tokens supplémentaires liés à l'utilisation d'outils proviennent de :
tools dans les requêtes API (noms, descriptions et schémas des outils)tool_use dans les requêtes et réponses APItool_result dans les requêtes APILorsque vous utilisez tools, l'API inclut également automatiquement une invite système spéciale pour le modèle qui active l'utilisation d'outils. Le nombre de tokens d'utilisation d'outils requis pour chaque modèle est indiqué ci-dessous (à l'exclusion des tokens supplémentaires mentionnés ci-dessus). Notez que le tableau suppose qu'au moins 1 outil est fourni. Si aucun tools n'est fourni, alors un choix d'outil de none utilise 0 token d'invite système supplémentaire.
| Modèle | Choix d'outil | Nombre de tokens d'invite système pour l'utilisation d'outils |
|---|---|---|
| Claude Opus 4.8 | auto, noneany, tool | 290 tokens 410 tokens |
| Claude Opus 4.7 | auto, noneany, tool | 675 tokens 804 tokens |
| Claude Opus 4.6 | auto, noneany, tool | 497 tokens 589 tokens |
| Claude Opus 4.5 | auto, noneany, tool | 496 tokens 588 tokens |
| Claude Opus 4.1 (déprécié) | auto, noneany, tool | 313 tokens 315 tokens |
| Claude Opus 4 (retiré, sauf sur Vertex AI) | auto, noneany, tool | 313 tokens 315 tokens |
| Claude Sonnet 4.6 | auto, noneany, tool | 497 tokens 589 tokens |
| Claude Sonnet 4.5 | auto, noneany, tool | 496 tokens 588 tokens |
| Claude Sonnet 4 (retiré, sauf sur Bedrock et Vertex AI) | auto, noneany, tool | 313 tokens 315 tokens |
| Claude Haiku 4.5 | auto, noneany, tool | 496 tokens 588 tokens |
| Claude Haiku 3.5 (retiré, sauf sur Bedrock et Vertex AI) | auto, noneany, tool | 264 tokens 355 tokens |
Ces nombres de tokens sont ajoutés à vos tokens d'entrée et de sortie habituels pour calculer le coût total d'une requête.
Consultez le tableau de présentation des modèles pour les prix actuels par modèle.
Lorsque vous envoyez un prompt d'utilisation d'outils, comme pour toute autre requête API, la réponse inclut à la fois le nombre de tokens d'entrée et de sortie dans les métriques usage rapportées.
Comprenez la boucle d'utilisation d'outils, où les outils s'exécutent et quand utiliser des outils plutôt que du texte.
Une présentation guidée, d'un simple appel d'outil à une boucle agentique prête pour la production.
Répertoire des outils fournis par Anthropic et référence des propriétés optionnelles de définition d'outils.
Was this page helpful?