Przegląd
Wyszukiwanie pamięci w OpenClaw lokalizuje trafne notatki z plików pamięci, nawet gdy użyte słowa różnią się od oryginału. Dzieje się to dzięki dzieleniu tekstu na fragmenty (chunking) i przeszukiwaniu opartemu na embeddingach.
Podstawowe mechanizmy
Wyszukiwanie operuje dwoma równoległymi ścieżkami pobierania:
- Wyszukiwanie wektorowe — identyfikuje semantycznie podobną treść (dopasowanie koncepcyjne, nie dosłowne)
- Wyszukiwanie BM25 (słowa kluczowe) — znajduje dokładne dopasowania dla identyfikatorów, nazw funkcji i komunikatów błędów
Połączenie obu metod daje wyniki hybrydowe, które łączą precyzję słów kluczowych z elastycznością semantycznego rozumienia treści.
Konfiguracja providerów embeddingów
Dostawców embeddingów można ustawić jawnie w konfiguracji. System obsługuje: OpenAI, Gemini, Voyage, Mistral, Bedrock, Ollama oraz opcję lokalną. Providerzy z automatycznym wykrywaniem wymagają jedynie ustawienia klucza API.
Zaawansowane funkcje jakościowe
Zanikanie czasowe (temporal decay)
Starsze notatki stopniowo tracą wagę rankingową, dzięki czemu nowsze informacje pojawiają się wyżej. Domyślny okres półtrwania wynosi 30 dni. Pliki oznaczone jako wiecznie aktualne (evergreen) nie podlegają zanikaniu.
MMR — dywersyfikacja wyników
Algorytm MMR (Maximal Marginal Relevance) redukuje redundancję, gdy podobna informacja pojawia się w wielu notatkach. Zamiast kilku niemal identycznych wyników, użytkownik otrzymuje zróżnicowany zestaw trafień.
Wsparcie multimodalne
Przy użyciu Gemini Embedding 2 możliwe jest indeksowanie obrazów i plików audio obok tekstu. Zapytania wyszukiwania pozostają tekstowe, ale wyniki mogą obejmować różne typy mediów.
Rozwiązywanie problemów
Przydatne polecenia diagnostyczne:
openclaw memory status # Sprawdź stan indeksu
openclaw memory index --force # Przebuduj indeksy
openclaw memory status --deep # Diagnozuj konfigurację embeddingów
Jeśli wyszukiwanie nie zwraca wyników, zacznij od sprawdzenia statusu indeksu i konfiguracji dostawcy embeddingów.