Sesi & Memori
Sesi
Cara Kerja Sesi
Setiap percakapan dengan agen terjadi dalam sebuah sesi. Sesi diidentifikasi oleh kunci yang menyandikan konteks, agen mana, saluran mana, obrolan mana.
Sesi mempertahankan transkrip lengkap (JSONL hanya-tambah) dari semua pesan, panggilan alat, dan hasil. Transkrip inilah yang memberi agen konteks tentang percakapan yang sedang berlangsung.
Kunci Sesi
Sesi diarahkan secara otomatis berdasarkan konteks:
| Pola | Arti |
|---|---|
agent:main:main |
Percakapan langsung utama |
agent:<id>:<channel>:group:<id> |
Obrolan grup di saluran tertentu |
agent:<id>:<channel>:channel:<id> |
Percakapan saluran/ruang |
cron:<jobId> |
Eksekusi pekerjaan terjadwal |
hook:<uuid> |
Eksekusi yang dipicu webhook |
Siklus Hidup Sesi
- Reset harian, Sesi secara otomatis direset pada waktu yang dapat dikonfigurasi (default pukul 4 pagi lokal). Ini membuat konteks percakapan segar setiap hari sambil mempertahankan riwayat.
- Kedaluwarsa idle, Sesi yang tidak aktif selama periode yang dapat dikonfigurasi dapat direset otomatis.
- Reset manual, Mulai segar kapan saja dengan perintah
/newatau/reset.
Pelacakan Token
Sesi melacak penggunaan token kumulatif (input, output, baca cache, tulis cache) untuk pemantauan biaya dan manajemen jendela konteks.
Kompaksi
Apa Itu Kompaksi?
Ketika percakapan mendekati batas jendela konteks model, Neotask mengompaknya, merangkum pesan lama menjadi ikhtisar yang dipadatkan dan memulai sesi baru dengan ringkasan tersebut ditambah pesan terbaru.
Cara Kerjanya
- Deteksi, Pantau penggunaan konteks (pemicu default: 80% dari jendela konteks)
- Perangkuman, Pesan lama dirangkum menjadi entri kompaksi
- Sesi baru, Sesi segar dimulai dengan ringkasan yang diinjeksikan di bagian atas
- Pelestarian, Transkrip lama disimpan untuk riwayat tetapi tidak lagi dimuat ke dalam konteks
Konfigurasi
- Aktif/nonaktif, Aktifkan/nonaktifkan kompaksi otomatis
- Ambang batas, Persentase jendela konteks yang memicu kompaksi (default 80%)
- Pesan minimum, Jangan mengompak jika ada lebih sedikit dari N pesan
Kompaksi Manual
Anda dapat memicu kompaksi secara manual kapan saja dengan perintah /compact. Ini berguna ketika Anda ingin mereset konteks tanpa kehilangan informasi penting.
Memori
Memori Agen
Setiap agen memiliki sistem memori untuk mempertahankan informasi penting lintas sesi:
- MEMORY.md, File markdown di workspace agen tempat fakta penting, preferensi, dan konteks disimpan
- Direktori memori, File tambahan di
memory/untuk pengetahuan terstruktur
Pencarian Vektor
Neotask mendukung pencarian kesamaan vektor atas memori agen:
- Pengindeksan, File memori diindeks menggunakan embedding
- Pencarian, Agen melakukan kueri memori dengan bahasa alami ("Apa yang dikatakan pengguna tentang preferensi API mereka?")
- Pemanggilan, Memori yang relevan dikembalikan berurutan berdasarkan kesamaan
Plugin Memori (LanceDB)
Plugin memori LanceDB menyediakan penyimpanan vektor lanjutan:
- Basis data vektor persisten
- Ukuran chunk dan tumpang tindih yang dapat dikonfigurasi
- Pencarian kesamaan yang efisien
- Pengindeksan ulang otomatis ketika file memori berubah
Pemanggilan Otomatis
Saat memulai sesi, memori yang relevan dapat dipanggil secara otomatis dan diinjeksikan ke dalam konteks agen. Ini memberi agen kesinambungan lintas sesi tanpa memuat seluruh riwayat percakapan.
Persistensi Sesi
Semua data sesi disimpan secara lokal:
- Metadata sesi,
sessions.jsonmelacak sesi aktif, aktivitas terakhir, jumlah token, dan konfigurasi - Transkrip, Transkrip sesi individual disimpan sebagai file
.jsonl - Pemulihan, Sesi bertahan dari restart Gateway tanpa kehilangan data
Pembersihan
- Sesi yang tidak diakses selama periode yang dapat dikonfigurasi (default 30 hari) memenuhi syarat untuk pembersihan
- Manajemen sesi manual tersedia melalui UI atau API
- Transkrip yang dikompak diarsipkan tetapi dapat ditinjau