La page de documentation « Context Filter » de GPT Researcher, réécrite le 26 septembre 2026 par son créateur Assaf Elovic, décrit l'étape qui choisit, parmi les pages scrapées, les passages que le modèle rédacteur lira réellement. Elle la présente comme le principal levier sur la qualité d'un rapport après la recherche elle-même.
Pour chaque sous-requête, les pages sont plafonnées à 50 000 caractères et découpées en blocs de 1 000 caractères. Le filtre retient au plus dix blocs (vingt-cinq en mode mots-clés), puis les contextes des sous-requêtes sont joints et transmis au rédacteur. Le chat sur un rapport existant réutilise la même fonction.
le plus gros levier sur la qualité du rapport après la recherche elle-même
Cinq modes sont disponibles. Par défaut, GPT Researcher utilise Jev, un modèle de TypeSafe qui ne génère pas de texte mais répond à des questions typées avec des probabilités calibrées. Chaque bloc reçoit un score d'utilité de 0 à 3 sur une grille à quatre niveaux ; seuls les blocs à 1,5 ou plus sont gardés. Les appels partent en parallèle, soixante-quatre à la fois, pour environ 1,7 seconde de filtrage médian et un demi-centime par rapport. Sans clé TypeSafe, ou en cas d'erreur, le système se replie sur un classement BM25 en Python pur, sans dépendance, qui garde les blocs atteignant la moitié du score du meilleur. Aucun réglage ne laisse un run sans contexte.
Le benchmark rejoue 28 tâches réelles, 20 questions SimpleQA et 8 questions ouvertes, sur les pages exactement enregistrées, avec le même modèle rédacteur. Seul le filtre varie. Jev atteint 73 % de passages pertinents contre 46 % pour les embeddings, et gagne 15 duels contre 3, avec 10 égalités, pour le même coût. Le repli BM25 atteint 51 % et gagne 14 contre 6, résultat jugé seulement directionnel. Sans filtre, les rapports ouverts gagnent en ampleur, mais coûtent 65 % de plus en moyenne.
Deux constats structurent la page. D'abord, le seuil compte plus que le classement : sans seuil, Jev tombe à 50 % et BM25 perd contre les embeddings. Ensuite, le gain est une réduction du bruit : Jev envoie 4,5 k tokens au lieu de 7,6 k, pour une quantité de texte pertinent équivalente. SimpleQA, saturé à 18-20 sur 20, ne départage rien.
La page liste ses limites : 28 tâches, un seul type de rapport, rédaction et jugement par la même famille de modèles. Scripts de collecte, de rejeu et de jugement sont publiés, avec les métriques par run, pour que chacun puisse refaire la mesure.