Memory System – Pamięć długoterminowa

System pamięci oparty na atomach, embeddingach semantycznych i sesjach z kompakcją. Helper wyszukuje wiedzę przez cosine similarity.

Atomy pamięci

Podstawową jednostką pamięci w NoesisPulse jest atom – plik tekstowy (*.txt) z tagiem, kategorią, problemem i rozwiązaniem. Każdy atom to pojedyncza, samodzielna jednostka wiedzy.

- save_atom(tag, category, problem, solution) – zapisuje nowy atom
- search_atoms(query) – wyszukuje atomy semantycznie

Atomy są przechowywane w katalogu memory/atoms/.

Tensor Search – wyszukiwanie semantyczne

Każdy atom przy zapisie jest automatycznie wektoryzowany – system generuje embedding (wektor semantyczny) i zapisuje go razem z atomem. Dzięki temu wyszukiwanie nie polega na dopasowaniu słów kluczowych, ale na podobieństwie znaczeniowym.

Gdy Helper woła search_atoms(query), embedding zapytania jest porównywany z embeddingami wszystkich atomów przez cosine similarity. Wyniki są sortowane od najbardziej podobnych semantycznie. System znajduje atomy powiązane tematycznie, nawet jeśli nie zawierają tych samych słów.

Embeddingi są automatycznie aktualizowane przy każdej modyfikacji atomu.

Sesje i kompakcja

Historia rozmów przechowywana jest w sesjach – plikach JSON z CompactionMarker, który zawiera:
- Date – data kompakcji
- UpToMsgId – do której wiadomości streszczono
- Summary – streszczenie sesji wygenerowane przez Helpera (Flash)
- AtomCount – liczba atomów wyciągniętych z sesji

Dzięki sesjom Agent może kontynuować rozmowy sprzed tygodni – Helper odtwarza kontekst z atomów i streszczeń, bez przechowywania całej historii.
Co wyróżnia pamięć NoesisPulse

🌐 Translate to EN

Switch to English