Comment les applications d'IA grand public gèrent-elles la « mémoire » ? • ChatGPT : Injection complète et résumé léger – Un partenaire plus attentif • Claude : Accès aux outils et récupération à la demande – Un assistant plus performant @manthanguptaa a mené des recherches approfondies sur les mécanismes de gestion de la mémoire et du contexte de ChatGPT et Claude par le biais de la « rétro-ingénierie » et a découvert de manière inattendue deux schémas complètement différents : « l'injection de pré-calcul » (ChatGPT) et « l'outil de récupération à la demande » (Claude). Schéma de mémoire de ChatGPT : injection complète et résumé léger La logique de base de ChatGPT est d'« inclure votre profil et un résumé récent dans chaque conversation ». Le système ne s'appuie pas sur le modèle pour « réfléchir » à la nécessité de rechercher des informations en mémoire ; au contraire, il insère de force les informations pertinentes dans chaque invite. Architecture de base (structure à 4 couches) 1. Métadonnées de session [temporaires] • Contenu : type d’appareil, navigateur, localisation approximative, fuseau horaire, niveau d’abonnement et même vos habitudes d’utilisation (comme la profondeur moyenne des conversations et les modèles couramment utilisés). • Fonctionnalités : Injection unique, détruite à la fin de la session. Permet au modèle d’adapter ses réponses à votre environnement (mode sombre, taille de l’écran, etc.) pendant la conversation, sans les stocker en mémoire à long terme. 2. Mémoire de l'utilisateur [à long terme] • Contenu : Des faits clairs. Par exemple : « Je m’appelle Manthan », « Je suis programmeur », « Je n’aime pas la coriandre. » Fonctionnement : Un outil dédié permet d’ajouter, de supprimer et de modifier des données. Si vous dites : « N’oubliez pas que mon nom est X », cela sera enregistré. Le système enregistrera également automatiquement les informations clés de la conversation. • Utilisation : Ces informations seront enregistrées dans une « archive » gérée par le système, et chaque conversation sera intégralement intégrée à l'invite. 3. Résumé des conversations récentes [À travers les conversations] • Contenu : C’est ce qui rend ChatGPT vraiment unique. Au lieu de récupérer l’intégralité des conversations passées, il précalcule des résumés légers des 10 à 15 conversations les plus récentes (au format suivant : horodatage : titre || extrait de ce que l’utilisateur a dit). • Fonctionnalités : Contient uniquement des résumés des publications des utilisateurs, et non les réponses de l’IA. Ce système fonctionne comme une « carte d’intérêts », permettant au modèle de comprendre vos centres d’intérêt actuels sans consommer une grande quantité de ressources pour lire l’intégralité des publications précédentes. 4. Contenu de la fenêtre de session actuelle : Un enregistrement complet de la conversation en cours, jusqu'à la limite de jetons. Système de mémoire de Claude : récupération à la demande et accès aux outils La solution de Claude s'apparente davantage à un « spécialiste doté d'un moteur de recherche ». Elle ne conserve pas par défaut l'historique des conversations précédentes ; elle ne « déterre les anciens messages » que lorsque vous en avez besoin. Architecture de base 1. Mémoire de l'utilisateur [à long terme] • Contenu : Similaire à ChatGPT, il stocke des informations clés (nom, profession, préférences, etc.). • Format : Injecté dans l'invite système au format XML (...). • Mécanisme : Prend en charge les mises à jour implicites en arrière-plan et la modification explicite par l'utilisateur. 2. Contenu de la session actuelle : Un compte rendu complet de la conversation en cours. 3. Outils de recherche historique [Différences fondamentales] Claude n'intègre pas automatiquement les résumés des dialogues précédents dans l'invite. Il propose en revanche deux outils dédiés que le modèle décide de manière autonome quand utiliser : • conversation_search : Rechercher les conversations passées en fonction de mots clés ou de sujets. • recent_chats : Récupère une liste des conversations récentes par ordre chronologique. • Processus : L'utilisateur pose une question -> Claude se demande : « Dois-je me référer aux conversations précédentes ? » -> Si oui -> Utilise des outils pour récupérer les informations pertinentes -> Obtient le fragment spécifique -> Répond à l'utilisateur. Avantages, inconvénients et scénarios d'utilisation 1. ChatGPT avantage: • Transition fluide : L’expérience est très agréable. Même en passant à un autre sujet, le résumé permet de garder une idée générale du contexte. • Rapide : Aucune étape de recherche supplémentaire requise. défaut: • Perte de détails : puisqu’il ne stocke que des résumés, et uniquement des résumés des commentaires des utilisateurs, il se peut qu’il ne se souvienne pas de la solution de code spécifique qu’il a fournie la dernière fois, et ne puisse se souvenir que d’une idée générale. • Risque d’interférence : Il arrive que d’anciens résumés non pertinents interfèrent avec la tâche en cours. Meilleur scénario : • Pour une conversation informelle/une compagnie agréable : il doit se souvenir de vos petites préférences. • Multitâches : Vous posez plusieurs questions différentes en même temps et devez passer rapidement de l'une à l'autre. • Tâches superficielles et continues : comme « reprendre l’histoire de la semaine dernière », le système peut reprendre là où il s’était arrêté en jetant un coup d’œil au résumé. 2. Claude avantage: • Haute précision : grâce à la recherche, il peut retrouver des structures JSON spécifiques ou des paramètres logiques particuliers d'une conversation datant de plusieurs mois, plutôt que de vagues résumés. • Contexte propre : par défaut, l’historique non pertinent n’est pas chargé, ce qui permet non seulement d’économiser des jetons, mais aussi d’éviter les interférences d’informations obsolètes. défaut: • Manque de proactivité : si le modèle commet une erreur et pense « il n’est pas nécessaire de vérifier l’historique », il vous répondra comme s’il souffrait d’amnésie. • Lent : Les appels d'outils prennent du temps. Meilleur scénario : • Développement de projets à long terme : par exemple, lors de l’écriture de code, si vous souhaitez « réutiliser le module d’authentification que j’ai écrit le mois dernier », le système peut retrouver le code spécifique. • Recherche dans la base de connaissances : Elle est indispensable pour intégrer en profondeur un grand nombre de notes accumulées au fil du temps. • Tâches logiques complexes : nécessitent une précision contextuelle extrêmement élevée et ne tolèrent pas les résumés flous. Perspective comparative supplémentaire : La « résolution » et la « contrôlabilité » de la mémoire. Outre ce que mentionne l'article, je pense qu'il y a deux autres points à souligner : 1. Résolution de la mémoire : ChatGPT utilise une fonction de vignettes simplifiée : elle affiche les vignettes des 10 dernières conversations. Elle en perçoit les grandes lignes, mais pas les détails. • Claude est un projecteur « haute fidélité » : il est généralement dans l'obscurité (ne regardant pas l'histoire), mais une fois allumé (en train de chercher), il peut illuminer un coin précis du passé et le voir clairement. 2. Point de vue du développeur vs. de l'utilisateur : la solution de ChatGPT ressemble davantage à une « fonctionnalité produit » mature : OpenAI l'a bien intégrée, elle est invisible pour les utilisateurs, l'expérience est cohérente et l'objectif est de fidéliser les utilisateurs et d'accroître leur activité. L'approche de Claude s'apparente davantage à une « capacité d'agent » : Anthropic dote les modèles de la capacité d'utiliser des outils, ce qui correspond mieux à l'orientation du développement des agents — autrement dit, les modèles ne se contentent pas de dialoguer, mais utilisent également des outils (y compris des outils de gestion de la mémoire) pour résoudre des problèmes. Cette approche offrira un potentiel bien plus important pour la gestion de contextes extrêmement longs et de bases de connaissances massives à l'avenir. Articles de blog originaux
Chargement du thread
Récupération des tweets originaux depuis X pour offrir une lecture épurée.
Cela ne prend généralement que quelques secondes.
