Le principe
Tout ce que le modèle « voit » à un instant donné doit tenir dans cette fenêtre : la consigne, l'historique de la conversation, les fichiers joints et la réponse en train de s'écrire. Une fois la limite atteinte, quelque chose doit sortir, en général le début de la conversation, tronqué ou résumé. C'est pour ça qu'un chatbot « oublie » ce qui a été dit cent messages plus tôt.
Les ordres de grandeur
Les premières versions de ChatGPT plafonnaient à 4 096 tokens, quelques pages de texte. Les modèles récents annoncent 128 000, 200 000, parfois plus d'un million de tokens. Pour se représenter les volumes : 100 000 tokens, c'est l'équivalent d'un roman.
Grande fenêtre, mémoire imparfaite
Une fenêtre d'un million de tokens ne garantit pas que le modèle exploite bien tout ce qu'elle contient. Les études sur le sujet montrent une attention plus faible au milieu d'un long contexte qu'à ses extrémités, un phénomène surnommé « lost in the middle ». Le coût suit aussi la taille : chaque token du contexte est refacturé à chaque échange, ce que le prompt caching des API vient atténuer sans l'annuler.
D'où l'intérêt du RAG : plutôt que de charger cent documents dans le contexte en espérant que le modèle s'y retrouve, on ne lui fournit que les passages pertinents pour la question posée.