Claude Platform 101
← Toutes les leçons
Leçon 07Claude Platform 101

Outils serveur : déclarés par vous, exécutés par Anthropic

Audio récapitulatif

Récapitulatif parlé — appuyez sur lecture pour suivre : la ligne lue reste en haut.

Notes de cours

Vous pouvez créer vos propres outils personnalisés, mais certaines capacités sont suffisamment courantes pour qu'Anthropic les fournisse pré-construits. Vous n'écrivez pas le code. Vous n'hébergez pas le sandbox. Vous déclarez simplement l'outil, et Anthropic l'exécute.

Outils serveur : déclarés par vous, exécutés par Anthropic

Anthropic fournit des outils serveur qui s'exécutent sur son infrastructure. Vous ne les exécutez pas — Anthropic le fait. Cela signifie que vous n'avez pas besoin d'une boucle d'agent pour ces appels. Claude appelle les outils de lui-même, et le résultat revient dans la même réponse.

Les principaux sont :

  • Web search — recherche sur internet et retourne les résultats avec citations
  • Code execution — écrit et exécute Python dans un sandbox
  • Web fetch — récupère le contenu complet des URL

Deux outils serveur dans un fichier

Regardons certains des principaux dans un fichier : deux appels messages. create, l'un avec web search et l'autre avec code execution.

import anthropic

client = anthropic. Anthropic()

search_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 is Anthropic's latest model release? Answer in one sentence. "} ], )

for block in search_response. content: if block. type == "server_tool_use": print(f"Tool call: {block. name} — {block. input}") elif block. type == "text": print(block. text)

code_response = client. messages. create( model="claude-opus-4-8", max_tokens=1024, tools=[{"type": "code_execution_20260120", "name": "code_execution"}], messages=[ {"role": "user", "content": "Calculate the mean and standard deviation of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"} ], )

for block in code_response. content: if block. type == "server_tool_use": print(f"Tool call: {block. name} — {block. input}") elif block. type == "bash_code_execution_tool_result": print(f"stdout: {block. content. stdout}") elif block. type == "text": print(block. text)

Deux choses à remarquer :

  • **Il n'y a pas de boucle d'agent ici. ** Nous ne basculons pas sur stop_reason. Nous ne repoussons pas les résultats des outils. Anthropic exécute l'outil côté serveur, et la réponse contient déjà le résultat.
  • **La réponse a de nouveaux types de blocs. ** Un bloc server_tool_use pour l'appel d'outil, un bloc de résultat d'outil code execution pour la sortie, plus les blocs text réguliers.

L'exécuter

Pour web search, vous verrez l'appel d'outil de Claude imprimé, puis une réponse d'une phrase sur la dernière version du modèle avec les citations de recherche intégrées.

Pour code execution, vous verrez le Python réel que Claude a écrit, la sortie stdout du sandbox qui l'exécute, et une réponse textuelle finale.

Nous n'avons pas eu à mettre en place un crawler de recherche. Nous n'avons pas exécuté un sandbox Python. Nous avons déclaré deux outils et les avons obtenus gratuitement.

L'autre catégorie : outils client

Il vaut la peine de savoir que l'autre catégorie existe. Les outils client s'exécutent où votre code s'exécute. Ils sont fournis dans le SDK Claude, donc vous n'avez pas à définir le schéma vous-même. Deux exemples :

  • Memory — Claude lit et écrit la mémoire entre les sessions
  • Bash — un shell bash persistant pour que Claude puisse exécuter des commandes

Le tableau des outils intégrés de la documentation Anthropic, avec memory et bash listés comme outils client aux côtés des outils serveur comme web fetch et code execution

Ils ont la même forme qu'un outil personnalisé, mais le SDK vous donne le schéma et un runner sensé.

Pourquoi cela importe en production

Dans une application de production, c'est le chemin le plus court vers des fonctionnalités qui prendraient autrement des semaines. Web search peut alimenter un endpoint de vérification des faits qui valide chaque affirmation numérique et réglementaire dans un brouillon par rapport au web en direct.

Une application d'examen de propositions utilisant web search pour vérifier les affirmations réglementaires et numériques dans un brouillon de proposition

Un rappel, cependant : ce n'est pas parce que quelque chose est validé sur internet que c'est vrai. Vérifiez toujours le travail de Claude.

Récapitulatif

  • Les outils serveur — web search, code execution, web fetch — sont déclarés dans votre tableau tools. Anthropic les exécute.
  • Vous obtenez le résultat dans la même réponse, sans boucle d'agent requise. Cherchez server_tool_use et les blocs de résultat d'outil aux côtés des blocs de texte réguliers.
  • Les outils client comme memory et bash s'exécutent où votre code s'exécute, mais le SDK fournit le schéma et un runner pour vous.
  • L'idée « hébergée par Anthropic » s'étend jusqu'au bout : les agents gérés l'appliquent à l'ensemble de l'agent, pas seulement à un outil.
Cartes mémo 10 cartes
Question
cliquez pour révéler · ←/→
Réponse
cliquez pour retourner
Exporter vers Anki (.tsv) ↓
Vérification des connaissances 6 questions