Des agents IA qui fouillent le web en temps réel, sans se perdre dans les publicités ni les pages inutiles. Exa et Strands transforment la Recherche en superpuissance.

Imaginez un robot chercheur qui scanne le web comme un détective, mais sans jamais se tromper de piste. Pas besoin de copier-coller des liens, de lire des pages entières ou de trier des montagnes de résultats : l’agent IA s’en charge tout seul. Grâce à Exa, un moteur de recherche conçu pour les intelligences artificielles, et au Strands Agents SDK d’AWS, c’est désormais possible. Voici comment ça marche, étape par étape.

POURQUOI LES MOTEURS DE RECHERCHE CLASSIQUES NE FONCTIONNENT PAS POUR LES AGENTS IA

Les moteurs comme Google ou Bing sont faits pour les humains. Ils renvoient des pages remplies de publicités, de menus de navigation et de textes inutiles. Résultat : un agent IA doit d’abord nettoyer le résultat avant de pouvoir l’utiliser. Pire encore, ces moteurs ne comprennent pas toujours le sens profond d’une requête. Une recherche sur « startups qui sauvent la planète » peut renvoyer des articles qui parlent de startups… mais pas de solutions climatiques. Exa change la donne : il ne se contente pas de chercher des mots-clés, il comprend le sens de la question.

Exa ne renvoie pas des pages HTML bruyantes, mais du texte propre et structuré, prêt à être utilisé par un agent IA. Fini les heures perdues à trier des résultats inutiles.

LES DEUX OUTILS MAGIQUES : EXASEARCH ET EXAGET_CONTENTS

Avec Exa, vous obtenez deux outils d’IA intégrés directement dans le Strands Agents SDK. Le premier, exa_search, lance une recherche sémantique sur le web. Il ne se contente pas de trouver des pages : il les analyse et en extrait les idées clés. Le second, exagetcontents, récupère le contenu complet d’une page, une fois que l’agent a identifié les sources les plus pertinentes.

Exemple concret : si votre agent cherche « avancées récentes en IA », exa_search peut renvoyer un résumé des 10 articles les plus importants, avec leurs titres et leurs liens. Ensuite, exagetcontents extrait le texte brut de ces pages, sans les images ni les pubs, pour que l’agent puisse les analyser en profondeur.

INSTALLATION : PRÉPARER VOTRE ENVIRONNEMENT EN 2 MINUTES

Avant de commencer, il faut installer les bons outils et configurer votre accès à Exa. Rien de compliqué : ouvrez votre terminal et tapez ces commandes.

pip install strands-agents strands-agents-tools

Ensuite, récupérez votre clé API sur le tableau de bord Exa (vous en aurez besoin pour authentifier vos requêtes). Ajoutez-la à votre environnement :

export EXAAPIKEY="votrecleapiexaici"

C’est tout . Vous êtes prêt à créer votre premier agent.

CRÉER VOTRE PREMIER AGENT : 5 LIGNES DE CODE

L’intégration d’Exa dans Strands est aussi simple que d’ajouter deux outils à une liste. Voici comment faire :

from strands import Agent
from strandstools.exa import exasearch, exagetcontents

agent = Agent(tools=[exasearch, exaget_contents])

Une fois l’agent créé, vous pouvez lui poser une question comme s’il s’agissait d’un assistant classique. Mais derrière le rideau, il va utiliser Exa pour chercher des informations fraîches et fiables.

response = agent(
    "Recherche les tendances les plus récentes en agents IA et donne-moi un résumé concis des développements clés"
)

L’agent va automatiquement appeler exa_search pour trouver les meilleurs résultats, puis synthétiser une réponse claire et structurée.

PERSONNALISER VOTRE AGENT : CHOISIR LE BON MODÈLE ET LE BON PROMPT

Strands permet de configurer votre agent avec le modèle de langage que vous préférez. Par exemple, si vous utilisez Claude Sonnet 4.6 d’Anthropic, voici comment faire :

from strands import Agent
from strands.models.bedrock import BedrockModel
from strandstools.exa import exasearch, exagetcontents

def createresearchagent() -> Agent:
    model = BedrockModel(
        model_id="us.anthropic.claude-sonnet-4-6",
        region_name="us-west-2",
        max_tokens=20000,
    )
    return Agent(
        model=model,
        systemprompt=loadsystem_prompt(),
        tools=[exasearch, exaget_contents],
    )

Le system_prompt est un texte qui guide l’agent dans sa mission. Par exemple, vous pouvez lui dire de chercher des articles scientifiques, des actualités récentes ou des projets open source selon vos besoins.

MAÎTRISER LES PARAMÈTRES DE RECHERCHE : COMMENT OBTENIR EXACTEMENT CE QUE VOUS VOULEZ

Exa ne se contente pas de lancer une recherche basique. Il offre des paramètres avancés pour affiner les résultats. Voici quelques exemples concrets :

Avec Exa, vous contrôlez la catégorie des sources (actualités, articles scientifiques, dépôts GitHub…), la date de publication, la longueur des extraits et même la structure des résultats.

Par exemple, pour une recherche sur les articles scientifiques, vous pouvez demander à l’agent de renvoyer un résumé structuré avec les points clés, la méthodologie et les conclusions :

- category: "research paper"
- num_results: 5
- text: {"maxCharacters": 2000}
- summary: {
    "query": "Extrais les résultats de recherche, la méthodologie et les conclusions",
    "schema": {
      "type": "object",
      "properties": {
        "title": {"type": "string", "description": "Titre de l'article"},
        "main_findings": {"type": "string", "description": "Résultats principaux"},
        "methodology": {"type": "string", "description": "Méthodologie utilisée"},
        "conclusions": {"type": "string", "description": "Conclusions principales"}
      },
      "required": ["main_findings", "conclusions"]
    }
  }

Pour les actualités, vous pouvez limiter la recherche aux articles publiés dans les 30 derniers jours :

- category: "news"
- num_results: 5
- startpublisheddate: 
- text: {"maxCharacters": 1500}
- summary: {"query": "Quels sont les annonces, développements et actualités clés ?"}
- maxagehours: 24

Et pour les projets open source sur GitHub, vous pouvez demander à l’agent de se concentrer sur les dépôts les plus récents :

- category: "github"
- num_results: 5
- highlights: {"maxCharacters": 4000}

PASSER À L’ACTION : UN EXEMPLE DE WORKFLOW DE RECHERCHE EN 6 ÉTAPES

Pour montrer comment tout cela fonctionne ensemble, prenons l’exemple d’un agent chargé de rédiger une note de recherche approfondie. Voici les six étapes qu’il suit, automatiquement et sans intervention humaine :

Étape 1 : Recherche générale (mode auto)

L’agent commence par une recherche large pour comprendre le sujet. Il utilise le mode auto, qui adapte automatiquement les paramètres en fonction de la requête. Voici les paramètres utilisés :

- type: "auto"
- num_results: 5
- text: {"maxCharacters": 2000}
- highlights: {"maxCharacters": 4000}
- summary: {"query": "Quels sont les concepts clés, les points principaux et les détails importants ?"}
- subpages: 2
- subpage_target: ["overview", "about", "introduction"]
- maxagehours: 168

Étape 2 : Recherche d’actualités (fenêtre de 30 jours)

Ensuite, l’agent se concentre sur les actualités récentes. Il limite la recherche aux articles publiés dans le dernier mois :

- category: "news"
- num_results: 5
- startpublisheddate: 
- text: {"maxCharacters": 1500}
- summary: {"query": "Quelles sont les annonces, développements et actualités clés ?"}
- maxagehours: 24

Étape 3 : Recherche d’articles scientifiques

Pour approfondir le sujet, l’agent cherche des articles de recherche. Il utilise un schéma JSON pour extraire automatiquement les résultats principaux, la méthodologie et les conclusions :

- category: "research paper"
- num_results: 5
- text: {"maxCharacters": 2000}
- summary: {
    "query": "Extrais les résultats de recherche, la méthodologie et les conclusions",
    "schema": {
      "type": "object",
      "properties": {
        "title": {"type": "string", "description": "Titre de l'article"},
        "main_findings": {"type": "string", "description": "Résultats principaux"},
        "methodology": {"type": "string", "description": "Méthodologie utilisée"},
        "conclusions": {"type": "string", "description": "Conclusions principales"}
      },
      "required": ["main_findings", "conclusions"]
    }
  }

Étape 4 : Recherche de projets GitHub

L’agent explore aussi les dépôts GitHub pour trouver des implémentations open source pertinentes. Il se concentre sur les projets les plus actifs et les mieux documentés :

- category: "github"
- num_results: 5
- highlights: {"maxCharacters": 4000}

Étape 5 : Extraction approfondie des pages sélectionnées

Après avoir identifié les sources les plus prometteuses, l’agent extrait le contenu complet de 2 ou 3 pages. Il utilise le mode live crawling pour s’assurer que les informations sont à jour, et il explore aussi les sous-pages comme les références ou la méthodologie :

- urls: <2-3 URLs les plus pertinentes des recherches précédentes>
- text: {"maxCharacters": 4000}
- highlights: {"maxCharacters": 4000}
- summary: {"query": "Extrais tous les détails importants, les insights et les informations exploitables"}
- subpages: 3
- subpage_target: ["references", "citations", "bibliography", "methodology"]
- maxagehours: 0

Étape 6 : Synthèse finale

Enfin, l’agent rassemble toutes les informations collectées et les organise dans une note de recherche structurée. Cette étape ne nécessite aucun appel d’outil : l’agent utilise simplement les données déjà récupérées pour produire un résumé clair et complet.

POURQUOI CE WORKFLOW EST-IL PLUS PUISSANT QU’UNE RECHERCHE SIMPLE ?

Contrairement à une recherche classique, ce workflow en 6 étapes permet à l’agent de :

  • 🔍 Cibler les bonnes sources : actualités, articles scientifiques, projets open source… tout est filtré automatiquement.
  • 📅 Rester à jour : les recherches sont limitées à une fenêtre de temps précise (30 jours, 24 heures…).
  • 📄 Obtenir des résultats structurés : grâce aux schémas JSON, l’agent extrait exactement les informations dont il a besoin.
  • 🚀 Éviter les doublons : en utilisant un cache, Exa évite de re-télécharger les mêmes pages inutilement.
  • 🔄 S’adapter en temps réel : si une page est mise à jour, l’agent peut la re-télécharger pour avoir les dernières infos.
Ce workflow transforme un agent IA en un vrai chercheur autonome, capable de traiter des sujets complexes en quelques secondes.

DEBUGGER UN AGENT : TRANSFORMER LE CHAOS EN TRACES CLAIRES

Les agents IA ne sont pas déterministes : deux requêtes identiques peuvent donner des résultats différents. Pour comprendre ce qui se passe dans la tête de l’agent, Strands propose un outil de traçage puissant, Amazon Bedrock AgentCore Observability. Il permet de voir chaque étape du processus :

  • 📊 Chaque appel d’outil est enregistré comme une trace.
  • 🔗 Les relations entre les appels sont visibles (qui a appelé quoi ?).
  • ⏱️ Le temps d’exécution de chaque étape est mesuré.
  • Dans le CloudWatch GenAI Observability Dashboard, vous pouvez voir l’ensemble du workflow de recherche, de la première requête à la synthèse finale. C’est comme avoir un GPS pour suivre les pas de votre agent.

    OPTIMISER VOS RECHERCHES : CONSEILS POUR DES AGENTS PLUS RAPIDES ET MOINS CHERS

    Pour tirer le meilleur parti d’Exa et de Strands, voici quelques bonnes pratiques :

    • 🎯 Utilisez des filtres de catégorie : si vous cherchez des articles scientifiques, utilisez category: research paper pour éviter les résultats inutiles.
    • Limitez la fenêtre de temps : pour les actualités, utilisez maxagehours: 24 pour ne récupérer que les infos du jour.
    • 📦 Exploitez le cache : si une page a déjà été crawlée, Exa la renvoie instantanément. Utilisez livecrawl: fallback pour forcer une mise à jour si nécessaire.
    • 📏 Contrôlez la taille des extraits : pour éviter de surcharger l’agent, limitez la longueur des textes avec maxCharacters.
    • 🔄 Testez avant d’intégrer : utilisez le tableau de bord Exa pour tester vos requêtes avant de les intégrer à votre agent.

    AU-DELÀ DE LA RECHERCHE : LES AUTRES CAS D’USAGE DES AGENTS WEB

    Ce workflow ne sert pas seulement à rédiger des notes de recherche. Il peut être adapté à de nombreux autres domaines :

    • 🔎 Veille concurrentielle : surveiller les annonces des concurrents et analyser leurs stratégies.
    • 💡 Support technique : trouver des solutions à des problèmes techniques en fouillant forums et documentations.
    • 📊 Analyse de marché : identifier les tendances émergentes et les opportunités business.
    • 📰 Curation de contenu : sélectionner les meilleurs articles sur un sujet et les résumer.

    Exa et Strands ouvrent la porte à des agents IA capables de naviguer sur le web comme un humain, mais en bien plus efficace.

    ET APRÈS ? COMMENT ALLER PLUS LOIN

    Si vous voulez tester par vous-même, voici les étapes suivantes :

    • 🔑 Obtenez votre clé API Exa : rendez-vous sur le tableau de bord Exa pour récupérer votre clé.
    • 📚 Explorez la documentation : consultez la documentation d’Amazon Bedrock pour en savoir plus sur Strands Agents.
    • 💬 Partagez vos retours : rejoignez la communauté sur le dépôt GitHub de Strands Agents pour poser des questions ou partager vos expériences.
    • 🧪 Testez l’exemple complet : essayez le workflow de recherche approfondie avec vos propres questions.
    Avec Exa et Strands, vos agents IA ne seront plus jamais limités par des recherches web lentes ou imprécises. Ils deviennent de vrais assistants de recherche, capables de traiter des sujets complexes en quelques secondes.

    Le futur de la recherche web est déjà là. Il suffit de savoir l’utiliser.

Sources :
  • AWS ML Blog

L'indépendance de CLODCO est votre garantie.

Pour que l'actualité de l'IA reste sans filtre et sans concession, votre soutien est indispensable. Votre contribution est le seul moteur de notre liberté éditoriale.

Soutenir CLODCO