Sessies en geheugen
Sessies
Hoe sessies werken
Elk gesprek met een agent vindt plaats in een sessie. Sessies worden geïdentificeerd door sleutels die de context coderen, welke agent, welk kanaal, welke chat.
Sessies onderhouden een volledig transcript (alleen-toevoegen JSONL) van alle berichten, toolaanroepen en resultaten. Dit transcript is wat agents context geeft over het lopende gesprek.
Sessiesleutels
Sessies worden automatisch gerouteerd op basis van context:
| Patroon | Betekenis |
|---|---|
agent:main:main |
Hoofdgesprek direct |
agent:<id>:<kanaal>:group:<id> |
Groepschat op een specifiek kanaal |
agent:<id>:<kanaal>:channel:<id> |
Kanaal-/kamersgesprek |
cron:<jobId> |
Geplande taakuitvoering |
hook:<uuid> |
Webhook-geactiveerde uitvoering |
Sessielevenscyclus
- Dagelijkse reset, Sessies worden automatisch gereset op een configureerbaar tijdstip (standaard 4:00 uur lokaal). Dit creëert dagelijks een frisse gesprekscontext terwijl de geschiedenis wordt bewaard.
- Inactieve vervaldatum, Sessies die gedurende een configureerbare periode niet actief zijn geweest, kunnen automatisch worden gereset.
- Handmatige reset, Start op elk moment opnieuw met een
/new- of/reset-opdracht.
Tokenbijhouding
Sessies bijhouden cumulatief tokengebruik (invoer, uitvoer, cache-lezen, cache-schrijven) voor kostenmonitoring en contextvenster-beheer.
Compactie
Wat is compactie?
Wanneer een gesprek de contextvensterlimieten van het model nadert, compacteert Neotask het, oudere berichten samenvatten in een gecondenseerd overzicht en een nieuwe sessie starten met die samenvatting plus recente berichten.
Hoe het werkt
- Detectie, Contextgebruik monitoren (standaard trigger: 80% van het contextvenster)
- Samenvatting, Oudere berichten worden samengevat in een compactie-invoer
- Nieuwe sessie, Een nieuwe sessie start met de samenvatting bovenin ingespoten
- Bewaring, Oude transcripten worden bewaard voor geschiedenis maar niet meer in context geladen
Configuratie
- In-/uitgeschakeld, Automatische compactie aan/uitzetten
- Drempel, Percentage van het contextvenster dat compactie activeert (standaard 80%)
- Minimum berichten, Niet compacteren als er minder dan N berichten zijn
Handmatige compactie
U kunt compactie op elk moment handmatig activeren met de /compact-opdracht. Dit is handig wanneer u context wilt resetten zonder belangrijke informatie te verliezen.
Geheugen
Agentgeheugen
Elke agent heeft een geheugensysteem voor het bewaren van belangrijke informatie over sessies heen:
- MEMORY.md, Een markdownbestand in de werkruimte van de agent waar belangrijke feiten, voorkeuren en context worden opgeslagen
- Geheugenmap, Aanvullende bestanden in
memory/voor gestructureerde kennis
Vectorzoeken
Neotask ondersteunt vectorgelijkenis-zoeken over agentgeheugen:
- Indexeren, Geheugenbestanden worden geïndexeerd met behulp van embeddings
- Zoeken, Agents bevragen geheugen met natuurlijke taal ("Wat zei de gebruiker over hun API-voorkeuren?")
- Herinnering, Relevante herinneringen worden geretourneerd gerangschikt op gelijkenis
Geheugen-plugin (LanceDB)
De LanceDB-geheugenplugin biedt geavanceerde vectoropslag:
- Aanhoudende vectordatabase
- Configureerbare chunkgrootte en overlap
- Efficiënt gelijkenis-zoeken
- Automatisch herindexeren wanneer geheugenbestanden veranderen
Automatische herinnering
Aan het begin van een sessie kunnen relevante herinneringen automatisch worden teruggeroepen en ingespoten in de context van de agent. Dit geeft agents continuïteit over sessies zonder volledige gespreksgeschiedenissen te laden.
Sessiepersistentie
Alle sessiegegevens worden lokaal opgeslagen:
- Sessiemetadata,
sessions.jsonbijhoudt actieve sessies, laatste activiteit, tokentellingen en configuratie - Transcripten, Individuele sessietranscripten opgeslagen als
.jsonl-bestanden - Herstel, Sessies overleven Gateway-herstarts zonder gegevensverlies
Opschoning
- Sessies die gedurende een configureerbare periode niet zijn benaderd (standaard 30 dagen) komen in aanmerking voor opschoning
- Handmatig sessiebeheer is beschikbaar via de UI of API
- Gecomprimeerde transcripten worden gearchiveerd maar kunnen worden bekeken