Passa al contenuto principale

Kore Memory

Il layer di memoria che ragiona come un essere umano.

Kore Memory è una libreria Python che fornisce agli agenti AI un sistema di memoria ispirato alla biologia. Utilizza le curve dell'oblio di Ebbinghaus per far decadere i ricordi nel tempo, assegna automaticamente un punteggio di importanza senza bisogno di un LLM e offre ricerca semantica in oltre 50 lingue -- il tutto funzionando completamente offline sulla tua macchina.

pip install kore-memory

Perché Kore Memory?

La maggior parte dei sistemi di memoria per AI tratta lo storage come un semplice dump chiave-valore oppure richiede costose chiamate LLM per ogni operazione. Kore Memory adotta un approccio radicalmente diverso:

  • Decay di Ebbinghaus -- I ricordi svaniscono naturalmente nel tempo, proprio come la memoria umana. I ricordi importanti durano più a lungo; quelli banali scompaiono. Ogni recupero rafforza il ricordo (ripetizione dilazionata).
  • Nessun LLM necessario -- Il calcolo dell'importanza, la compressione e la ricerca girano tutti in locale. Nessuna API key, nessuna chiamata cloud, nessun costo di utilizzo.
  • Completamente offline -- SQLite + sentence-transformers locali. Funziona su macchine air-gapped, pipeline CI e dispositivi edge.
  • Pronto per il multi-agent -- Isolamento dei namespace tramite header X-Agent-Id. Ogni agente vede solo i propri ricordi.

Confronto funzionalità

FunzionalitàKore MemoryMem0LettaMemori
Funzionamento offlineNoNoNo
Nessun LLM necessarioNoNo
Decay della memoria (Ebbinghaus)NoNoNo
Punteggio di importanza automatico (locale)Via LLMNoNo
Compressione della memoriaNoNoNo
Ricerca semantica (50+ lingue)Sì (locale)Via API
API TimelineNoNoNo
Tag e grafo delle relazioniNoNo
TTL / scadenza automaticaNoNoNo
Supporto server MCPNoNoNo
API Batch (fino a 100)NoNoNo
Export / Import (JSON)NoNo
Soft-delete / ArchivioNoNoNo
Metriche PrometheusNoNoNo
Dashboard webNoNoNo

Concetti fondamentali

La pipeline di memoria

Ogni ricordo attraversa cinque fasi:

  1. Salvataggio -- Il contenuto viene ricevuto via REST API, Python SDK o tool MCP
  2. Valutazione -- L'importanza viene calcolata automaticamente in locale su una scala 1--5 (oppure impostata esplicitamente)
  3. Embedding -- Un sentence-transformer locale genera un embedding semantico
  4. Archiviazione -- Il ricordo viene salvato in SQLite con un decay_score iniziale di 1.0
  5. Decay -- Col tempo, il punteggio di decay diminuisce seguendo la curva di Ebbinghaus

Quando effettui una ricerca, i risultati sono ordinati per un punteggio effettivo che combina tre segnali:

effective_score = similarity * decay * importance

Questo significa che i ricordi recenti, importanti e semanticamente rilevanti emergono sempre per primi.

Categorie di memoria

I ricordi possono essere organizzati in categorie:

CategoriaCaso d'uso
generalRaccolta generica predefinita
projectConoscenze specifiche del progetto
tradingContesto finanziario / trading
financeRegistrazioni e decisioni finanziarie
personInformazioni sulle persone
preferencePreferenze e impostazioni dell'utente
taskAttività, scadenze, pianificazioni
decisionDecisioni architetturali e strategiche

Isolamento dei namespace

Ogni richiesta API può includere un header X-Agent-Id. I ricordi sono rigorosamente isolati tra agenti -- l'agente A non può leggere né cercare i ricordi dell'agente B. Questo rende Kore sicuro per deployment multi-tenant e multi-agent.

Esempio rapido

# Avvia il server
pip install kore-memory[semantic]
kore

# Salva un ricordo
curl -X POST http://localhost:8765/save \
-H "Content-Type: application/json" \
-H "X-Agent-Id: my-agent" \
-d '{"content": "User prefers concise responses in Italian", "category": "preference"}'

# Cerca
curl "http://localhost:8765/search?q=user+preferences&limit=5" \
-H "X-Agent-Id: my-agent"

Oppure con il Python SDK:

from kore_memory import KoreClient

with KoreClient("http://localhost:8765", agent_id="my-agent") as kore:
kore.save("User prefers dark mode", category="preference")
results = kore.search("dark mode", limit=5)
for memory in results:
print(memory.content, memory.decay_score)

Requisiti

  • Python 3.11+
  • SQLite con FTS5 (incluso nella maggior parte delle installazioni Python)
  • Nessuna GPU necessaria (sentence-transformers solo CPU)

Prossimi passi

  • Installazione -- Installa Kore Memory con gli extra di cui hai bisogno
  • Guida all'uso -- Salva, cerca, tagga e gestisci i ricordi
  • Configurazione -- Variabili d'ambiente e ottimizzazione
  • Riferimento API -- Documentazione completa dell'API REST
  • Server MCP -- Usa Kore con Claude, Cursor e altri client MCP
  • Architettura -- Come funzionano il motore di decay, il punteggio e la compressione