Sessioner och minne
Sessioner
Hur sessioner fungerar
Varje konversation med en agent sker i en session. Sessioner identifieras av nycklar som kodar kontexten, vilken agent, vilken kanal, vilken chatt.
Sessioner upprätthåller ett komplett transkript (append-only JSONL) av alla meddelanden, verktygsanrop och resultat. Detta transkript är vad som ger agenter kontext om den pågående konversationen.
Sessionsnycklar
Sessioner dirigeras automatiskt baserat på kontext:
| Mönster | Betydelse |
|---|---|
agent:main:main |
Huvud direkt konversation |
agent:<id>:<channel>:group:<id> |
Gruppchatt på en specifik kanal |
agent:<id>:<channel>:channel:<id> |
Kanal/rumskonversation |
cron:<jobId> |
Schemalagd jobbexekvering |
hook:<uuid> |
Webhook-utlöst exekvering |
Sessionslivscykel
- Daglig återställning, Sessioner återställs automatiskt vid en konfigurerbar tid (standard 04:00 lokal tid). Detta skapar en ny konversationskontext varje dag medan historiken bevaras.
- Inaktivitetsutgång, Sessioner som inte har varit aktiva under en konfigurerbar period kan återställas automatiskt.
- Manuell återställning, Börja om när som helst med kommandot
/neweller/reset.
Tokenspårning
Sessioner spårar kumulativ tokenanvändning (input, output, cache-läsning, cache-skrivning) för kostnadsövervakning och kontextfönsterhantering.
Kompaktering
Vad är kompaktering?
När en konversation närmar sig modellens kontextfönstergräns kompakterar Neotask den, sammanfattar äldre meddelanden till en komprimerad översikt och startar en ny session med den sammanfattningen plus nyliga meddelanden.
Hur det fungerar
- Detektering, Övervaka kontextanvändning (standardutlösare: 80 % av kontextfönstret)
- Sammanfattning, Äldre meddelanden sammanfattas till en kompakteringspost
- Ny session, En ny session startar med sammanfattningen injicerad överst
- Bevarande, Gamla transkript bevaras för historik men laddas inte längre in i kontexten
Konfiguration
- Aktiverad/inaktiverad, Slå på eller av automatisk kompaktering
- Tröskel, Procentandel av kontextfönstret som utlöser kompaktering (standard 80 %)
- Minsta antal meddelanden, Kompaktera inte om det finns färre än N meddelanden
Manuell kompaktering
Du kan utlösa kompaktering manuellt när som helst med kommandot /compact. Detta är användbart när du vill återställa kontexten utan att förlora viktig information.
Minne
Agentminne
Varje agent har ett minnessystem för att bevara viktig information mellan sessioner:
- MEMORY.md, En markdown-fil i agentens arbetsyta där viktiga fakta, preferenser och kontext lagras
- Minneskatalog, Ytterligare filer i
memory/för strukturerad kunskap
Vektorsökning
Neotask stöder vektorsimilaritetssökning över agentminne:
- Indexering, Minnesfiler indexeras med hjälp av inbäddningar
- Sökning, Agenter frågar minnet med naturligt språk ("Vad sa användaren om sina API-preferenser?")
- Återkallning, Relevanta minnen returneras rankade efter likhet
Minnes-plug-in (LanceDB)
LanceDB-minnes-plug-inet tillhandahåller avancerad vektorlagring:
- Beständig vektordatabas
- Konfigurerbar chunkstorlek och överlappning
- Effektiv similaritetssökning
- Automatisk omindexering när minnesfiler ändras
Automatisk återkallning
Vid sessionstart kan relevanta minnen automatiskt återkallas och injiceras i agentens kontext. Detta ger agenter kontinuitet mellan sessioner utan att ladda hela konversationshistoriker.
Sessionsbeständighet
All sessionsdata lagras lokalt:
- Sessionsmetadata,
sessions.jsonspårar aktiva sessioner, senaste aktivitet, tokenantal och konfiguration - Transkript, Individuella sessionstranskript lagrade som
.jsonl-filer - Återhämtning, Sessioner överlever Gateway-omstarter utan dataförlust
Rensning
- Sessioner som inte har nåtts under en konfigurerbar period (standard 30 dagar) är berättigade till rensning
- Manuell sessionshantering är tillgänglig via användargränssnittet eller API:et
- Kompakterade transkript arkiveras men kan granskas