RAG Hybride pour la Mémoire d'Agent Local avec OpenClaw, Ollama et nomic-embed-text

✍️ OpenClawRadar📅 Publié: March 10, 2026🔗 Source
RAG Hybride pour la Mémoire d'Agent Local avec OpenClaw, Ollama et nomic-embed-text
Ad

Problème : Récupération, pas stockage

Le développeur avait des mois de journaux de mémoire quotidiens stockés dans des fichiers markdown, ce qui fonctionnait pour sauvegarder les informations mais pas pour les retrouver. Lorsque l'agent avait besoin d'un contexte passé, il revenait à exécuter ls, ouvrait les fichiers un par un, dépensait des tokens et parfois manquait des informations pertinentes. Le problème était la récupération par signification, pas le stockage.

Solution : RAG hybride avec plongements locaux

Le développeur a activé memorySearch dans OpenClaw en utilisant Ollama comme fournisseur et nomic-embed-text pour les plongements locaux, fonctionnant en mode hybride. Hybride signifie 70% de similarité vectorielle (cosinus via nomic-embed-text) combinée à 30% de correspondance par mots-clés BM25. Les vecteurs gèrent la proximité sémantique tandis que BM25 gère les noms exacts, les versions et les identifiants. MMR réduit les résultats redondants, et la décroissance temporelle donne plus de poids aux journaux récents. Tout fonctionne localement sans API externes.

Configuration

"memorySearch": {
  "provider": "ollama",
  "query": {
    "hybrid": {
      "enabled": true,
      "vectorWeight": 0.7,
      "textWeight": 0.3,
      "mmr": {
        "enabled": true,
        "lambda": 0.7
      },
      "temporalDecay": {
        "enabled": true,
        "halfLifeDays": 30
      }
    }
  }
}

Instructions d'installation

  • OpenClaw détecte Ollama automatiquement à localhost:11434
  • Pas besoin de spécifier baseUrl ou modèle - il récupère nomic-embed-text s'il est téléchargé
  • Exécutez ollama pull nomic-embed-text d'abord, puis redémarrez la passerelle
  • Évitez de définir provider: "openai" et de pointer baseUrl vers Ollama - utilisez provider: "ollama" directement
Ad

Changement comportemental requis

Activer l'outil n'était pas suffisant. Sans instructions explicites pour utiliser memorySearch avant de lire les fichiers directement, l'agent le sautait et prenait la voie plus lente et consommatrice de tokens. Le développeur a écrit une règle dans AGENTS.md et MEMORY.md dans l'espace de travail pour intégrer la recherche de mémoire dans le flux de travail normal de l'agent.

Résultats avant vs après

  • Avant : Parcourir les dossiers, ouvrir les fichiers aveuglément, espérer que la formulation corresponde, gaspiller des tokens, manquer le contexte
  • Après : Exécuter memory_search avec une requête sémantique, récupérer des résultats classés avec des scores de similarité, ouvrir la meilleure correspondance, répondre à partir de notes passées réelles
  • Les scores de similarité pour les résultats pertinents varient généralement de 0,45 à 0,48 pour nomic-embed-text sur les journaux en prose

Notes pratiques

  • nomic-embed-text a une limite de contexte de 2048 tokens par défaut, pas 8192 - les gros fichiers peuvent être tronqués lors de l'indexation
  • Les fichiers de mémoire en espagnol fonctionnent bien - nomic-embed-text gère l'espagnol sans problème
  • La qualité de la récupération dépend de la qualité des notes - les journaux vagues causent toujours des difficultés à la recherche sémantique

Pile technologique

  • OpenClaw (local, auto-hébergé)
  • Ollama + nomic-embed-text:latest
  • SQLite avec sqlite-vec et FTS5 (créé automatiquement par OpenClaw lors de la première utilisation)
  • Mac mini M4, 16 Go de mémoire unifiée

📖 Lire la source complète : r/openclaw

Ad

👀 See Also

Étude de cas : Utiliser plusieurs agents d'IA pour construire une bibliothèque C++ de production
Use Cases

Étude de cas : Utiliser plusieurs agents d'IA pour construire une bibliothèque C++ de production

Un développeur a documenté un processus de plusieurs mois utilisant quatre agents d'IA (Claude, ChatGPT, Gemini, Grok) avec des rôles distincts pour construire FAT-P, une bibliothèque C++20 uniquement composée d'en-têtes avec 107 fichiers d'en-tête et zéro dépendance externe. Le système incluait une revue croisée, des documents de gouvernance écrits par l'IA, et un suivi des démérites pour encoder les modes d'échec.

OpenClawRadar
Pipeline de l'Agent OpenClaw Utilisée pour Écrire et Publier Trois Romans d'IA en une Semaine
Use Cases

Pipeline de l'Agent OpenClaw Utilisée pour Écrire et Publier Trois Romans d'IA en une Semaine

Un développeur a utilisé OpenClaw pour créer un flux de travail à quatre agents qui a écrit, édité et publié trois romans complets sur Amazon KDP en sept jours. Le pipeline comprenait des agents spécialisés pour l'écriture, l'édition, le marketing et l'orchestration.

OpenClawRadar
Créez un chat IA mains libres avec OpenClaw + Mattermost — Aucune voix en temps réel nécessaire
Use Cases

Créez un chat IA mains libres avec OpenClaw + Mattermost — Aucune voix en temps réel nécessaire

Un workflow IA auto-hébergé pratique utilisant OpenClaw, Mattermost, la dictée vocale iPhone et des fichiers audio MP3 pour une interaction sécurisée au volant, sans infrastructure vocale en temps réel.

OpenClawRadar
Jeu de curling en ligne créé avec Claude Sonnet 4.5 par un non-développeur.
Use Cases

Jeu de curling en ligne créé avec Claude Sonnet 4.5 par un non-développeur.

Un développeur sans aucune expérience en programmation a créé un jeu de curling entièrement jouable dans un navigateur en utilisant Claude Sonnet 4.5. Le jeu inclut des éléments de physique, un système de score et un déroulement complet de partie, avec Claude qui a géré toute la génération de code, le débogage et les améliorations basées sur des retours en anglais simple.

OpenClawRadar