YouMind
Se connecter

Vous ne manquez pas de jetons. Vous les gaspillez. Voici la différence.

@S_BatMan
ANGLAIS30 mai 2026
1.0M
313
47
8
315

TL;DR

Une analyse de 19 systĂšmes de mĂ©moire IA montre que des fenĂȘtres de contexte plus larges entraĂźnent souvent une dĂ©gradation des performances. Ce guide explore six mĂ©canismes, dont la rĂ©cupĂ©ration en deux Ă©tapes et le stockage hiĂ©rarchisĂ©, pour gĂ©rer efficacement vos budgets de jetons.

Plus je travaille avec les LLM, plus je me retrouve dans le combat éternel entre assez de contexte, trop de contexte, gaspillage de tokens et guerre de compaction. En regardant les systÚmes de mémoire agentiques, on voit qu'il existe quelques armes puissantes pour nous aider.

Le constat qui revient sans cesse dans les 19 systĂšmes que j'ai examinĂ©s est que des fenĂȘtres plus grandes intensifient le problĂšme du budget plutĂŽt que de le rĂ©soudre. Une fenĂȘtre de 200 000 tokens ne prĂȘte pas une attention Ă©gale Ă  tous les 200 000 tokens. Les performances se dĂ©gradent bien avant que la fenĂȘtre ne soit pleine. La dĂ©gradation n'est pas uniforme : les Ă©lĂ©ments au milieu d'un long contexte sont systĂ©matiquement moins bien pris en compte que ceux aux extrĂ©mitĂ©s. De plus, la tĂąche rĂ©elle de l'agent occupe une portion fixe de la fenĂȘtre, quelle que soit sa taille, ce qui signifie que tout le reste est un surcoĂ»t qui rivalise pour le mĂȘme budget d'attention.

Les systÚmes qui gÚrent bien cela ont convergé vers six mécanismes. Aucun d'eux n'est exotique. Plusieurs sont d'une simplicité embarrassante. Mais ceux qui les ignorent paient le prix.

Les six mécanismes

Passes de compaction

Le mécanisme le plus visible. On prend une longue conversation ou un large segment de mémoire, on le résume, et on remplace l'original par le résumé. MemoryOS le fait au niveau du segment : son résumeur de segment se déclenche lorsqu'un segment de conversation dépasse un seuil, le réduisant à une représentation compacte avant qu'il ne puisse empiéter sur le contexte de travail. Les wikis de type Karpathy (purpose.md, overview.md) en font une version au niveau des connaissances : le wiki est la forme compactée de tout ce que l'agent a appris sur un sujet, maintenue entre les sessions.

Le compromis est la perte d'information. La compaction est par définition une opération avec perte. Le résumé capte ce que le résumeur a jugé pertinent au moment de la compaction. Si l'agent a plus tard besoin d'un détail qui n'a pas été jugé pertinent, il est perdu. Ce n'est pas une raison pour éviter la compaction, mais c'est une raison pour ne pas en faire le seul mécanisme.

Il y a un deuxiÚme coût facile à manquer. La compaction n'est pas gratuite en temps d'exécution. MemoryOS peut dépenser 20 appels LLM ou plus en une seule interaction pour maintenir ses résumés de segments. Pour les systÚmes à haute fréquence d'interaction, c'est un coût opérationnel réel.

Troncature par aperçu des résultats

PlutÎt que de retourner le contenu complet de la mémoire à chaque récupération, on retourne un court aperçu et on laisse l'agent décider s'il veut récupérer l'enregistrement complet. supermemory expose des contrÎles de longueur d'extrait qui permettent aux appelants de régler la quantité de texte renvoyée par résultat. mem9 va plus loin : il décore les tours de source avec trois variables d'environnement (MEM9_SOURCE_TURN_MIN_SCORE, MEM9_SOURCE_TURN_PER_MEMORY_LIMIT, MEM9_SOURCE_TURN_TOTAL_LIMIT) qui donnent aux opérateurs un contrÎle précis sur le nombre de tours de source affichés et le score de pertinence minimum.

Le compromis est un appel d'outil supplémentaire. Si l'agent a besoin du contenu complet, il doit le demander explicitement. Pour la plupart des schémas de récupération, c'est le bon compromis : l'agent reçoit suffisamment de signal pour décider si l'enregistrement est pertinent avant de payer le coût en tokens pour le lire en entier.

Récupération en deux étapes

Une variante spécifique et importante de la troncature par aperçu. La recherche retourne des identifiants et de courts aperçus. Un appel GetByID séparé récupÚre l'enregistrement complet si nécessaire. L'interface MemoryRepo de mem9 est construite autour de ce schéma : la recherche et la récupération sont des opérations distinctes avec des empreintes token distinctes.

Les chiffres parlent d'eux-mĂȘmes. Dix correspondances Ă  1 500 tokens chacune reprĂ©sentent 15 000 tokens injectĂ©s dans le contexte, que l'agent les utilise ou non. La rĂ©cupĂ©ration en deux Ă©tapes retourne 10 identifiants et de courts aperçus pour environ 450 tokens au total, puis ne rĂ©cupĂšre que les enregistrements dont l'agent a rĂ©ellement besoin. Sur 20 Ă©tapes de rappel dans une session, cette diffĂ©rence s'accumule pour atteindre environ 200 000 tokens Ă©conomisĂ©s.

C'est la discipline la moins coûteuse que l'on puisse adopter. Elle ne nécessite aucun changement architectural du stockage mémoire, aucun appel LLM supplémentaire, et aucune perte d'information. C'est une décision d'interface de récupération.

Décomposer puis rappeler

PlutĂŽt que d'envoyer la requĂȘte utilisateur complĂšte Ă  la couche de rĂ©cupĂ©ration, on la dĂ©compose d'abord en sous-requĂȘtes. Le planificateur de rĂ©cupĂ©ration basĂ© sur l'intention de SimpleMem dĂ©compose les requĂȘtes entrantes en intentions de rĂ©cupĂ©ration atomiques avant d'interroger le stockage mĂ©moire. GitNexus fait quelque chose de similaire avec sa dĂ©composition d'outils de requĂȘte : les requĂȘtes complexes sont divisĂ©es en sous-requĂȘtes ciblĂ©es, chacune rĂ©cupĂ©rant une tranche focalisĂ©e du graphe mĂ©moire.

Le bĂ©nĂ©fice est la prĂ©cision. Une requĂȘte dĂ©composĂ©e rĂ©cupĂšre moins de matĂ©riel non pertinent, ce qui signifie moins de bruit dans le contexte. Le compromis est la latence : la dĂ©composition ajoute une Ă©tape de planification avant que la rĂ©cupĂ©ration ne commence. Pour les agents interactifs, cela compte. Pour les agents par lots ou en arriĂšre-plan, gĂ©nĂ©ralement pas.

Stockage hiérarchisé comme filtre budgétaire

Si vous avez dĂ©jĂ  construit une architecture mĂ©moire hiĂ©rarchisĂ©e (le sujet de l'article de la semaine derniĂšre), vous obtenez un filtrage budgĂ©taire comme effet secondaire. Le modĂšle Ă  trois niveaux de supermemory signifie que le matĂ©riel chaud et frĂ©quemment consultĂ© vit dans un niveau qui renvoie des rĂ©sultats compacts et Ă  fort signal. Le matĂ©riel froid se trouve dans un niveau qui n'est pas interrogĂ© par dĂ©faut. Le niveau d'observation de Hindsight fonctionne de la mĂȘme maniĂšre : les observations brutes ne sont pas injectĂ©es directement dans le contexte ; elles sont promues vers des niveaux supĂ©rieurs avant de devenir des candidats Ă  la rĂ©cupĂ©ration.

Le compromis est l'exhaustivitĂ© du rappel. Le matĂ©riel qui n'a pas Ă©tĂ© promu peut ĂȘtre pertinent mais ne remontera pas lors d'un passage de rĂ©cupĂ©ration standard. C'est le mĂȘme compromis que la compaction, mais le mode d'Ă©chec est diffĂ©rent : au lieu de perdre de l'information par rĂ©sumĂ©, on la perd par rĂ©trogradation.

Réponses d'outils auto-guidées

Le mĂ©canisme le moins discutĂ©, et l'un des plus intĂ©ressants. PlutĂŽt que de laisser l'agent dĂ©cider quoi faire aprĂšs un appel d'outil, la rĂ©ponse de l'outil elle-mĂȘme inclut un indice sur la marche Ă  suivre. GitNexus ajoute un bloc ---
**Next:** aux réponses d'outils, suggérant des actions de suivi. mem9 décore les tours de source avec des métadonnées structurées qui guident la prochaine étape de récupération de l'agent.

L'effet est que l'agent dépense moins de tokens en planification entre les appels d'outils. La réponse de l'outil porte suffisamment de structure pour rendre l'étape suivante évidente. Le compromis est l'effort d'ingénierie de prompt : écrire de bonnes réponses auto-guidées nécessite de savoir à l'avance ce dont l'agent aura probablement besoin ensuite, ce qui n'est pas toujours possible.

Le cas limite de Tolaria

Tolaria mĂ©rite d'ĂȘtre examinĂ© sĂ©parĂ©ment car il reprĂ©sente le point d'aboutissement logique de la discipline budgĂ©taire poussĂ©e Ă  l'extrĂȘme. ADR-0009 documente la dĂ©cision de supprimer entiĂšrement les plongements (embeddings) du systĂšme. Tolaria utilise uniquement la recherche par sous-chaĂźne. Pas d'index vectoriel, pas de rĂ©cupĂ©ration sĂ©mantique, pas d'appels de plongement.

Le raisonnement est direct : le token le moins cher est celui que l'on ne récupÚre jamais. La récupération basée sur les plongements renvoie des résultats sémantiquement similaires, ce qui signifie qu'elle renvoie des résultats que l'agent n'a pas explicitement demandés. Certains de ces résultats sont utiles. Beaucoup ne le sont pas. Tous coûtent des tokens.

La position de Tolaria est que le coĂ»t des rĂ©sultats non pertinents mais similaires, cumulĂ© sur une session, dĂ©passe le bĂ©nĂ©fice du rappel sĂ©mantique pour son cas d'usage. Que ce compromis tienne pour votre systĂšme dĂ©pend de ce Ă  quoi votre systĂšme est destinĂ©. Pour les systĂšmes oĂč les requĂȘtes sont prĂ©cises et structurĂ©es (navigation dans le code, recherche de document par identifiant), la position de Tolaria est dĂ©fendable. Pour les systĂšmes oĂč les requĂȘtes sont vagues et exploratoires, la suppression des plongements brise le rappel d'une maniĂšre dont il est difficile de se remettre.

La valeur du cas Tolaria n'est pas que vous devriez le copier. C'est qu'il rend le coût de la récupération sémantique visible d'une maniÚre que la plupart des systÚmes ne font pas.

Le cas contre les systĂšmes Ă  compaction seule

Plusieurs des 19 systĂšmes s'appuient sur la compaction comme mĂ©canisme budgĂ©taire principal ou unique. Les modes d'Ă©chec mĂ©ritent d'ĂȘtre nommĂ©s.

Le premier est que le résumé perd des détails qui n'ont pas été jugés pertinents au moment de la compaction mais qui le deviennent plus tard. Ce n'est pas hypothétique : c'est le mode d'échec standard de tout schéma de compression avec perte appliqué à des informations dont la pertinence future est inconnue.

Le second est que la compaction est un coĂ»t sur le chemin critique. MemoryOS dĂ©pensant 20+ appels LLM par interaction n'est pas rare pour les systĂšmes lourds en compaction. À grande Ă©chelle, ce coĂ»t n'est pas nĂ©gligeable.

Le troisiÚme, et le plus subtil, est que la compaction sans échappatoire est un oubli lent. Si la seule façon de réduire la taille du contexte est de résumer, et que les résumés sont avec perte, alors le systÚme jette continuellement de l'information sans moyen de la récupérer. La récupération en deux étapes, le stockage hiérarchisé et la troncature par aperçu des résultats préservent tous l'enregistrement original. La compaction non.

Rien de tout cela ne signifie que la compaction est mauvaise. Cela signifie que la compaction seule ne suffit pas.

Pondération de la récence et file d'attente persistante

Deux mĂ©canismes qui ne rentrent pas parfaitement dans les six catĂ©gories ci-dessus mĂ©ritent d'ĂȘtre notĂ©s.

graymatter utilise la fusion RRF avec une récence à demi-poids. Ce n'est pas un mécanisme budgétaire au sens strict, mais il en fait office : en sous-pondérant le matériel ancien dans les classements de récupération, il réduit la probabilité que des enregistrements obsolÚtes et à faible signal évincent ceux récents et à fort signal. L'effet est une hiérarchisation douce via des pondérations de classement plutÎt qu'une promotion explicite de niveau.

La machine d'Ă©tat de file d'attente d'ingestion de llm-wiki (540 lignes) adopte une approche diffĂ©rente. La file d'attente sĂ©rialise les opĂ©rations d'ingestion et applique un classeur de pertinence Ă  quatre signaux avant que quoi que ce soit n'entre dans le stockage mĂ©moire. Le contrĂŽle budgĂ©taire se fait au moment de l'Ă©criture plutĂŽt qu'Ă  la lecture. Le matĂ©riel qui ne franchit pas le seuil de pertinence n'est pas stockĂ©, ce qui signifie qu'il ne peut pas ĂȘtre rĂ©cupĂ©rĂ© et ne peut pas consommer de contexte. C'est un contrĂŽle budgĂ©taire indirect, mais il est durable : les Ă©conomies s'accumulent sur chaque session future.

Ce que les systÚmes bien conçus ont en commun

En regardant les 19 systÚmes, ceux qui gÚrent bien les budgets de contexte partagent quelques propriétés.

Ils traitent la récupération comme une opération en deux étapes plutÎt qu'une injection en une étape. Ils renvoient des aperçus avant les enregistrements complets. Ils préservent les enregistrements originaux plutÎt que de les remplacer par des résumés. Ils donnent aux opérateurs le contrÎle du volume de récupération via des paramÚtres explicites plutÎt que des valeurs par défaut codées en dur. Et ils pensent au budget à la fois au moment de l'écriture et au moment de la lecture.

Ceux qui le gĂšrent mal ont tendance Ă  s'appuyer sur un seul mĂ©canisme, gĂ©nĂ©ralement la compaction, et Ă  traiter la fenĂȘtre de contexte comme un tampon Ă  remplir plutĂŽt qu'une ressource Ă  gĂ©rer.

La conclusion de la recherche est simple. Des fenĂȘtres plus grandes exigent plus de discipline, pas moins. Non pas parce que les remplir est mauvais en principe, mais parce que les remplir avec le mauvais matĂ©riel coĂ»te plus cher que de laisser de la place vide.

Pour mon prochain article, je prévois de passer de la mémoire-comme-injection à la mémoire-comme-outils, en couvrant comment les 19 systÚmes gÚrent la frontiÚre entre ce qui est poussé automatiquement dans le contexte et ce que l'agent doit demander explicitement.*

Comme toujours, si vous avez trouvé cela intéressant, utile ou si vous voulez simplement aider à diffuser le savoir :

Partagez, s'il vous plaĂźt

Enregistrer en un clic

Lire les articles viraux en profondeur avec l’IA de YouMind

Enregistrez la source, posez des questions ciblĂ©es, rĂ©sumez l’argument et transformez un article viral en notes rĂ©utilisables dans un seul espace de travail IA.

Découvrir YouMind
Pour les créateurs

Transformez votre Markdown en un article 𝕏 impeccable

Quand vous publiez vos propres textes longs, la mise en forme 𝕏 des images, tableaux et blocs de code est pĂ©nible. YouMind transforme un brouillon Markdown complet en un article 𝕏 impeccable, prĂȘt Ă  publier.

Essayer Markdown vers 𝕏

D'autres patterns à décoder

Articles viraux récents

Explorer plus d'articles viraux