Brief IA : IA Agentique : Quand la Récupération Rencontre la Mémoire

IA Agentique : Quand la Récupération Rencontre la Mémoire

Brief IA
Tom Levy·9 min·0 vues

La gestion optimale de la récupération et de la mémoire est cruciale pour améliorer la performance des agents IA, car elle permet d'éviter les échecs fréquents liés à des interactions incohérentes. En intégrant des connaissances externes et en conservant les informations apprises, les agents peuvent offrir des interactions plus pertinentes et personnalisées.

En bref
1Les systèmes d'IA agentique doivent gérer une fenêtre de contexte limitée, nécessitant des stratégies de récupération et de mémoire distinctes.
2La récupération permet d'intégrer des connaissances externes, tandis que la mémoire conserve les informations apprises par l'agent.
3Une combinaison efficace de récupération et de mémoire est essentielle pour éviter les échecs fréquents des agents IA.
💡Pourquoi c'est importantUne gestion optimale de la récupération et de la mémoire améliore la performance des agents IA, rendant leurs interactions plus pertinentes et personnalisées.
Le brief IA que lisent les pros

La recherche en IA te passionne ?

Les papers et avancées qui comptent, expliqués simplement, chaque soir. Gratuit.

Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.

Choisis ton rythme

Gratuit · Pas de spam · Désabonnement en 1 clic

📄
L'analyse en français

Introduction

Dans le domaine de l'intelligence artificielle, un agent qui ne parvient pas à se souvenir de ses interactions antérieures perd beaucoup de son utilité. Chaque modèle de langage est limité par une fenêtre de contexte fixe. Cela signifie qu'une fois qu'une conversation ou une série de documents dépasse cette limite, il est nécessaire de faire des choix : abandonner certaines informations, les résumer ou les récupérer à nouveau. Les développeurs qui conçoivent des agents pour des interactions à long terme rencontrent souvent ce problème. Il arrive que l'agent repose des questions auxquelles il a déjà répondu, contredit ses décisions antérieures ou ignore l'existence de documents pertinents.

Pour résoudre ce problème, deux mécanismes sont principalement utilisés : la récupération et la mémoire. Chacun d'eux aborde des aspects différents du défi. La récupération consiste à intégrer des connaissances externes que le modèle n'a pas apprises par défaut, comme des documents, du code ou des enregistrements de bases de données. La mémoire, quant à elle, permet de conserver ce que l'agent a appris ou réalisé, que ce soit au cours d'une session ou sur plusieurs, afin d'éviter de repartir de zéro à chaque fois. Confondre ces deux mécanismes ou n'en implémenter qu'un seul est souvent à l'origine de l'échec de nombreuses architectures d'agents.

Comprendre Pourquoi le Contexte Force une Séparation

La fenêtre de contexte représente l'ensemble des tokens que le modèle peut traiter simultanément : cela inclut le prompt système, l'historique des conversations, les sorties d'outils, et tout autre élément inséré à l'avance. Cette fenêtre est limitée, et chaque token est pris en compte à chaque passage, ce qui signifie qu'agrandir simplement la fenêtre ne résout pas le problème. Ainsi, l'ingénierie contextuelle est devenue une discipline à part entière, se concentrant sur la gestion de cette ressource limitée, considérée comme l'état complet disponible pour le modèle à un moment donné.

Face à cette contrainte, l'agent doit gérer deux types d'informations qu'il ne peut pas garder en permanence dans le contexte :

  • Les informations qui existent en dehors du modèle et de la conversation actuelle, comme une base de connaissances, du code ou des documents de politique. C'est là qu'intervient la récupération.

  • Les informations que l'agent a générées ou apprises lui-même, qui doivent perdurer au-delà de la fenêtre de contexte actuelle, comme une décision prise il y a plusieurs échanges ou un fait concernant un utilisateur spécifique. C'est le rôle de la mémoire.

Ces deux mécanismes sont souvent mis en œuvre avec des outils similaires tels que les embeddings, la recherche vectorielle et les magasins structurés. La distinction clé réside dans ce qu'ils stockent et d'où provient l'information. La récupération cherche dans un corpus externe à l'agent, tandis que la mémoire stocke des informations issues des interactions et actions passées de l'agent.

Définir la Récupération dans les Systèmes Agentiques

La récupération permet à un agent de répondre à la question : « que sait le monde à propos de cela que je n'ai pas dans mes poids ou mon contexte actuel ? » L'une des implémentations les plus courantes est la génération augmentée par récupération (RAG) :

  • Les documents sources sont découpés en passages suffisamment petits pour être utiles.
  • Chaque passage est converti en un embedding et stocké dans un index vectoriel.
  • Lors d'une requête, la question entrante est intégrée de la même manière, et l'index renvoie les correspondances les plus proches.
  • Ces correspondances sont insérées dans le prompt aux côtés de la question de l'utilisateur.

Ce modèle fonctionne généralement sur des magasins de données gérés avec une couche d'orchestration qui relie l'étape de récupération au reste du raisonnement de l'agent. Le corpus lui-même est partagé : chaque utilisateur posant des questions sur la même documentation accède au même index, qui est actualisé selon son propre calendrier, indépendamment de toute conversation individuelle.

Définir la Mémoire dans les Systèmes Agentiques

La mémoire permet à un agent de répondre à la question : « qu'ai-je déjà appris ou fait que je dois conserver ? » Elle se divise en deux couches distinctes :

  • La mémoire à court terme représente l'état de la session en cours : la conversation jusqu'à présent, ainsi que tout ce que l'agent a noté pendant la tâche actuelle. Elle est peu coûteuse et disparaît à la fin de la session.

  • La mémoire à long terme persiste à travers les sessions. Elle doit répondre à une question plus complexe que celle de la récupération : pas seulement « qu'est-ce qui est pertinent ? », mais « qu'est-ce qui vaut la peine d'être conservé en premier lieu ? »

Certains systèmes de mémoire d'agent extraient automatiquement des faits utiles, des préférences et du contexte des conversations pour les stocker en vue d'une utilisation ultérieure. Au début d'une nouvelle session, l'agent peut interroger cette mémoire de la même manière qu'il interrogerait un index de récupération, mais les résultats sont spécifiques à un utilisateur, une tâche ou un agent, plutôt qu'à un corpus de documents partagé. Lors de la conception de cette couche, les équipes peuvent explorer différentes stratégies et cadres de mémoire d'agent en fonction de ce qu'elles ont besoin de stocker et de récupérer.

Un exemple concret illustre cette séparation. Lorsqu'un client contacte un agent de support concernant une commande retardée, l'agent vérifie d'abord sa mémoire pour l'historique du client. Il trouve une note datant de trois semaines indiquant que le client préfère un suivi par email et qu'un problème d'expédition similaire a été résolu avec un remboursement partiel. C'est de la mémoire, car cela provient du dossier de l'agent concernant ce client spécifique.

Ensuite, l'agent a besoin de la politique d'expédition actuelle, qui a changé le mois dernier. Il recherche donc dans la documentation de l'entreprise et récupère la section pertinente. C'est de la récupération, car l'information provient d'une source externe et s'applique à tous les clients. Les deux résultats sont ajoutés au même prompt, mais ils répondent à des questions différentes.

Comparer Récupération et Mémoire

Lorsque l'on compare côte à côte la récupération et la mémoire, les différences deviennent plus évidentes :

| Dimension | Récupération | Mémoire | |-------------------------------|-------------------------------------------------|-----------------------------------------------| | Source d'information | Corpus externe que l'agent n'a pas créé | Propres interactions ou raisonnements passés de l'agent | | Portée | Partagée entre tous les utilisateurs et sessions | Spécifique à un utilisateur, une tâche ou une session | | Ce qu'elle répond | « Que sait le monde à propos de cela ? » | « Qu'ai-je déjà appris ou fait ? » | | Mécanisme de fraîcheur | Réindexer le corpus selon un calendrier ou lors d'une écriture | Consolider, mettre à jour ou expirer des faits stockés | | Mode d'échec typique | Documents obsolètes ou manquants dans l'index | Faits contradictoires ou obsolètes concernant un utilisateur | | Modèle de coût | Axé sur la lecture ; une recherche par requête | Lecture et écriture ; extraction après chaque interaction |

Les modes d'échec énumérés dans le tableau ci-dessus expliquent pourquoi un agent construit avec seulement l'un des deux a tendance à échouer de manière prévisible, et pourquoi la plupart des systèmes fonctionnels finissent par avoir besoin des deux.

Combiner Récupération et Mémoire en un Système Efficace

Un agent doté de capacités de récupération mais dépourvu de mémoire redérive les mêmes conclusions à chaque session et ne peut rien personnaliser. À l'inverse, un agent avec mémoire mais sans récupération connaît son propre historique mais n'a aucun moyen de se référer à des informations externes ; il ne peut pas répondre à des questions sur une politique qui a changé après la fin de ses données d'entraînement. Obtenir la bonne combinaison repose sur plusieurs éléments :

  • Le filtrage est plus important que la taille de la fenêtre. Ajouter plus de documents récupérés ou d'entrées de mémoire n'améliore pas nécessairement les réponses. Au-delà d'un certain point, un contexte supplémentaire peut rendre les réponses moins précises, car le modèle doit traiter et évaluer chaque token additionnel. Des recherches petites et ciblées sont souvent plus efficaces qu'une recherche large unique et peuvent garder la récupération efficace en termes de tokens.

  • L'obsolescence fonctionne différemment pour la récupération et la mémoire. Un index de récupération devient obsolète lorsque les documents sous-jacents changent sans être réindexés. La mémoire devient obsolète lorsque l'information concernant un utilisateur change — comme une préférence ou un plan — mais que le fait stocké n'est pas mis à jour ou supprimé.

  • La mémoire ajoute un coût d'écriture. La récupération implique généralement de rechercher des informations lorsque l'agent en a besoin. La mémoire nécessite également de décider quelles informations valent la peine d'être conservées après une interaction, ce qui peut ajouter des appels au modèle et du temps de traitement. Cette extraction est souvent gérée de manière asynchrone afin de ne pas ralentir la réponse de l'agent.

  • Les deux sources doivent être fusionnées avec soin. La récupération et la mémoire peuvent renvoyer des informations qui se chevauchent ou sont en conflit. L'agent doit avoir des règles claires pour décider combien de poids donner à chaque source et comment utiliser les deux dans le même contexte.

Le travail de conception pour la récupération et la mémoire revient à décider ce qui appartient à chaque catégorie, à quel point il faut élaguer les deux, et comment elles se combinent en un seul prompt sans donner au modèle des tokens dont il n'a pas besoin.

Résumé

La récupération et la mémoire résolvent des problèmes différents dans les systèmes d'agents à long terme. La récupération intègre des informations externes dont l'agent a besoin à un moment donné, telles que la documentation, les politiques, le code ou les enregistrements de base de données. La mémoire conserve des informations des interactions précédentes, telles que des décisions, des préférences et un contexte spécifique à l'utilisateur. La distinction est importante car les deux systèmes ont des portées, des préoccupations de fraîcheur et des modes d'échec différents. La récupération dépend de la mise à jour des sources externes, tandis que la mémoire dépend de la décision de ce qui vaut la peine d'être stocké et quand l'information stockée n'est plus valide.

Les architectures d'agents les plus efficaces utilisent les deux. Elles filtrent ce qui entre dans le contexte, maintiennent les informations raisonnablement fraîches et fusionnent les connaissances récupérées avec la mémoire pertinente au lieu de traiter l'un ou l'autre comme un enregistrement complet de tout ce que l'agent doit savoir.

L'objectif est donc de fournir à l'agent le contexte dont il a besoin.

Suivez Brief IA

L'actu IA du jour, aussi dans votre fil.

Commentaires