FocusLM
Tous les articles

Et si un LLM gérait la mémoire comme un système d’exploitation ?

22 juillet 20267 min de lecture

La fenêtre de contexte d’un modèle est un petit bureau de taille fixe. Les systèmes d’exploitation ont résolu « plus de données qu’il n’en tient en mémoire » il y a des décennies — alors, que se passe-t-il si l’on offre la même astuce à un LLM ?

TL;DR

  • MemGPT traite la fenêtre de contexte comme de la RAM et y ajoute un stockage externe plus vaste, à la manière d’un disque.
  • Le modèle décide lui-même de ce qu’il faut charger (page in) et décharger (page out), si bien qu’il peut travailler au-delà de la limite de la fenêtre.
  • La leçon se généralise : une mémoire gérée et hiérarchisée surpasse un unique prompt plat en croissance permanente.

Le problème du bureau de taille fixe

Chaque modèle a une limite de contexte stricte. Les longues conversations, les gros documents et l’historique accumulé finissent par la déborder, et dès que quelque chose sort de la fenêtre, le modèle se comporte comme si cela n’avait jamais existé. Agrandir la fenêtre ne fait que repousser le mur — et, comme le montre le travail « lost in the middle », une fenêtre plus grande n’est de toute façon pas lue de façon uniforme.

Ce que montre la recherche

Dans MemGPT: Towards LLMs as Operating Systems, des chercheurs de l’UC Berkeley empruntent la plus ancienne idée de la conception des systèmes : une hiérarchie de mémoire. Dans un système d’exploitation, une RAM rapide mais petite est adossée à un disque lent mais vaste, et le système pagine les données entre les deux, si bien qu’un programme peut adresser plus de mémoire qu’il n’en tient physiquement. MemGPT dote un LLM des deux mêmes niveaux — un petit contexte principal à l’intérieur de la fenêtre et un vaste contexte externe en dehors — et laisse le modèle gérer lui-même la frontière au moyen d’appels de fonctions.

Concrètement, chaque niveau est subdivisé. Le contexte principal contient les instructions système fixes, un brouillon de contexte de travail pour les faits que l’agent souhaite garder sous les yeux, et une file FIFO des messages récents. Le contexte externe se scinde en stockage de rappel — le journal complet des événements des conversations passées — et en stockage d’archives, un magasin de long terme interrogeable pour du texte arbitraire. Le modèle lit et écrit à travers cette frontière en émettant des appels de fonctions, enchaînés par un « battement de cœur » pour qu’une action puisse en déclencher une autre.

Le déclencheur est un concept emprunté aux systèmes d’exploitation : une interruption. Lorsque la fenêtre approche de sa limite, un avertissement de pression mémoire se déclenche, et le modèle évacue ou résume les messages les plus anciens vers le stockage de rappel avant de poursuivre — le même geste de « déchargement quand la RAM est pleine » qu’effectue un système d’exploitation, mais décidé par le modèle.

Contexte principal (dans la fenêtre)petit, rapide, toujours visible pour le modèleStockage externevaste, hors de la fenêtre jusqu’au chargementdéchargercharger
Une hiérarchie à deux niveaux : le modèle garde un ensemble de travail dans la fenêtre et pagine le reste vers et depuis le stockage externe au besoin (Packer et al., 2023).
Au lieu d’essayer de tout faire tenir sur le bureau en même temps, le modèle apprend à aller chercher ce dont il a besoin et à ranger ce dont il n’a pas besoin.
Le geste clé, c’est que le modèle est un participant actif de sa propre gestion de la mémoire — il décide de ce qu’il faut stocker, récupérer et évacuer, au lieu d’une fenêtre fixe qui tronque silencieusement les tokens les plus anciens.

Les auteurs ont testé cela sur les deux charges de travail qui mettent en échec une fenêtre fixe. Dans le dialogue multi-sessions, un agent devait se souvenir de faits mentionnés par un utilisateur lors de sessions antérieures et s’appuyer dessus — en les rappelant depuis le stockage externe plutôt que de les perdre lorsqu’ils défilaient hors de la fenêtre. Dans l’analyse de documents, MemGPT répondait à des questions sur des documents bien plus longs que le contexte du modèle sous-jacent, en paginant à la demande les sections pertinentes, y compris des tâches de récupération imbriquée conçues pour déjouer un passage unique. Dans les deux cas, la conception hiérarchisée a permis à une petite fenêtre de se comporter comme une bien plus grande.

Ce que cela signifie pour vous

L’enseignement pratique n’est pas « utilisez MemGPT » en particulier — c’est le principe qui le sous-tend. Un assistant utile a besoin d’une mémoire qu’il peut faire grandir, organiser et rappeler sélectivement, et non d’un unique prompt que vous recollez sans cesse et qui oublie silencieusement son propre début. La question passe de « quelle est la taille de la fenêtre ? » à « quelle est la qualité de la gestion de la mémoire ? ».

Où FocusLM intervient

FocusLM est bâti exactement sur ce principe. Votre contenu vit dans une mémoire durable et structurée, en dehors de toute conversation unique ; chaque fois que vous posez une question, les éléments pertinents sont remontés dans le contexte et sourcés, et tout le reste demeure classé et à l’écart. C’est l’idée de la hiérarchie de mémoire appliquée à votre véritable corpus de connaissances en croissance — pas seulement à une seule session de conversation.

À lire aussi