Manajemen Memori, State & Dasar RAG untuk Agen
Membangun Arsitektur Memori 3 Lapis: Working Memory, Episodic Store & Semantic Retrieval
01. Target Pembelajar & Prasyarat
Developer yang membangun bot percakapan multi-sesi atau agen analis dokumen.
02. Kompetensi Konseptual (Level 1ā2)
- āMembedakan 3 tipe memori agen: Working Context, Episodic Memory, dan Semantic Knowledge Store.
- āMenjelaskan konsep embedding vektor dan pencarian similarity cosine dalam RAG.
03. Kompetensi Praktis & Artefak Nyata (Level 3ā4)
- āMembangun mekanisme rolling buffer window untuk menjaga context window di bawah batas aman.
- āMengimplementasikan pencarian dokumen sederhana menggunakan kata kunci dan kesamaan semantik.
04. Aplikasi Nyata & Verifikasi
Penerapan Industri: Customer support bot yang mengenali preferensi pengguna lintas sesi percakapan.
Metode Verifikasi: Mengirim 20 putaran pesan dan memverifikasi ukuran array konteks tidak melampaui batas batas aman.
Mengapa Subjek Ini Krusial dalam Rekayasa Nyata?
Pelajari cara mengelola konteks jangka panjang agen AI tanpa melebihi batas token melalui pemangkasan memori, ringkasan berkala, dan pencarian semantik.
Dalam lingkungan produksi, kegagalan memahami batas-batas arsitektur sistem sering kali menyebabkan bug yang sulit dilacak, pemborosan biaya komputasi, atau antarmuka yang lambat bagi pengguna.
Bagaimana Sistem Sebenarnya Bekerja di Tingkat Protokol
Hierarki 3 Lapis Memori Agen Otonom
Otak manusia tidak memutar ulang seluruh kenangan hidupnya setiap kali mengambil keputusan. Begitu pula dengan agen AI yang efisien. Kita membagi memori agen menjadi 3 lapisan:
1. Working Memory: Array pesan aktif saat ini (5ā10 pesan terakhir).
2. Episodic Store: Ringkasan percakapan masa lalu yang disimpan di penyimpanan terstruktur.
3. Semantic Store (RAG): Pangkalan pengetahuan dokumen yang diindeks secara vektor dan hanya ditarik saat relevan.
Alur Arsitektur Sistem Otonom & Runtime
Pesan bahasa alami diterima melalui antarmuka web atau webhook chat.
{
"input": "Berapa estimasi biaya pembuatan landing page bisnis?"
}Koreksi Asumsi Umum vs Realitas Rekayasa
āContext window yang besar (mis. 1 juta token) membuat kita tidak perlu lagi mendesain sistem memori.ā
Memasukkan 1 juta token pada setiap request sangat lambat (latensi tinggi) dan memicu biaya token yang eksorbitan. Memori terkurasi jauh lebih efisien dan akurat.
Implementasi Langkah-demi-Langkah
Hasil akhir yang diharapkan: Pengelola buffer memori yang otomatis meringkas pesan lama saat batas turn terlampaui.
lab-a1-m4/ āāā memory-buffer.mjs
1Implementasi Sliding Memory Window
Kode pemangkasan memori yang mempertahankan System Prompt dan ringkasan riwayat.
| 1 | // memory-buffer.mjs |
| 2 | class AgentMemory { |
| 3 | constructor(maxTurns = 4) { |
| 4 | this.systemPrompt = { role: 'system', content: 'Anda adalah asisten konsultan Z-Automation.' }; |
| 5 | this.history = []; |
| 6 | this.maxTurns = maxTurns; |
| 7 | } |
| 8 | |
| 9 | addMessage(role, content) { |
| 10 | this.history.push({ role, content, timestamp: Date.now() }); |
| 11 | if (this.history.length > this.maxTurns) { |
| 12 | const removed = this.history.shift(); |
| 13 | console.log(`[MEMORY PRUNE] Memangkas pesan lama: "${removed.content.substring(0, 30)}..."`); |
| 14 | } |
| 15 | } |
| 16 | |
| 17 | getContext() { |
| 18 | return [this.systemPrompt, ...this.history]; |
| 19 | } |
| 20 | } |
| 21 | |
| 22 | const mem = new AgentMemory(3); |
| 23 | mem.addMessage('user', 'Halo, saya ingin tanya harga website.'); |
| 24 | mem.addMessage('assistant', 'Halo! Kami memiliki paket mulai dari Rp150rb hingga Rp1,5jt.'); |
| 25 | mem.addMessage('user', 'Apakah paket Rp150rb sudah dapat animasi 3D?'); |
| 26 | mem.addMessage('assistant', 'Ya, paket Ultah Gift sudah mencakup animasi tiup lilin 3D.'); |
| 27 | mem.addMessage('user', 'Berapa lama pengerjaannya?'); |
| 28 | |
| 29 | console.log('\nJumlah Konteks Aktif:', mem.getContext().length); |
[MEMORY PRUNE] Memangkas pesan lama... Jumlah Konteks Aktif: 4
Mengantisipasi Masalah Umum & Tantangan Ekstensi
Tambahkan variabel summaryString yang menyimpan rangkuman dari pesan-pesan yang dipangkas.
Uji Kompetensi Mandiri & Verifikasi Hasil
Standar kelulusan Z-Automation mewajibkan skor minimum 80 / 100 Poin dengan komponen Implementasi Praktis minimal 21 / 35 Poin (60%). Jawab soal diagnostik dan centang hasil pengujian praktis Anda.
BAGIAN A // PERTANYAAN DIAGNOSTIK KONSEPTUAL & TEKNIS (40 POIN)
01.Apa fungsi utama teknik Sliding Window pada riwayat pesan agen?
BAGIAN B // DAFTAR PERIKSA HASIL IMPLEMENTASI PRAKTIS (35 POIN ā MIN. 21 POIN)
Centang item di bawah ini hanya jika Anda telah menjalankan kode di komputer Anda dan mengamati output yang benar: