Fenêtre de contexte et longueur de contexte
Les termes fenêtre de contexte et longueur de contexte sont souvent utilisés comme des synonymes. Lorsqu’une source les distingue, la fenêtre désigne la capacité maximale et la longueur désigne la quantité actuellement utilisée.
Cela laisse trois nombres qu’il convient de distinguer :
- Fenêtre de contexte maximale : la capacité annoncée pour un modèle ou un point de terminaison.
- Longueur de contexte actuelle : les jetons qui occupent une requête et une réponse données.
- Contexte utilisable de manière fiable : la quantité que le modèle peut exploiter correctement pour votre tâche.
Le troisième nombre n’est pas une spécification fixe. Il dépend du modèle, de la tâche, de l’emplacement des informations pertinentes et de la quantité de contenu non pertinent qui sollicite l’attention du modèle.
Fonctionnement d’une fenêtre de contexte
Une application rassemble le contenu destiné à une requête. Cela peut inclure :
- les instructions système et développeur
- les messages précédents de l’utilisateur et de l’assistant
- le message actuel
- les passages récupérés ou les documents joints
- les descriptions et les résultats des outils
- la mise en forme et les jetons de contrôle spéciaux
Un tokenizer convertit ce contenu en jetons que le modèle traite. Le grand modèle de langage génère ensuite sa réponse un jeton à la fois. Chaque jeton généré devient une partie de la séquence disponible lors de la production du jeton suivant : la sortie nécessite donc elle aussi de l’espace.
Lors d’un tour de conversation ultérieur, l’application renvoie normalement une sélection des contenus précédents. Elle peut conserver tout l’historique, supprimer les tours les plus anciens, récupérer uniquement les passages pertinents ou remplacer les anciens contenus par un résumé. Une fonctionnalité de mémoire distincte peut stocker des informations entre les requêtes, mais ce stockage ne constitue pas en lui-même la fenêtre de contexte. Pour que le modèle puisse utiliser une information, celle-ci doit être intégrée au contexte actuel.
Le comportement à la limite varie. Une API peut rejeter une requête trop volumineuse. Un produit conversationnel peut supprimer les contenus les plus anciens ou les résumer. Une génération peut s’arrêter lorsqu’elle atteint une limite. Consultez la documentation du modèle et du point de terminaison concernés pour connaître les règles exactes.
Un exemple détaillé
Supposons qu’un modèle dispose d’une fenêtre de contexte partagée hypothétique de 12 000 jetons :
- instructions masquées : 700 jetons
- définitions des outils : 800 jetons
- conversation et documents conservés : 6 500 jetons
- requête actuelle : 1 000 jetons
Le total de l’entrée est de 9 000 jetons. Il reste au maximum 3 000 jetons pour la réponse.
Supposons maintenant que le point de terminaison impose une limite distincte de 2 000 jetons pour la sortie. Même si 3 000 jetons restent disponibles dans la fenêtre partagée, la réponse ne peut pas utiliser plus de 2 000 jetons. La limite pratique est celle de la première contrainte applicable qui est atteinte.
Si l’application compresse l’historique de 6 500 jetons en un résumé de 1 500 jetons, l’entrée passe à 4 000 jetons. Cela libère davantage d’espace, mais n’agrandit pas la fenêtre de contexte. Il s’agit d’une représentation différente et plus courte du contenu précédent : les détails omis du résumé ne figurent plus dans la requête.
Pourquoi les fenêtres de contexte sont importantes
La fenêtre limite la quantité de contenu source qu’un modèle peut examiner en même temps. Elle détermine notamment si vous pouvez envoyer un long contrat en une seule requête, maintenir la cohérence d’une conversation prolongée ou fournir à un assistant de programmation suffisamment de contenu d’un dépôt pour résoudre un problème.
Elle influe également sur la planification de la sortie. Remplir presque toute la capacité disponible avec l’entrée peut laisser trop peu de place pour la réponse. Les applications réservent souvent un budget de sortie avant de décider quelle quantité d’historique ou de texte récupéré inclure.
Un contexte plus long a aussi un coût. Le traitement des entrées plus longues nécessite généralement davantage de temps et de calcul, et de nombreuses API facturent les jetons. Un contexte non pertinent peut rendre les informations utiles plus difficiles à repérer. La meilleure requête n’est pas nécessairement la plus complète : elle contient suffisamment de contenu pertinent et laisse la place nécessaire à la réponse attendue.
Une fenêtre plus grande ne constitue pas une meilleure mémoire
Une fenêtre de contexte mesure une capacité, et non une mémoire durable, des connaissances ou une intelligence. Un modèle peut accepter un passage sans exploiter toutes ses parties avec la même efficacité.
Des études contrôlées sur les contextes longs ont montré que les modèles peuvent obtenir de meilleurs résultats lorsque les informations pertinentes se trouvent près du début ou de la fin, plutôt que lorsqu’elles sont enfouies au milieu. Les résultats varient selon le modèle et la tâche, mais la leçon pratique reste la même : un maximum annoncé indique ce qui peut tenir dans le contexte, et non ce que le modèle se rappellera ou sur quoi il raisonnera parfaitement.
La mise en cache des prompts ne change pas cette distinction. Elle peut réduire le travail ou le prix liés à la réutilisation d’un préfixe, mais le contenu mis en cache peut toujours compter dans la capacité de contexte du modèle.
Une fenêtre de contexte se distingue également d’une date limite de connaissance. La fenêtre de contexte limite ce qui est disponible pendant cette réponse. Une date limite de connaissance décrit la limite temporelle des informations apprises pendant l’entraînement.
Pour aller plus loin
Consultez Qu’est-ce qu’un jeton en IA ? pour comprendre comment le texte est comptabilisé par rapport à la limite. Consultez Qu’est-ce qu’un LLM ? pour situer la fenêtre de contexte dans le processus de génération du modèle, un jeton à la fois. Pour découvrir la limite le plus souvent confondue avec la capacité de contexte, consultez Fenêtre de contexte et date limite de connaissance.