Pour activer la recherche Web en direct et la collecte autonome d'informations dans AgentGPT, les chercheurs et développeurs doivent intégrer un moteur de recherche externe dans la boucle de raisonnement de l'agent. Les grands modèles de langage (LLM) sont limités par la date de clôture de leurs données d'entraînement et présentent un risque d'hallucination lorsqu'ils sont interrogés sur des événements récents, des tarifs en vigueur ou des comparatifs techniques. AgentGPT surmonte cette contrainte en combinant la décomposition autonome des tâches et l'appel d'outils (Tool Calling), en acheminant les requêtes via l'API Google Serper pour extraire des résultats organiques, analyser des extraits textuels (snippets) et piloter des recherches itératives.
Que vous utilisiez la plateforme Web hébergée ou que vous déployiez l'application en local avec Docker, la mise en service de cette fonctionnalité requiert des identifiants d'API adaptés, la configuration de variables d'environnement précises et la compréhension du mécanisme d'exécution de l'agent.
Fonctionnement de la recherche autonome dans AgentGPT
Conçu à l'origine par Reworkd AI sous la forme d'une plateforme d'agents autonomes open source reposant sur Next.js, FastAPI et LangChain, AgentGPT suit un cycle d'exécution continu : Planifier → Exécuter → Observer → Itérer.
[ Objectif de recherche ]
│
▼
[ Planificateur de tâches (LLM) ] ──► [ Tâche de recherche en file d'attente ]
│
▼
[ Routeur d'outils backend ]
│
▼
[ API Serper (Recherche Google) ]
│
▼
[ Rapport final / Tâches suivantes ] ◄── [ Analyse des extraits et titres ]
Lorsqu'un utilisateur soumet un objectif, le flux de travail franchit les étapes suivantes :
- Décomposition autonome : Le modèle planificateur évalue l'objectif et le scinde en sous-tâches ordonnées (par exemple, recenser des concurrents, extraire des spécifications récentes ou compiler des repères de performance).
- Sélection de l'outil : Lorsqu'une sous-tâche exige des données réelles et récentes, l'environnement de l'agent appelle l'outil de recherche backend (
reworkd_platform/web/api/agent/tools/search.py) plutôt que de se fier uniquement à la mémoire interne du modèle. - Transmission de la requête API : Le service backend émet une requête HTTP POST asynchrone vers le point de terminaison de Serper (
https://google.serper.dev/search), en transmettant les mots-clés formulés par l'agent. - Assimilation des résultats : L'agent reçoit une réponse JSON structurée contenant les résultats organiques, les titres de pages, les URL et les extraits textuels. Le LLM analyse ces données, évalue si la sous-tâche est satisfaite et consigne les conclusions dans le journal d'exécution.
- Ajustement récursif des tâches : Si des incertitudes subsistent, l'agent ajoute dynamiquement de nouvelles sous-tâches d'investigation à sa file d'attente jusqu'à l'accomplissement du but ou l'atteinte de la limite maximale d'itérations.
Identifiants requis et prérequis
Avant de configurer la recherche Web dans AgentGPT, vous devez obtenir des identifiants auprès de deux services clés :
| Composant | Fournisseur | Rôle au sein d'AgentGPT | Modalité d'obtention |
|---|---|---|---|
| Inférence LLM | OpenAI | Assure la planification, la décomposition des tâches et la synthèse des données (gpt-4 ou gpt-3.5-turbo) | Tableau de bord de l'API OpenAI Platform |
| API de moteur de recherche | Serper (serper.dev) | Fournit les résultats et extraits Google en quelques millisecondes à l'outil backend | Portail développeur de Serper (comprend 2 500 requêtes gratuites) |
Remarque pour les architectures locales : Si vous déployez AgentGPT sur un réseau d'entreprise avec des modèles locaux (via Ollama, vLLM ou LM Studio), vous pouvez faire pointer le point de terminaison du LLM vers votre serveur compatible OpenAI. Toutefois, l'outil de recherche Web continue d'exiger une clé API Serper disposant d'un accès à Internet.
Méthode 1 : Configuration sur la version hébergée d'AgentGPT
Pour une utilisation directe via navigateur sur agentgpt.reworkd.ai :
- Ouvrir les paramètres : Rendez-vous sur l'interface et cliquez sur l'icône d'engrenage (Settings) dans la barre latérale gauche.
- Renseigner la clé du modèle principal : Dans l'onglet Model / API Keys, saisissez votre
OPENAI_API_KEY. Sans clé d'inférence active, l'agent ne peut ni décomposer les tâches ni exploiter les résultats. - Indiquer la clé de recherche : Dans la rubrique relative aux intégrations ou clés d'API, repérez le champ Serper API Key et collez votre clé issue de
serper.dev. - Enregistrer la configuration : Cliquez sur Save. La version en ligne enregistre ces clés localement dans le navigateur (
localStorage), sans les transmettre à un serveur centralisé tiers. - Lancer un agent de test : Rédigez un objectif d'investigation précis (exemple : "Rechercher sur le Web et identifier les trois principaux frameworks d'agents IA open source parus en 2026 en comparant leurs architectures"), puis vérifiez dans le journal que l'outil de recherche est bien déclenché.
Méthode 2 : Déploiement local avec Docker (Recommandé pour les développeurs)
Pour les équipes nécessitant des cycles de test réguliers, un contrôle strict des quotas ou la personnalisation des outils, le déploiement via Docker Compose représente la solution optimale.
Étape 1 : Cloner le dépôt officiel
Téléchargez les sources sur votre machine de développement :
git clone https://github.com/reworkd/AgentGPT.git
cd AgentGPT
Étape 2 : Configurer les variables d'environnement
AgentGPT utilise des fichiers d'environnement pour transmettre les secrets au frontend Next.js et au backend FastAPI (reworkd_platform).
Créez le fichier de configuration à partir du modèle :
cp .env.example .env
Éditez le fichier .env pour y inscrire vos paramètres :
# Clé API du modèle de langage principal
OPENAI_API_KEY=sk-your-openai-api-key-here
# Clé API pour la recherche Web (Serper)
SERPER_API_KEY=your_serper_dev_api_key_here
# Optionnel : Jeton Replicate pour les tâches de génération d'images
REPLICATE_API_TOKEN=
# Plafond d'itérations par exécution (protection contre les boucles infinies)
MAX_LOOPS=10
Point de contrôle : Veillez à ce que
SERPER_API_KEYcontienne un jeton valide et que les requêtes ciblenthttps://google.serper.dev/search. Une clé absente ou erronée provoque des erreurs HTTP403 Forbiddenlors de l'exécution de la recherche.
Étape 3 : Lancer les conteneurs avec le script ou Docker Compose
Exécutez le script d'initialisation :
# Sur Linux / macOS
./setup.sh
# Sur Windows
./setup.bat
Ou démarrez directement les services avec Docker Compose :
docker compose up --build
Assurez-vous que le service frontend (port 3000) et l'API backend (port 8000) indiquent un état de fonctionnement stable dans leurs journaux.
Étape 4 : Valider le chargement de l'outil de recherche
Consultez les journaux de FastAPI pour vérifier que le module platform/reworkd_platform/web/api/agent/tools/search.py est bien actif. Lorsque SERPER_API_KEY est détectée, le système enregistre automatiquement l'outil Search parmi les capacités de l'agent.
Conseils de formulation des objectifs pour la recherche autonome
Les performances des agents autonomes dépendent de la précision de leurs instructions initiales. Pour optimiser la qualité de vos recherches :
- Cibler le périmètre et le format attendu : Évitez les formules vagues comme "Parle-moi des bases de données vectorielles" ; privilégiez des critères mesurables :
Objectif : Réaliser une étude de marché autonome sur les bases de données vectorielles d'entreprise. Rechercher les récents bancs d'essai comparatifs, identifier les 3 solutions de premier plan, comparer leurs modèles de tarification et mentionner les URL des sources consultées. - Définir un plafond d'itérations : Fixez
MAX_LOOPSentre 5 et 10 afin d'empêcher l'agent d'engendrer un nombre excessif de requêtes en cas de sujet trop vaste. - Exiger les URL des sources : Demandez explicitement l'inclusion des liens d'origine dans le rapport de synthèse pour faciliter la vérification humaine ultérieure.
Limites techniques et réalités d'ingénierie
L'utilisation d'AgentGPT pour la recherche d'informations impose de prendre en compte plusieurs contraintes architecturales :
- Extraction par extraits versus navigation DOM complète : L'outil par défaut d'AgentGPT s'appuie sur les extraits (snippets), les titres et les métadonnées transmis par Serper. Il ne comprend pas de navigateur sans tête (tel que Playwright ou Puppeteer) capable d'exécuter des scripts JavaScript complexes, d'interagir avec des éléments d'interface ou de parser des PDF volumineux. Si une extraction intégrale de page est nécessaire, il convient d'ajouter des outils personnalisés dans
tools/ou de faire appel à un microservice de scraping tiers. - Taille de la fenêtre de contexte et budget de jetons : L'accumulation de résultats de recherche successifs remplit rapidement la mémoire contextuelle du modèle. Avec des modèles à contexte restreint, cela peut causer l'omission d'éléments antérieurs ou une hausse notable des coûts d'API.
- Statut de maintenance du dépôt : Le dépôt officiel
reworkd/AgentGPTa été archivé en janvier 2026. Le code source demeure fonctionnel pour l'expérimentation et l'auto-hébergement, mais les entreprises déployant des agents de recherche avancés s'orientent aujourd'hui vers des frameworks plus récents (tels que CrewAI, LangGraph ou browser-use), tout en conservant le principe d'appel modulaire à des API spécialisées comme Serper.