Aller au contenu principal
Leçon 7 sur 14 · Claude Platform 101

Les outils intégrés

Leçon 7 sur 14 Mis à jour le 5 novembre 2026 Développeur
Sur cette page
  1. Les trois outils principaux
  2. Un exemple
  3. Trois pièges à connaître
  4. L’exécution de code
  5. Ce que ces outils changent
  6. À vous de jouer
  7. Points clés à retenir

Certains outils, Anthropic les fournit et les exécute lui-même, sur son infrastructure : la recherche web, la récupération de pages web et l’exécution de code. Vous les activez dans la requête, et c’est tout : pas de schéma à écrire, pas de tool_result à construire, pas de boucle à faire tourner.

Les trois outils principaux

OutiltypenameCe qu’il fait
Recherche webweb_search_20260318web_searchCherche sur le web et renvoie des résultats que Claude cite
Récupération webweb_fetch_20260318web_fetchRécupère le contenu d’une page web ou d’un PDF
Exécution de codecode_execution_20260521code_executionExécute du code et des commandes dans un environnement isolé

Le suffixe du type est une version : prenez la plus récente que votre modèle accepte. Dès les versions _20260209, la recherche et la récupération web font du filtrage dynamique, avec Claude 4.6 et les modèles suivants : elles exécutent du code en coulisse pour ne garder que l’utile. Les versions _20260318, les plus récentes, ajoutent le réglage response_inclusion, qui peut retirer de la réponse les résultats déjà exploités par ce code. Inutile de déclarer en plus l’outil d’exécution de code : l’API fournit automatiquement celui dont le filtrage a besoin, sans frais au-delà des jetons. Pour appeler la recherche directement, sans filtrage, on ajoute allowed_callers: ["direct"] ; les modèles qui ne prennent pas en charge l’appel programmatique d’outils l’exigent, sous peine d’erreur 400. Les modèles plus anciens utilisent les versions de base (web_search_20250305, web_fetch_20250910).

Un exemple

const response = await client.messages.create({
  model: "claude-opus-5-5",
  max_tokens: 16000,
  tools: [{ type: "web_search_20260318", name: "web_search", max_uses: 5 }],
  messages: [{ role: "user", content: "Quelles ont été les principales annonces sur les énergies renouvelables cette semaine ? Cite tes sources." }],
});

Claude cherche, lit, décide s’il doit chercher encore, puis répond ; les résultats arrivent dans la même réponse, sous forme de blocs web_search_tool_result. Quelques réglages utiles :

  • max_uses limite le nombre d’utilisations dans une requête ;
  • allowed_domains ou blocked_domains restreignent les sites consultés ;
  • user_location localise la recherche ;
  • pour web_fetch, citations et max_content_tokens règlent les citations et la taille du contenu récupéré.

Trois pièges à connaître

  • web_fetch ne va pas n’importe où. Il ne récupère que des adresses déjà présentes dans la conversation, par exemple fournies par l’utilisateur ou trouvées par une recherche.
  • Les erreurs ne lèvent pas d’exception. Une recherche qui échoue renvoie un code HTTP 200 avec un bloc de résultat dont le contenu est un objet d’erreur (par exemple max_uses_exceeded). En cas de succès, ce contenu est une liste ; en cas d’échec, un objet. Testez-le avant de le parcourir.
  • La boucle serveur a une limite. Si Claude itère encore quand il l’atteint, la réponse revient avec stop_reason: "pause_turn" : renvoyez la conversation pour qu’il continue.

L’exécution de code

L’outil d’exécution de code fait tourner, dans un conteneur isolé chez Anthropic, le code que Claude écrit : calculs, analyse de données, génération de fichiers. L’environnement dispose de bibliothèques courantes pour produire des documents, des présentations, des graphiques ou des PDF. C’est aussi le socle sur lequel tournent les skills, que la leçon suivante présente.

Ce que ces outils changent

Les outils intégrés étendent votre agent au-delà de votre propre code : il peut s’informer en temps réel ou calculer, sans que vous hébergiez quoi que ce soit. La contrepartie est la même que pour tout accès au web : un contenu externe peut contenir des instructions malveillantes (injection de prompt). Restreignez les domaines quand vous le pouvez et ne donnez à l’agent, en parallèle, que les actions dont il a besoin.

La disponibilité varie selon le fournisseur : sur l’Agent Platform de Google Cloud (ex-Vertex AI) par exemple, seule la version de base de la recherche web est proposée, sans récupération web. Vérifiez la page de chaque outil avant de choisir votre plateforme.

Trois outils exécutés par Anthropic Trois tuiles : la recherche web (web_search_20260318), la récupération web (web_fetch_20260318), l'exécution de code (code_execution_20260521) ; les deux premiers filtrent leurs résultats par du code, sans outil à ajouter. OUTILS INTÉGRÉS Trois outils exécutés par Anthropic 01 Recherche web Cherche et cite ses sources ; filtrage dynamique. web_search_20260318 02 Récupération web Lit une page ou un PDF déjà cité dans la conversation. web_fetch_20260318 03 Exécution de code Un conteneur isolé : calculs, fichiers, graphiques. code_execution_20260521 Une erreur d'outil serveur arrive en réponse 200, dans le bloc de résultat : testez-le avant de le parcourir.
D'après la leçon « Built-in tools » (Claude Academy, Claude Platform 101) et les pages Web search, Web fetch et Code execution (documentation Claude).

À vous de jouer

Une recherche sourcée. Ajoutez l’outil de recherche web avec allowed_domains limité à deux sites officiels de votre domaine et max_uses: 3. Posez une question d’actualité, affichez les citations, puis vérifiez dans usage le nombre de recherches effectuées.

Sources officielles : Built-in tools (Claude Academy) · Web search tool · Web fetch tool · Code execution tool · Server tools

Points clés à retenir

  • Recherche web, récupération web et exécution de code sont exécutées par Anthropic : on les active, sans boucle ni tool_result
  • Le suffixe du type est une version ; _20260209 pour la recherche et la récupération web sur les modèles récents
  • web_fetch ne récupère que des adresses déjà présentes dans la conversation
  • Les erreurs arrivent dans un bloc de résultat, pas en exception ; pause_turn demande une relance