🤖HermesBlog
Tutoriels Officiels Hermes · Partie 208/9/2026

Tutoriel 20 : Mémoire Persistante — Mémoire à Long Terme

Tutoriel 20 : Mémoire Persistante — Mémoire à Long Terme — guide facile à comprendre basé sur la documentation officielle

Ceci fait partie de la série de tutoriels officiels d’Hermes Agent. Voir tous les tutoriels

Considérez cette fonctionnalité comme une note autocollante sur votre bureau : Hermes Agent écrit des choses importantes à propos de vous et de vos projets afin de ne pas les oublier entre les conversations. Fini de vous répéter à chaque fois que vous démarrez une nouvelle discussion.


Hermes tutorial

Que fait la Mémoire Persistante ?

Normalement, un agent IA repart de zéro à chaque session — il oublie tout dès que la conversation se termine. La Mémoire Persistante change cela. Hermes Agent conserve deux petits fichiers texte sur votre ordinateur. Il les lit au début de chaque session, afin de se souvenir instantanément de vos préférences, des détails de vos projets et de tout ce que vous lui avez appris.


Étape 1 : Connaître les deux fichiers mémoire

La mémoire de l’agent vit dans deux fichiers, stockés dans ~/.hermes/memories/ :

Fichier Ce qu’il stocke Limite de taille
MEMORY.md Notes personnelles de l’agent — faits sur l’environnement, conventions, choses apprises 2 200 caractères (~800 tokens)
USER.md Votre profil — préférences, style de communication, attentes 1 375 caractères (~500 tokens)

Les limites sont intentionnelles. Elles forcent l’agent à ne conserver que l’essentiel, comme un carnet bien organisé plutôt qu’un tiroir en désordre.


Étape 2 : Voir comment la mémoire apparaît dans le prompt

Au début de chaque session, l’agent charge les deux fichiers et les affiche comme un instantané figé dans son prompt système. Voici un exemple de ce que l’agent « voit » :

══════════════════════════════════════════════
MÉMOIRE (vos notes personnelles) [67 % — 1 474/2 200 caractères]
══════════════════════════════════════════════
Le projet de l'utilisateur est un service web Rust dans ~/code/myapi utilisant Axum + SQLx
§
Cette machine tourne sous Ubuntu 22.04, Docker et Podman sont installés
§
L'utilisateur préfère des réponses concises, n'aime pas les explications verbeuses

Remarquez les détails :

  • Un en-tête indiquant de quel stockage il s’agit (MÉMOIRE ou PROFIL UTILISATEUR)
  • Le pourcentage d’utilisation et le nombre de caractères — pour que l’agent sache combien d’espace il reste
  • Les entrées séparées par § (signe de section)
  • Les entrées peuvent être multilignes

Important : Cet instantané est capturé une seule fois au début de la session et ne change jamais en cours de session. Si l’agent met à jour sa mémoire pendant la conversation, les modifications sont enregistrées immédiatement sur le disque mais n’apparaîtront dans le prompt qu’à la prochaine session. Cela permet de rester rapide en préservant le cache du modèle.


Étape 3 : L’agent gère sa propre mémoire

L’agent utilise un outil appelé memory avec trois actions :

  • add — Ajouter une nouvelle entrée mémoire
  • replace — Remplacer une entrée existante (utilise la correspondance de sous-chaînes avec old_text)
  • remove — Supprimer une entrée qui n’est plus pertinente (utilise également old_text)

Il n’y a pas d’action read car la mémoire est déjà injectée dans le prompt — l’agent la voit toujours.

Voici un exemple simple de la façon dont l’agent pourrait utiliser l’outil :

memory action=add content="L'utilisateur préfère les puces aux paragraphes"

Ou pour remplacer une ancienne préférence :

memory action=replace old_text="L'utilisateur préfère des réponses concises" new_text="L'utilisateur préfère des réponses en une ligne avec des emojis"

Étape 4 : Que se passe-t-il quand la mémoire est pleine ?

La mémoire ne se compacte pas automatiquement. Lorsqu’une écriture dépasserait la limite, l’outil memory renvoie une erreur au lieu de supprimer silencieusement des entrées. L’agent fait alors de la place lui-même — en consolidant ou en supprimant des entrées dans le même tour avant de réessayer.

Notez également : replace est soumis à la même limite. Remplacer une entrée par une plus longue peut toujours provoquer un dépassement, donc le nouveau contenu doit être raccourci (ou une autre entrée supprimée) pour que ça rentre.


Étape 5 : Un agent par répertoire Hermes (Important !)

Ne pointez pas deux processus d’agent vers le même répertoire Hermes. Les écritures mémoire sont automatiques et se rechargent dans le prompt système au début de la session, donc deux rédacteurs partageant un même répertoire vont cumuler leurs entrées respectives dans un fouillis qu’aucun des deux n’a écrit. La mémoire est limitée à un profil par conception — donnez à un second agent son propre profil. S’ils ont besoin d’une mémoire partagée, utilisez plutôt un fournisseur de mémoire externe.


Résumé

La Mémoire Persistante donne à Hermes Agent un moyen simple et limité de se souvenir de vous entre les sessions. Deux petits fichiers — MEMORY.md et USER.md — contiennent des notes organisées, injectées comme un instantané figé au début de la session. L’agent gère ces fichiers lui-même à l’aide de l’outil memory, et les limites de caractères gardent le tout concentré. Rappelez-vous simplement : un agent par répertoire, et l’instantané ne se met à jour qu’au début de la session.

À suivre : Tutoriel 21 — Tâches planifiées : configurer des automatisations qui s’exécutent toutes seules selon un minuteur.

📖 Documentation officielle

Cet article est basé sur la documentation officielle de Hermes Agent :Docs officiels › user-guide/features/memory