Le chatbot se souvient — alors pourquoi le modèle ne le fait-il pas ?
Les chatbots font référence avec fluidité aux détails de votre conversation précédente, créant une illusion de mémoire convaincante. Pourtant, le Large Language Model (LLM) sous-jacent ne possède aucun état persistant ; il fonctionne comme une stateless function. Chaque interaction est une nouvelle requête, dépourvue de souvenir personnel des échanges antérieurs.
La tâche principale d'un LLM consiste à prédire le prochain token uniquement sur la base de son entrée actuelle. Une fois qu'il génère une réponse et que le processus d'inférence est terminé, le modèle ne conserve pas cette interaction comme un souvenir personnel. Considérez cela comme une calculatrice : elle effectue un calcul et affiche le résultat, mais ne « se souvient » pas de la somme précédente lorsque vous en saisissez une nouvelle.
La continuité conversationnelle que vous expérimentez provient de l'application environnante, et non d'une mémoire interne cachée au sein du LLM. Les wrappers logiciels, comme ceux utilisés par ChatGPT ou Claude, y parviennent en ajoutant l'historique complet de la conversation à chaque nouvelle invite. Cette réinjection des échanges passés crée l'illusion sophistiquée que le modèle se souvient, alors qu'il traite simplement une entrée toujours plus longue.
L'astuce de la mémoire : rejouer la conversation
Les applications de chat assurent la continuité conversationnelle en renvoyant l'intégralité de l'historique du dialogue précédent à chaque nouveau message de l'utilisateur. Cette technique, souvent appelée « context window stuffing », fournit au LLM toutes les informations nécessaires pour générer une réponse cohérente, créant ainsi l'illusion de mémoire. Le modèle traite ce texte concaténé comme une seule invite étendue.
Pour un rappel persistant entre les sessions, une application peut stocker des faits clés, des préférences utilisateur ou des interactions passées dans une base de données ou un fichier. Lorsqu'un utilisateur revient, l'application récupère ces détails stockés et les insère dans l'invite initiale, permettant au LLM de faire référence aux informations précédentes. Il s'agit de données stockées, et non d'une mémoire intrinsèque du modèle lui-même.
Cette astuce de mémoire comporte des compromis. L'inclusion répétée de longs historiques augmente considérablement le nombre total de tokens envoyés à chaque tour, ce qui fait grimper les coûts d'API. La context window d'un LLM impose également une limite stricte à la longueur des entrées, restreignant la profondeur de la mémoire simulée. Bien que le prompt caching puisse optimiser les préfixes répétés, il ne confère pas une mémoire durable au modèle sous-jacent.
Vos mots font un détour par les tokens
Bien que votre application de chat gère la relecture de la conversation, le Large Language Model (LLM) lui-même ne traite pas directement vos mots. En interne, les LLM fonctionnent sur des représentations numériques appelées tokens. Avant que votre texte n'atteigne le modèle, un tokenizer le convertit en une séquence de ces identifiants de token.
Les tokens ne sont pas simplement des mots ou des caractères individuels ; ce sont des morceaux de texte que les données d'entraînement du modèle ont identifiés comme statistiquement significatifs. Un mot courant comme « the » peut devenir un seul token, mais un mot moins fréquent ou complexe, tel que « unbelievable », pourrait être divisé en plusieurs fragments plus petits comme « un », « believe » et « able ». Cette tokenisation par sous-mots permet aux modèles de gérer efficacement un vaste vocabulaire.
Comprendre le nombre de tokens est crucial car cela impacte directement les limites de la fenêtre de contexte et les coûts de l'API. En règle générale, 1 000 tokens correspondent à environ 750 mots en anglais, mais cela peut varier selon le texte. Vous pouvez vérifier le nombre précis de tokens pour n'importe quel texte en utilisant des outils comme le OpenAI Tokenizer Tool. Ce processus de conversion, bien qu'invisible pour l'utilisateur, est fondamental pour la manière dont les LLM interprètent et génèrent le langage humain.
Cet article vous plaît ? Recevez-en un comme celui-ci chaque matin.
un e-mail par jour · désinscription en deux clics · aucun traqueur tiers
Le coût réel de faire semblant de se souvenir
Faire semblant de se souvenir entraîne des coûts réels. Les fournisseurs comptabilisent les tokens d'entrée et de sortie pour la tarification et les limites de débit ; par conséquent, renvoyer une transcription entière et croissante à chaque tour rend les longues conversations plus coûteuses. Un token anglais typique représente environ les trois quarts d'un mot, donc une conversation s'étendant sur plusieurs pages peut rapidement accumuler des milliers de tokens.
Ajouter plus d'historique ne garantit pas une meilleure mémorisation. Des études montrent que des détails cruciaux peuvent devenir plus difficiles à « voir » pour le modèle lorsqu'ils sont enfouis au plus profond d'un prompt massif, un phénomène parfois appelé dégradation du contexte. Le mécanisme d'attention du modèle, qui évolue avec la longueur des tokens, peut avoir du mal à pondérer efficacement toutes les parties d'une entrée trop longue.
Considérez la mémoire enregistrée du chatbot comme une fonctionnalité de l'application, distincte des capacités fondamentales du LLM. Vérifiez quels détails un service stocke et comment il les utilise pour enrichir les interactions futures. Comprendre cette distinction est essentiel pour utiliser efficacement ces systèmes puissants, bien qu'ils soient sans état.
Pour aller plus loin, consultez la page d'aide sur la mémoire d'OpenAI et l'article fondateur, "Attention Is All You Need."
Foire aux questions
Les LLM se souviennent-ils des conversations précédentes ?
Un modèle ne conserve pas une conversation une fois qu'une requête est terminée. Une application peut stocker l'historique des discussions ou les détails de l'utilisateur et inclure des informations pertinentes dans les prompts ultérieurs.
Pourquoi un chatbot semble-t-il se souvenir de moi ?
L'application de chatbot peut renvoyer des messages antérieurs ou récupérer des détails enregistrés, rendant la conversation fluide alors même que le modèle lui-même n'a aucune mémoire persistante.
Que sont les tokens dans un LLM ?
Les tokens sont des unités numériques représentant du texte. Il peut s'agir de mots courants entiers ou de fragments de mots moins courants, et ils affectent les limites du modèle ainsi que les coûts de l'API.
Renvoyer l'historique des discussions rend-il l'IA plus coûteuse ?
C'est possible. Lorsqu'une application inclut davantage de messages précédents à chaque requête, l'utilisation des tokens d'entrée s'accumule au fil des échanges, bien que la mise en cache puisse réduire le coût du texte répété.

