Sessioni e Memoria

Sessioni

Come Funzionano le Sessioni

Ogni conversazione con un agente avviene in una sessione. Le sessioni sono identificate da chiavi che codificano il contesto, quale agente, quale canale, quale chat.

Le sessioni mantengono una trascrizione completa (JSONL solo aggiunta) di tutti i messaggi, le chiamate agli strumenti e i risultati. Questa trascrizione è ciò che fornisce agli agenti il contesto sulla conversazione in corso.

Chiavi di Sessione

Le sessioni vengono instradate automaticamente in base al contesto:

Pattern Significato
agent:main:main Conversazione diretta principale
agent:<id>:<channel>:group:<id> Chat di gruppo su un canale specifico
agent:<id>:<channel>:channel:<id> Conversazione su canale/stanza
cron:<jobId> Esecuzione di un job pianificato
hook:<uuid> Esecuzione attivata da webhook

Ciclo di Vita delle Sessioni

Tracciamento dei Token

Le sessioni tengono traccia dell'utilizzo cumulativo dei token (input, output, lettura cache, scrittura cache) per il monitoraggio dei costi e la gestione della finestra di contesto.


Compattazione

Cos'è la Compattazione?

Quando una conversazione si avvicina al limite della finestra di contesto del modello, Neotask la compatta, riassumendo i messaggi più vecchi in una panoramica condensata e avviando una nuova sessione con quel riassunto più i messaggi recenti.

Come Funziona

  1. Rilevamento, Monitora l'utilizzo del contesto (trigger predefinito: 80% della finestra di contesto)
  2. Riassunto, I messaggi più vecchi vengono riassunti in una voce di compattazione
  3. Nuova sessione, Una sessione fresca inizia con il riassunto iniettato all'inizio
  4. Preservazione, Le vecchie trascrizioni vengono conservate nella cronologia ma non vengono più caricate nel contesto

Configurazione

Compattazione Manuale

Puoi attivare la compattazione manualmente in qualsiasi momento con il comando /compact. Questo è utile quando vuoi resettare il contesto senza perdere informazioni importanti.


Memoria

Memoria degli Agenti

Ogni agente ha un sistema di memoria per persistere informazioni importanti tra le sessioni:

Ricerca Vettoriale

Neotask supporta la ricerca per somiglianza vettoriale sulla memoria dell'agente:

  1. Indicizzazione, I file di memoria vengono indicizzati usando embedding
  2. Ricerca, Gli agenti interrogano la memoria con linguaggio naturale ("Cosa ha detto l'utente delle sue preferenze API?")
  3. Richiamo, I ricordi pertinenti vengono restituiti ordinati per somiglianza

Plugin Memoria (LanceDB)

Il plugin di memoria LanceDB fornisce archiviazione vettoriale avanzata:

Richiamo Automatico

All'avvio della sessione, i ricordi pertinenti possono essere richiamati automaticamente e iniettati nel contesto dell'agente. Questo fornisce agli agenti continuità tra le sessioni senza caricare l'intera cronologia delle conversazioni.


Persistenza delle Sessioni

Tutti i dati di sessione vengono archiviati localmente:

Pulizia