Recherche web : des réponses tirées des sites que vous choisissez
Sur cette page
Objectifs
À l’issue de cette leçon, vous serez capable de :
- Ajouter l’outil de recherche web et comprendre le filtrage dynamique
- Restreindre la recherche aux sites que vous jugez fiables
- Lire la réponse et ses citations, et anticiper le coût et la disponibilité
Quand la réponse n’est pas dans l’entraînement
Claude répond à partir de son entraînement : il ignore ce qui est plus récent, et ce qui n’y figurait pas. L’outil de recherche web lui permet de chercher lui-même pendant qu’il traite votre demande, et de répondre à partir de ce qu’il trouve, avec des citations des sources utilisées. C’est un outil serveur : Anthropic exécute la recherche, vous n’écrivez aucun code de traitement.
Exemple : une proposition commerciale d’Ingénova cite quatre normes techniques par article. L’entreprise engage sa responsabilité professionnelle si une référence est fausse ; avant l’envoi, elle veut chaque référence vérifiée sur des sources officielles.
Ajouter l’outil, et le filtrage dynamique
OUTILS = [{
"type": "web_search_20260209",
"name": "web_search",
"max_uses": 5,
"allowed_domains": ["afnor.org", "legifrance.gouv.fr", "ecologie.gouv.fr"],
}]
Avec web_search_20260209 et les versions suivantes, le filtrage dynamique est actif par défaut : Claude écrit et exécute du code qui filtre les résultats de recherche avant qu’ils n’entrent dans la fenêtre de contexte. Seul le contenu pertinent est conservé, d’où moins de jetons sur les tâches qui cherchent beaucoup. L’environnement d’exécution nécessaire est fourni automatiquement : n’ajoutez pas l’outil d’exécution de code pour cela (ajoutez-le seulement si votre application en a besoin pour elle-même). Le filtrage dynamique demande Claude 4.6 ou un modèle plus récent. Une troisième version, web_search_20260318, ajoute le paramètre response_inclusion, qui peut retirer de la réponse les résultats déjà exploités par ce code : utile aux agents qui enchaînent les recherches.
Claude fait en général toutes ses recherches dans une seule requête. Comme pour l’exécution de code, une réponse peut s’arrêter avec stop_reason: "pause_turn" : renvoyez son contenu comme message de l’assistant, avec les mêmes tools, et Claude reprend.
Choisir où Claude cherche
Sans restriction, Claude peut chercher sur tout le web, forums et sites de revendeurs compris. Les réglages de l’outil :
allowed_domains: ne garder que les résultats des sites listés ;blocked_domains: écarter certains sites ; utilisez l’une ou l’autre liste, pas les deux ;max_uses: plafonner le nombre de recherches par requête ;user_location: localiser les résultats (ville, région, pays, fuseau horaire).
Lire la réponse et ses sources
La réponse alterne des blocs de texte et les recherches effectuées. Chaque recherche ajoute un bloc web_search_tool_result, avec la liste des résultats (titre, URL) ; les passages de texte qui s’appuient sur une source portent des citations. Rassemblez les blocs de texte pour obtenir la réponse complète, et gardez les citations : pour un document qui engage votre responsabilité, elles sont la preuve.
Les citations ne se combinent pas avec les sorties structurées : activer les citations sur un document que vous fournissez et demander une sortie JSON renvoie une erreur 400.
Coût et disponibilité
- Coût : 10 $ pour 1 000 recherches, plus les jetons ; les résultats récupérés comptent comme des jetons d’entrée, dans le tour et dans les tours suivants. Une recherche en erreur n’est pas facturée. L’exécution de code liée au filtrage dynamique est gratuite.
- Disponibilité : complète sur l’API Claude, Claude Platform on AWS et les modèles Claude sur Google Cloud gérés par Anthropic ; seulement la version de base
web_search_20250305, sans filtrage dynamique, sur Google Cloud géré par Google et Microsoft Foundry. Vérifiez le tableau de disponibilité avant de bâtir votre architecture sur cet outil.
L’angle sécurité (ajout de Corsen) — Un contenu web est une entrée non fiable : une page peut contenir des instructions destinées au modèle (injection de prompt indirecte). Restreindre
allowed_domainsaux sources dont vous répondez réduit cette surface, sans la supprimer : gardez une relecture humaine pour tout ce qui part chez un client.
À vous de jouer
Vérifier des références.
- Prenez un document qui cite des normes, des textes réglementaires ou des chiffres publics.
- Demandez à Claude de vérifier chaque référence, avec
allowed_domainslimité aux sources officielles. - Contrôlez les citations : lesquelles confirment, lesquelles contredisent, et ce que Claude dit ne pas avoir pu confirmer.
Sources officielles : Web search tool (documentation Claude : versions, filtrage dynamique, réglages, tarif, disponibilité) · Structured outputs (documentation Claude : incompatibilité avec les citations)
Points clés à retenir
web_search_20260209filtre les résultats par du code avant qu’ils n’atteignent le contexte : moins de jetonsallowed_domains(oublocked_domains) décide où Claude cherche ;max_usesplafonne les recherches- Les réponses arrivent avec citations, qui ne se combinent pas avec les sorties structurées
- 10 $ pour 1 000 recherches plus les jetons ; la disponibilité varie selon les plateformes cloud