Retour au blog
HermesLettaMemoryComparison

Hermes Agent vs Letta : plateforme mémoire ou runtime ?

Hermes Agent et Letta (ex-MemGPT) sont aux deux extrêmes du spectre de la mémoire d'agent. Comment choisir entre les deux en 2026.

Par Hermify Team||10 min de lecture
Hermes Agent vs Letta sur un fond sombre séparé avec le nom de chaque projet comme étiquette de texte, comparant un runtime à mémoire curée toujours présente et une plateforme de mémoire en couches inspirée d'un système d'exploitation

Deux paris sur la façon dont un agent devrait se souvenir

Si vous avez cherché "hermes agent vs letta", vous savez sans doute déjà que les deux projets vivent dans la catégorie "agent IA avec mémoire". Ce qui est moins évident, c'est qu'ils font des paris opposés sur ce que cette mémoire devrait être. Letta, anciennement MemGPT, donne à l'agent une mémoire en couches inspirée d'un système d'exploitation, avec plus de 23 000 étoiles sur GitHub : core, recall et archival, que le modèle gère activement via des appels de fonction. Hermes Agent, de Nous Research, garde un petit résumé curé présent à chaque tour et ne demande jamais au modèle d'aller le récupérer.

Ce clivage philosophique compte parce qu'il façonne tout le produit. Letta est une plateforme que vous branchez dans votre propre code pour construire des agents riches en mémoire. Hermes est un runtime que vous installez une fois et avec lequel vous discutez sur Telegram, Signal, Discord ou Slack. Ce billet passe en revue les deux, où se trouve vraiment la frontière de décision et quand l'hybride a du sens.

Ce que fait vraiment Letta

Letta est le descendant direct du papier MemGPT du Sky Computing Lab de l'UC Berkeley. Il tourne comme un processus serveur qui gère l'état de l'agent dans une base PostgreSQL, exposée via une API REST sur le port 8283 avec des SDK officiels Python et TypeScript. Il existe aussi un Agent Development Environment pour inspecter graphiquement ce que l'agent sait à un moment donné.

Le modèle de mémoire est la raison d'être du projet. Chaque agent Letta a trois couches :

  • Core memory : un petit bloc qui reste dans la fenêtre de contexte à chaque tour, fonctionnant comme de la RAM de travail. Persona, profil utilisateur, contexte critique.
  • Recall memory : l'historique complet de la conversation stocké en base. L'agent cherche dans ses propres messages passés au lieu de dépendre de la fenêtre du LLM.
  • Archival memory : une base vectorielle pour du stockage long terme. L'agent écrit des observations et les récupère plus tard par recherche sémantique, jusqu'à une taille illimitée.

L'agent décide quand lire et écrire dans les trois en appelant des fonctions de gestion de mémoire à l'intérieur de sa boucle de raisonnement. C'est la promesse "self-managing" : le LLM joue son propre contrôleur de mémoire. Quand il a besoin de contexte, il interroge. Quand il apprend quelque chose qui vaut la peine d'être gardé, il l'insère.

Letta est très portable. L'Agent File Format ouvert (.af) permet de déplacer un agent entier, mémoire comprise, entre frameworks et hôtes. En mai 2026, l'équipe a lancé Letta Code, un agent de code memory-first qui affronte directement d'autres assistants de code. Le dépôt principal letta-ai/letta dépasse les 23 000 étoiles et les 2 400 forks.

Ce que Letta n'est pas, c'est un produit fini pour l'utilisateur final. C'est un backend. Vous embarquez le SDK dans un service Python ou TypeScript, décidez de l'interface ou du canal de messagerie que verront vos utilisateurs et gérez le cluster PostgreSQL où vivent les agents.

Ce que fait vraiment Hermes Agent

Hermes Agent est un agent IA open source de Nous Research, sorti le 25 février 2026, désormais en v0.14.0. Contrairement à Letta, ce n'est pas une bibliothèque que vous importez : c'est un runtime que vous installez. Vous le pointez vers un fournisseur de modèle avec votre propre clé et il tourne comme un processus longue durée avec lequel vous parlez via Telegram, WhatsApp, Discord, Slack, Signal ou une CLI locale, le tout derrière une seule passerelle.

Le système de mémoire prend la forme délibérément opposée :

  • MEMORY.md et USER.md sont des fichiers texte que l'agent curé sur vous. Ils vivent dans ~/.hermes/memories/ et sont injectés dans le prompt système au démarrage de chaque session, présents dès le premier token.
  • La recherche SQLite sur les sessions avec FTS5 indexe chaque conversation, donc l'agent peut retrouver ce dont vous avez discuté jeudi dernier.
  • Les skills sont des fichiers markdown que l'agent crée et corrige lui-même après des tâches complexes (typiquement cinq appels d'outils ou plus).
  • Les fournisseurs de mémoire externes forment une couche de plugins : Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover et Supermemory peuvent être ajoutés si vous voulez des graphes de connaissances, de la recherche sémantique ou de la modélisation d'utilisateur intersession par-dessus les fichiers de base.

Nous avons couvert l'architecture de mémoire native dans le post Hermes Agent memory and skills. Le choix de conception clé : le résumé curé est toujours présent, pas récupéré. Pas d'appel de fonction mémoire, pas de saut de recherche vectorielle, pas de risque que le LLM oublie d'interroger. Si c'est dans le fichier, c'est dans le prompt.

Hermes fournit six backends terminaux (local, Docker, SSH, Daytona, Singularity, Modal) et est sous licence MIT. Un petit VPS européen tourne autour de cinq euros par mois. Le coût marginal est votre fournisseur de modèle, pas le runtime.

La frontière de décision

Un cadrage utile : Letta est pour des agents que vous construisez avec une mémoire en couches autogérée et Hermes est pour un agent que vous faites tourner avec une mémoire curée toujours présente.

Question Letta Hermes Agent
Abstraction principale Plateforme mémoire avec SDK et API REST Runtime d'agent avec lequel vous parlez sur des apps de messagerie
Modèle de mémoire Core + recall + archival, l'agent récupère Fichiers curés toujours présents + fournisseurs externes optionnels
Où vit la mémoire PostgreSQL géré par Letta Server Fichiers markdown simples que vous possédez sur disque
Interface pour l'utilisateur final Vous la construisez Telegram, WhatsApp, Discord, Slack, Signal, CLI, intégrés
Déploiement Letta Server + PostgreSQL, self-hosted ou Letta Cloud Processus local, Docker ou un petit VPS
Portabilité Agent File Format (.af) entre frameworks Copier le répertoire ~/.hermes/
Écosystème de langages SDK Python et TypeScript Runtime Python avec skills en markdown
Point fort Construire des produits IA maison riches en mémoire Assistance personnelle, recall, brouillons, jugement
Latence de récupération Recherche vectorielle ou SQL par requête Zéro pour le bloc curé, toujours dans le prompt
Licence Apache 2.0 MIT

Si vous vous retrouvez à importer Letta dans un service pour ensuite reconstruire des bots Telegram, du cron et des notes vocales par-dessus, c'est le signe que vous recréez ce que Hermes fournit d'office. Si vous vous retrouvez à pousser des centaines de mégaoctets de contexte historique récupérable dans Hermes en le faisant chercher vectoriellement, c'est le signe qu'une plateforme de mémoire en couches conviendrait mieux.

Quand Letta gagne

Letta est la bonne réponse quand :

  • Vous construisez un produit IA, pas un agent pour vous. Support client, un assistant de recherche spécialisé, un copilote pour votre SaaS. Le modèle de mémoire doit passer à l'échelle par utilisateur sur une surface applicative large.
  • Vous avez besoin de mémoire d'archive à l'échelle. Millions d'interactions par utilisateur, recherche sémantique sur des années d'historique, politiques de rétention formelles.
  • Votre équipe sait opérer PostgreSQL et exposer le SDK depuis un service que vous contrôlez de bout en bout.
  • Vous voulez un contrôle programmatique explicite de ce que l'agent insère, récupère et oublie : une piste d'audit des opérations mémoire, pas un comportement implicite planqué dans un prompt.
  • Vous tenez à la portabilité entre frameworks. Le format .af est réel et fonctionne.

C'est la catégorie plateforme mémoire. Letta et ses pairs (Mem0, Zep) la dominent. La couverture dans la comparaison Mem0 vs Letta de Vectorize, le tour d'horizon 2026 des frameworks mémoire par Atlan et le panorama mémoire 2026 d'innobu illustrent la maturité de l'espace.

Quand Hermes gagne

Hermes est la bonne réponse quand :

  • L'agent est le vôtre, pas celui de votre produit. Un assistant personnel qui connaît votre style, vos projets, vos contacts.
  • Vous voulez une latence de récupération nulle pour la mémoire qui compte. Si c'est dans MEMORY.md, le modèle le voit avant même de commencer à raisonner. Pas de requête ratée, pas d'appel oublié.
  • Vous voulez que l'interface soit une surface de chat que vous utilisez déjà, pas une UI à construire. Telegram est le canal géré principal ; Signal, Discord, Slack, WhatsApp et CLI sont disponibles en self-hosted.
  • Vous voulez lire ce que votre agent sait. MEMORY.md est un fichier texte, pas une ligne dans une base vectorielle. Auditer ce que l'agent croit sur vous prend 30 secondes.
  • Vous acceptez la limite du curé. Hermes garde volontairement le résumé toujours présent petit. Ce n'est pas un endroit pour déverser tout ce que vous avez jamais dit.

C'est la catégorie agent personnel. Digests quotidiens dans votre ton. Recall rapide sur vos projets en cours. Curation de lectures et journaling. Nous avons comparé Hermes à d'autres options d'assistant personnel dans Hermes Agent vs ChatGPT, Claude et Gemini, et aux outils de workflow dans Hermes Agent vs n8n.

Si c'est ce que vous voulez, Commencez avec Hermify et sautez l'installation : nous faisons tourner un Hermes Agent géré sur Telegram avec une mémoire qui reste la vôtre, en ligne en une minute environ.

Curé toujours présent vs en couches autogéré

Le vrai désaccord philosophique mérite d'être nommé. Letta parie que plus de mémoire, c'est mieux tant que l'agent peut décider quand la chercher. Hermes parie que moins de mémoire, c'est mieux tant qu'elle est toujours présente.

Les deux paris se défendent. Sous le modèle Letta, un agent avec mémoire d'archive peut rappeler une interaction d'il y a un an parce qu'il est allé la chercher explicitement. Sous le modèle Hermes, l'agent n'aura peut-être pas ce détail ancien, mais les choses sur vous qui comptent vraiment, votre nom, vos projets, vos préférences, sont garanties sans dépendre d'un appel de récupération qui peut échouer ou halluciner.

En pratique, les modèles gourmands en récupération ajoutent de la latence et des modes de défaillance. Chaque recherche est une occasion pour le LLM de sauter l'appel, de mal formuler la requête ou de mal interpréter les lignes renvoyées. La mémoire curée toujours présente n'a pas cette surface de défaillance pour ce qu'elle contient, mais elle a aussi un plafond. Vous obtenez un petit ensemble de travail à haut signal, pas une archive indexable.

L'hybride honnête

Les deux ne s'excluent pas. Un montage avancé raisonnable :

  • Hermes porte la relation. Votre agent personnel vit dans Telegram ou une autre messagerie, tient vos USER.md et MEMORY.md curés et gère skills et jobs cron.
  • Letta gère l'archive à l'échelle. Quand Hermes a besoin de chercher dans cinq ans de journaling ou des centaines de notes de réunion, il délègue à un service Letta self-hosted. Letta renvoie les fragments récupérés et Hermes les tisse dans la réponse.

Hermes livre des plugins de fournisseurs de mémoire externes exactement pour ça. Honcho, Mem0, Hindsight et d'autres se branchent comme backends de récupération. Letta remplirait la même case : n'apporter la mémoire en couches que quand vous en avez réellement besoin. Le sens inverse (construire un bot Telegram, un scheduler et un système de skills par-dessus Letta) est plus dur.

Comment choisir

  1. Si votre problème est "Je construis un produit IA et mes utilisateurs ont besoin d'une mémoire riche et autogérée sur une surface large", choisissez Letta.
  2. Si votre problème est "Je veux une IA persistante unique qui me connaît et agit à ma place sur les apps de messagerie", choisissez Hermes.
  3. Si votre problème est "Je veux un agent personnel façon Hermes mais il me faut une vraie archive pour une charge précise", faites tourner Hermes en porte d'entrée et appelez un service Letta pour cette archive.

Forcer l'un ou l'autre à faire le travail de l'autre, c'est le mode d'échec. Letta n'est pas un agent personnel fini pour les apps de messagerie. Hermes n'est pas une plateforme mémoire pour un produit multi-tenant. Une fois qu'on accepte que chacun est optimisé pour un client différent, le choix devient facile.

Sources

Lancez votre propre agent Hermes

Apportez votre clé API, connectez Telegram et obtenez un agent IA auto-améliorant opérationnel en 60 secondes.

Commencer