Tutorial Zep: Memori Jangka Panjang untuk AI Agent dengan Temporal Knowledge Graph

# Zep: Bikin AI Agent Punya Memori Jangka Panjang dengan Temporal Knowledge Graph Temen-temen, pernah ngobrol sama chatbot yang tiap kali kamu buka percakapan baru dia lupa total sama siapa kamu? Kam...

By Ruby Abdullah · · tutorial
ZepAI AgentsMemoryPythonLLM

Zep: Bikin AI Agent Punya Memori Jangka Panjang dengan Temporal Knowledge Graph

Temen-temen, pernah ngobrol sama chatbot yang tiap kali kamu buka percakapan baru dia lupa total sama siapa kamu? Kamu udah cerita panjang lebar soal preferensi, nama proyek, sampai detail teknis yang penting, eh besoknya dia nanya lagi kayak kenalan pertama kali. Nyebelin banget kan. Nah, masalah ini muncul karena secara default Large Language Model (LLM) itu stateless. Dia cuma tau apa yang ada di dalam satu window konteks. Begitu percakapan panjang atau sesi baru dibuka, semua ingatan itu hilang.

Di tutorial ini aku mau ngajak kalian kenalan sama Zep, sebuah memory layer buat AI agent yang menurutku ngerapihin banget cara kita ngasih "ingatan" ke agent. Bukan sekadar nyimpen riwayat chat mentah-mentah, tapi Zep bikin sesuatu yang disebut temporal knowledge graph. Jadi Zep bakal ngambil fakta-fakta penting dari percakapan, nyusun jadi graph relasi, plus nyatet kapan fakta itu berlaku dan kapan berubah. Waktu agent-mu butuh konteks, Zep ngasih ringkasan yang relevan buat dimasukin ke prompt. Praktis dan hemat token.

Aku bakal bahas dari nol banget: kenapa memori itu penting buat agent, gimana daftar Zep Cloud dan ambil API key, cara install, bikin user dan session, nambahin pesan, ngambil memori dan konteks, nyari fakta di graph, sampai akhirnya kita rakit jadi satu loop chatbot sederhana yang beneran inget kamu. Semua contoh pakai Python biar gampang diikutin. Yuk kita mulai.

Introduction

Kenapa memori itu penting buat AI agent

Coba bayangin kamu punya asisten pribadi manusia. Nilai plus utamanya bukan cuma dia bisa jawab pertanyaan, tapi dia inget konteks kamu. Dia tau kamu alergi kacang, tau kamu lagi ngerjain proyek migrasi database, tau kamu lebih suka penjelasan yang to the point. Asisten yang inget hal-hal ini terasa jauh lebih pintar dan personal dibanding yang harus dijelasin ulang tiap hari.

AI agent yang kita bangun juga gitu. Tanpa memori, agent kita cuma reaktif dan generik. Dengan memori jangka panjang, agent bisa:

  • Personalisasi jawaban berdasarkan histori interaksi user.
  • Ngelanjutin tugas multi-sesi tanpa user harus ngulang konteks.
  • Ngambil keputusan yang lebih konsisten karena tau preferensi dan fakta sebelumnya.
  • Ngurangin biaya token, karena kita nggak perlu nyeret seluruh transkrip panjang ke tiap request.

Poin terakhir itu sering diremehin temen-temen. Kalau kamu naif dan tiap kali ngirim semua histori percakapan ke LLM, token cost kamu bakal meledak dan latency makin lama seiring percakapan makin panjang. Belum lagi ada limit context window. Jadi kita butuh sistem yang cerdas milih mana yang relevan, bukan asal timbun.

Apa itu Zep dan bedanya sama nyimpen histori biasa

Cara paling primitif buat ngasih memori ke agent adalah nyimpen seluruh array pesan di database, terus di-load semua tiap percakapan. Ini gampang tapi nggak scalable. Pendekatan kedua yang lumayan populer adalah RAG di atas riwayat chat: kita embed tiap pesan, simpan ke vector store, terus retrieve pesan yang mirip. Ini lebih baik, tapi masih ngambil potongan mentah percakapan tanpa ngerti fakta apa yang sebenarnya penting.

Zep ngambil pendekatan yang lebih pinter. Di belakang layar, Zep ngejalanin proses yang mereka sebut ekstraksi dan pembangunan knowledge graph. Setiap kali kamu nambahin pesan ke Zep, sistemnya bakal:

  • Nyimpen pesan mentah ke riwayat sesi.
  • Ngekstrak entitas dan fakta dari pesan itu (misal "Ruby suka kopi tanpa gula", "proyek Aurora deadline-nya Agustus").
  • Nyimpen fakta itu sebagai node dan relasi di temporal knowledge graph.
  • Nyatet timestamp validitas fakta, jadi kalau nanti user bilang "sekarang aku suka kopi pakai gula", fakta lama ditandai udah nggak berlaku dan fakta baru dibuat.
  • Kata "temporal" di sini kunci banget. Dunia berubah, preferensi user berubah, status proyek berubah. Zep nyimpen dimensi waktu ini jadi agent-mu nggak cuma tau fakta terbaru, tapi juga bisa tau riwayat perubahan fakta. Ini yang bikin Zep beda dari sekadar key-value store atau vector search biasa.

    Waktu kita minta konteks ke Zep buat sebuah sesi, dia ngasih blok teks ringkas berisi fakta-fakta relevan yang tinggal kita tempel ke system prompt. Jadi agent kita dapet "ingatan" yang padat dan relevan tanpa harus baca ribuan token transkrip.

    Konsep inti yang perlu kamu pahami

    Sebelum ngoding, ada beberapa istilah yang bakal sering muncul:

    Artikel Terkait

    Tutorial LangChain: Framework Paling Populer untuk Membangun Aplikasi LLM

    Tutorial LangChain: Framework Paling Populer untuk Membangun Aplikasi LLM LangChain adalah framework open-source yang di...

    Tutorial PydanticAI: Framework Agent LLM yang Type-Safe

    Membangun Agen LLM yang Type-Safe dengan PydanticAI PydanticAI adalah framework agen dari tim di balik Pydantic, diranca...

    Tutorial Lengkap LangGraph: Membangun AI Agents yang Kompleks

    Tutorial Lengkap LangGraph: Membangun AI Agents yang Kompleks LangGraph adalah library dari LangChain untuk membangun st...

    OpenRouter: Satu API untuk Ratusan LLM (OpenAI, Anthropic, Google, Meta, Mistral)

    OpenRouter: Satu API untuk Ratusan LLM (OpenAI, Anthropic, Google, Meta, Mistral) Halo temen-temen, ketemu lagi sama aku...