Lewati ke konten utama
menjadi.dev
Chapter 36.5 AI Product Lanjutan

Agent Memory & State Management

Memberi agent kemampuan untuk 'mengingat' — dari conversation history sampai long-term knowledge

Tujuan Pembelajaran

  • Memahami jenis-jenis memory dalam agent: sensory, short-term, long-term
  • Mampu mengimplementasikan conversation history management
  • Mampu membangun long-term memory dengan vector DB

Analogi

Diagram

      Agent Memory = Ingatan Manusia:

Sensory Memory  = Apa yang baru saja terjadi (<5 detik)
→ Current observation, latest tool result

Short-Term      = Apa yang terjadi di percakapan ini
→ Conversation history (context window)

Long-Term       = Pengalaman dan pengetahuan yang terakumulasi
→ Vector DB berisi ringkasan percakapan sebelumnya

Tanpa long-term: agent mulai dari nol setiap sesi
Dengan long-term: agent ingat user preference, keputusan lampau, pattern yang pernah berhasil/gagal
    

Agent memory seperti ingatan manusia — sensory (sekarang), short-term (sesi ini), long-term (pengalaman).

Penjelasan Konsep

Memory adalah komponen yang membedakan agent dari LLM sederhana. Tanpa memory, setiap interaksi dimulai dari nol.

Sensory memory: Informasi yang baru saja diterima — observation dari tool terakhir, user message terbaru. Dikelola secara otomatis oleh agent loop.

Short-term memory (conversation history): Seluruh percakapan dalam satu sesi. Disimpan di messages array (system + user + assistant + tool messages). Batasan: context window model (128K-200K token). Strategi: (1) Sliding window — hanya simpan N message terakhir. (2) Summarization — ringkas history lama. (3) Selective — hanya simpan message yang penting (berdasarkan importance scoring).

Long-term memory: Informasi yang bertahan antar sesi. Implementasi: (1) Vector DB — setiap selesai sesi, generate summary, embed, simpan. (2) Key-value store — user preferences, settings. (3) Knowledge graph — entitas dan relasinya. Retrieval: saat sesi baru, search memory yang relevan dengan konteks saat ini.

Memory management patterns: (1) Reflection — agent secara periodik refleksi tentang apa yang dipelajari. (2) Compression — kompresi conversation panjang menjadi ringkasan. (3) Forgetting — hapus memory yang tidak relevan atau outdated.

Inti yang Perlu Dipahami

Bagian ini berfokus pada memahami jenis-jenis memory dalam agent: sensory, short-term, long-term., mampu mengimplementasikan conversation history management., dan mampu membangun long-term memory dengan vector DB. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.

Saat membaca Agent Memory & State Management, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.

Cara Membayangkannya

Agent memory seperti ingatan manusia — sensory (sekarang), short-term (sesi ini), long-term (pengalaman). Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.

Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.

Konteks dalam Perjalanan Belajar

Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.

Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.

Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.

Prompt AI

Implementasi long-term memory untuk agent customer service: simpan ringkasan setiap interaksi ke vector DB. Saat user kembali, retrieve history mereka. Agent bisa melanjutkan dari konteks sebelumnya.

Pertanyaan Reflektif

Apakah chatbot-mu 'ingat' user dari sesi sebelumnya? Kalau tidak, berapa banyak waktu yang terbuang untuk user mengulang konteks setiap kali?