Aller au contenu
Guides

La recherche en mémoire d’OpenClaw

Embeddings plus mots-clés, la formule de classement, la décroissance avec le temps, le rappel par déclencheurs, et ce qui se passe quand le fournisseur manque

6 min de lecture

L’outil de recherche en mémoire trouve des notes pertinentes dans les fichiers de mémoire d’un agent même quand la formulation diffère du texte d’origine : il découpe la mémoire en petits morceaux et les cherche avec des embeddings, des mots-clés, ou les deux. Les embeddings d’OpenAI sont la valeur par défaut et une douzaine de fournisseurs sont pris en charge, dont un fournisseur local géré sans clé d’API. Voici comment une recherche se déroule, le classement que la documentation détaille, le rappel par déclencheurs qui s’exécute avant une réponse, les règles de repli, la mémoire de session, et la liste de dépannage.

Les fournisseurs et les deux chemins

  • La clé de fournisseur nomme l’un d’OpenAI, Gemini, Voyage, Mistral, Bedrock, DeepInfra, GitHub Copilot, Ollama, LM Studio, un point d’accès générique compatible OpenAI, ou local, qui installe un serveur llama.cpp vérifié et un petit modèle d’embeddings d’environ un tiers de gigaoctet ; une entrée de fournisseur personnalisée fonctionne aussi quand elle utilise un type d’API pris en charge.
  • Deux chemins de récupération tournent en parallèle et fusionnent : la recherche vectorielle fait correspondre des sens proches, si bien qu’une requête sur l’hôte de la passerelle trouve une note sur la machine qui fait tourner OpenClaw, et la recherche par mots-clés BM25 fait correspondre des termes exacts comme des identifiants, des chaînes d’erreur et des clés de configuration. Si un seul chemin est disponible, l’autre tourne seul.
  • La recherche par nom de fichier indexe les chemins séparément des corps, si bien qu’un chemin exact, un nom de base ou un radical passe devant les correspondances partielles tandis que les extraits viennent toujours du contenu des notes.
  • Certains points d’accès compatibles OpenAI ont besoin de types d’entrée asymétriques pour les requêtes et les documents, que deux clés de configuration fixent.
Les anciennes notes perdent progressivement du poids dans le classement pour que l’information récente remonte en premier.

Le classement

Le moteur intégré applique une formule déterministe, la pertinence hybride multipliée par la décroissance de fraîcheur et par un multiplicateur d’importance. L’importance est notée une fois quand une entrée est écrite par un flux de mémoire qui a déjà un modèle dans la boucle, et une note absente est neutre. Les notes quotidiennes datées décroissent avec une demi-vie de trente jours, si bien que la note du mois dernier vaut la moitié de son poids d’origine, tandis que les fichiers de mémoire et d’utilisateur soignés et les fichiers non datés restent permanents. La documentation crédite le résultat pertinence, fraîcheur et importance de l’article Generative Agents, sans ajouter d’appel de modèle au moment de la requête. Une passe de diversité réordonne ensuite les candidats notés pour réduire les extraits quasi identiques, avec un réglage fixe biaisé vers la pertinence et un bassin de candidats borné, sans changer les scores ni appeler un fournisseur. Les correspondances par mots-clés sont préservées quand chaque résultat classé passe sous le score minimal configuré, et la recherche hybride remplit les places restantes avec des résultats par mots-clés seuls.

Le rappel par déclencheurs et les règles de repli

  • Sur les tours interactifs éligibles, le moteur compare le message entrant à de courtes phrases déclencheuses stockées sur les entrées indexées et peut ajouter jusqu’à trois entrées compactes au contexte caché avant la réponse ; seules les entrées promues et de confiance des fichiers de mémoire et d’utilisateur racine y sont éligibles, et les notes quotidiennes, les transcriptions importées et de session ne sont jamais injectées automatiquement.
  • Mettre le fournisseur à none désactive à dessein les embeddings pour une recherche par mots-clés seuls ; le laisser absent ou en auto retombe sur le classement par mots-clés seuls quand la mise en place des embeddings ou une requête échoue, comme le fournisseur local, et l’indexation enregistre tout de même le texte pour la recherche par mots-clés avant la première recherche.
  • Nommer explicitement tout autre fournisseur et le voir échouer au moment de la requête fait que l’outil signale la mémoire comme indisponible au lieu de se dégrader en silence, ce qui garde visible une configuration cassée ; la correction est la configuration du fournisseur ou de l’authentification, ou none pour un rappel délibéré par mots-clés seuls.

La mémoire d’OpenClaw expliquée explique les fichiers cherchés, et Le dreaming d’OpenClaw le balayage nocturne qui décide ce qui y est promu et donc ce que le rappel par déclencheurs peut injecter.

Mémoire de session et dépannage

Le rappel exact en texte intégral des transcriptions appartient à l’outil de recherche de sessions ; indexer les transcriptions dans la recherche en mémoire est une adhésion par un indicateur expérimental et une liste de sources, avec une option de corpus pour ne chercher que les notes, des réglages de visibilité par défaut à tout, et un accès entre agents gouverné par le réglage d’agent à agent. Les images et l’audio peuvent être indexés à côté du Markdown avec un modèle d’embeddings Gemini, mais seulement sous des chemins supplémentaires, pas les racines de mémoire par défaut. Quand il n’y a aucun résultat, vérifiez l’état de l’index et reconstruisez-le ; quand seuls des résultats par mots-clés reviennent, le fournisseur d’embeddings n’est probablement pas configuré, ce que l’état approfondi montre ; quand les embeddings locaux expirent, inspectez les points d’accès du serveur géré avant de reconstruire ; et un texte CJK introuvable exige une reconstruction forcée de l’index. Les modèles locaux d’OpenClaw couvre les modèles locaux à côté desquels se trouvent les fournisseurs locaux, et Les sessions d’OpenClaw les transcriptions que l’adhésion indexe.

Sur Diali

Sur Diali, la recherche en mémoire tourne avec le fournisseur d’embeddings que votre clé de modèle lui donne et retombe sur le chemin par mots-clés que décrit la documentation quand il n’y en a pas ; dans les deux cas, les notes vivent dans l’espace de travail persistant de l’assistant. OpenClaw hébergé sur Diali est l’assistant.

  • Vectoriel pour le sens, BM25 pour les termes exacts, fusionnés.
  • Pertinence fois fraîcheur fois importance ; les notes quotidiennes perdent la moitié tous les trente jours.
  • Un fournisseur explicite cassé est signalé, jamais caché.
Commencer

Arrêtez de lire, construisez le vôtre

Configurez un agent, choisissez un canal, et faites-le travailler dans l’application que vous gardez déjà ouverte.