P

Needle In Haystack : Définition et Exemples

Le test Needle In a Haystack (NIAH) est une méthode d'évaluation qui mesure la capacité d'un modèle de langage à retrouver une information précise enfouie dans un contexte très long.

Définition complète

Le test Needle In a Haystack (littéralement « aiguille dans une botte de foin ») est un benchmark conçu pour évaluer la capacité des grands modèles de langage (LLM) à localiser et extraire une information spécifique placée intentionnellement au milieu d'un contexte textuel volumineux. Le principe est simple : on insère un fait précis (l'aiguille) à différentes positions dans un document très long (la botte de foin), puis on demande au modèle de retrouver cette information.

Ce test est devenu un standard de l'industrie pour mesurer les performances réelles des fenêtres de contexte étendues. En effet, un modèle peut annoncer supporter 100 000 tokens de contexte, mais si sa capacité à retrouver une information se dégrade fortement lorsque celle-ci est placée au milieu du texte, cette fenêtre de contexte est en pratique moins exploitable qu'annoncé. Le test NIAH révèle ces faiblesses en variant systématiquement la position de l'aiguille et la longueur du contexte.

Les résultats sont généralement présentés sous forme de heatmap bidimensionnelle, avec la profondeur de l'aiguille dans le document en un axe et la longueur totale du contexte en l'autre. Cela permet de visualiser les zones de faiblesse d'un modèle — par exemple, de nombreux modèles montrent des performances dégradées lorsque l'information se trouve au milieu du texte, un phénomène connu sous le nom de « lost in the middle ».

Pour les praticiens du prompt engineering, comprendre les résultats NIAH d'un modèle est essentiel. Cela permet de structurer ses prompts de manière stratégique : placer les informations critiques en début ou en fin de contexte, découper les documents longs en segments plus courts, ou encore utiliser des techniques de rappel explicite pour guider l'attention du modèle vers les éléments importants.

Étymologie

L'expression « needle in a haystack » (aiguille dans une botte de foin) est un idiome anglais ancien signifiant chercher quelque chose de quasi impossible à trouver. Dans le contexte de l'IA, le terme a été popularisé en 2023-2024 par Greg Kamradt qui a conçu le premier test systématique NIAH pour évaluer les LLM à contexte long, notamment GPT-4 Turbo et Claude.

Exemples concrets

Évaluation d'un modèle à contexte long

Voici un document de 50 000 mots. Quelque part dans ce texte se trouve la phrase : 'Le code secret de la mission est Zephyr-42.' Quel est le code secret de la mission ?

Analyse de documents juridiques volumineux

J'ai inséré dans ce contrat de 200 pages une clause spécifique concernant la résiliation anticipée. Retrouve cette clause et résume ses conditions exactes.

Recherche dans des logs techniques

Voici 48 heures de logs serveur. Identifie l'entrée exacte qui mentionne une erreur de connexion à la base de données PostgreSQL avec le code d'erreur 08001.

Usage pratique

En prompt engineering, les résultats du test Needle In a Haystack vous aident à structurer vos prompts longs de façon optimale. Placez toujours les informations critiques en début ou en fin de contexte plutôt qu'au milieu, et utilisez des marqueurs explicites (titres, balises, rappels) pour guider l'attention du modèle. Si votre tâche nécessite d'analyser de très longs documents, envisagez de les découper en segments ou d'utiliser une approche RAG plutôt que de tout injecter dans un seul prompt.

Concepts liés

Context WindowLost In The MiddleRetrieval-Augmented Generation (RAG)Long Context

FAQ

Comment fonctionne concrètement un test Needle In a Haystack ?
On génère un texte long (la « botte de foin »), on y insère un fait précis à une position donnée (l'« aiguille »), puis on pose une question au modèle sur ce fait. On répète l'opération en variant la position de l'aiguille (début, milieu, fin) et la longueur totale du contexte. Les résultats sont compilés dans une heatmap qui montre le taux de réussite du modèle selon ces deux variables.
Quels modèles obtiennent les meilleurs scores au test NIAH ?
Les modèles les plus récents comme Claude (Anthropic) et GPT-4 obtiennent généralement d'excellents scores, souvent proches de 100 % sur l'ensemble de leur fenêtre de contexte. Cependant, les performances varient selon la complexité de l'aiguille : un fait simple est plus facile à retrouver qu'une information nécessitant un raisonnement multi-étapes. Des variantes plus exigeantes du test, comme le multi-needle ou le needle avec raisonnement, permettent de mieux différencier les modèles.
Le test Needle In a Haystack est-il suffisant pour évaluer un modèle à contexte long ?
Non, le NIAH classique est un test nécessaire mais insuffisant. Il mesure uniquement la capacité de récupération d'une information explicite. Il ne teste pas la synthèse, le raisonnement sur de multiples passages, ni la compréhension globale d'un document long. Des benchmarks complémentaires comme RULER, LongBench ou BABILong évaluent ces capacités plus complexes et donnent une image plus complète des performances réelles d'un modèle sur des contextes longs.

Voir aussi

Comment utiliser ce prompt

  1. Copie le prompt avec le bouton ci-dessus.
  2. Colle-le dans ChatGPT, Claude ou ton assistant IA préféré.
  3. Remplace les variables entre crochets par tes informations, puis affine le résultat.

À propos de Prompt Guide

Prompt Guide est une bibliothèque gratuite de plus de 2500 prompts prêts à l'emploi pour ChatGPT, Claude et les autres IA, avec des guides pour apprendre à prompter et des outils pour créer et optimiser tes propres prompts.

Autres définitions

Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter.