Graphiti: Membantu AI Memahami Hubungan Antar-Informasi dan Perubahannya
Graphiti adalah framework open-source dari Zep yang membantu AI memahami informasi yang saling berhubungan dan terus berubah. Berbeda dari sekadar menyimpan teks, Graphiti membangun knowledge graph yang memungkinkan AI memahami hubungan antar informasi, konteksnya, serta bagaimana informasi tersebut berubah dari waktu ke waktu.
GitHub Graphiti — getzep/graphiti
Apa Itu Graphiti?
Bayangkan sebuah sistem memiliki informasi seperti:
Project A
↓ menggunakan
SvelteKit
↓ di-deploy menggunakan
Cloudflare
Kemudian beberapa bulan kemudian teknologi yang digunakan berubah:
Project A
↓ sekarang menggunakan
Framework B
Bagi manusia, hubungan informasi tersebut cukup mudah dipahami. Kita tahu bahwa semuanya membahas project yang sama dan bahwa teknologi yang digunakan telah berubah.
Namun bagi AI, informasi yang tersimpan sebagai potongan-potongan teks tidak selalu mudah dihubungkan.
Graphiti dibuat untuk membantu AI memahami hubungan tersebut.
Alih-alih hanya menyimpan:
"Project A menggunakan SvelteKit."
Graphiti dapat merepresentasikannya sebagai hubungan:
Project A
↓ menggunakan
SvelteKit
Dengan begitu, AI tidak hanya mengetahui isi informasi, tetapi juga mengetahui hubungan di antara informasi tersebut.
Kenapa Disebut Knowledge Graph?
Knowledge graph pada dasarnya adalah cara menyimpan informasi sebagai jaringan yang saling terhubung.
Misalnya:
Customer
↓ membeli
Product
↓ dibuat oleh
Brand
↓ dimiliki oleh
Company
Setiap objek seperti Customer, Product, dan Brand menjadi bagian dari graph, sedangkan hubungan seperti membeli, dibuat oleh, dan dimiliki oleh menjelaskan keterkaitannya.
Jadi, daripada melihat data sebagai kumpulan informasi yang berdiri sendiri, AI dapat melihatnya sebagai jaringan pengetahuan.
Yang Membuat Graphiti Menarik: Waktu
Salah satu karakteristik penting Graphiti adalah kemampuannya menangani perubahan informasi dari waktu ke waktu.
Misalnya:
2025
Project A → menggunakan → Teknologi A
Kemudian:
2026
Project A → menggunakan → Teknologi B
Sistem yang hanya menyimpan kondisi terbaru mungkin akan mengganti Teknologi A dengan Teknologi B.
Akibatnya, informasi mengenai kondisi sebelumnya bisa hilang.
Graphiti dirancang agar AI dapat memahami keduanya:
Sebelumnya → Teknologi A
Sekarang → Teknologi B
Konsep ini disebut temporal knowledge graph.
"Temporal" sederhananya berarti memperhatikan waktu.
Jadi AI tidak hanya dapat memahami:
"Apa yang benar sekarang?"
tetapi juga:
"Apa yang sebelumnya benar dan kapan informasi tersebut berubah?"
Mengapa Riwayat Informasi Penting?
Informasi lama tidak selalu boleh dianggap sudah tidak berguna.
Dalam sistem bisnis, misalnya, kita mungkin ingin mengetahui:
siapa yang sebelumnya bertanggung jawab terhadap sesuatu,
kapan status berubah,
produk sebelumnya menggunakan supplier mana,
teknologi apa yang digunakan sebelumnya,
atau bagaimana suatu project berkembang.
Contohnya:
Produk A
↓
Supplier X
Kemudian supplier berubah:
Produk A
↓
Supplier Y
Jika informasi lama dihapus, kita hanya mengetahui kondisi saat ini.
Dengan mempertahankan hubungan dan waktunya, AI dapat memahami sejarah perubahan tersebut.
Bagaimana Graphiti Menyimpan Informasi?
Graphiti dapat bekerja dengan berbagai jenis informasi, seperti:
percakapan,
dokumen,
data terstruktur,
event,
dan informasi dari aplikasi.
Misalnya terdapat kalimat:
"Project A sekarang berpindah dari Teknologi A ke Teknologi B."
Dari informasi tersebut dapat dipahami beberapa bagian:
Project A
Teknologi A
Teknologi B
serta hubungan:
Project A
├── sebelumnya menggunakan → Teknologi A
└── sekarang menggunakan → Teknologi B
Hubungan tersebut kemudian menjadi bagian dari knowledge graph.
Graphiti Bukan Sekadar Penyimpanan Teks
Perbedaan ini penting.
Penyimpanan teks biasa mungkin hanya memiliki:
"Project A menggunakan Teknologi A."
Sedangkan knowledge graph dapat merepresentasikannya sebagai:
Project A
↓ menggunakan
Teknologi A
Kemudian informasi lain:
Teknologi A
↓ dikembangkan oleh
Company X
Sekarang AI dapat mengikuti hubungan:
Project A
↓
Teknologi A
↓
Company X
Dengan struktur seperti ini, AI lebih mudah menjawab pertanyaan yang membutuhkan hubungan antar informasi, bukan sekadar mencocokkan kata.
Graphiti dan AI Agent
Konsep ini menjadi semakin berguna ketika digunakan bersama AI Agent.
AI Agent membutuhkan context dan memory untuk mempertahankan informasi dari interaksi sebelumnya.
Misalnya AI sebelumnya mengetahui:
"Project A menggunakan Teknologi A."
Kemudian mendapatkan informasi baru:
"Project A sudah berpindah ke Teknologi B."
AI perlu memahami bahwa informasi kedua mengubah kondisi sebelumnya, bukan sekadar menjadi informasi tambahan.
Graphiti dapat merepresentasikannya seperti:
Project A
│
├── Teknologi A
│ └── sebelumnya
│
└── Teknologi B
└── sekarang
Hasilnya adalah memory yang lebih terstruktur dibanding hanya menyimpan seluruh percakapan sebagai teks.
Graphiti dan RAG
Graphiti sering dibandingkan atau digunakan bersama RAG (Retrieval-Augmented Generation).
Keduanya memiliki fokus yang berbeda.
RAG pada dasarnya membantu AI menemukan informasi yang relevan.
Pertanyaan
↓
Cari informasi relevan
↓
LLM
Graphiti lebih berfokus pada:
Informasi
↓
Hubungan
↓
Konteks
↓
Waktu dan perubahan
↓
AI
Keduanya dapat digunakan bersama.
Misalnya RAG menemukan dokumen yang relevan, kemudian knowledge graph membantu AI memahami hubungan dokumen tersebut dengan project, teknologi, orang, atau informasi lain yang berkaitan.
Dengan demikian, RAG membantu menjawab:
"Informasi mana yang relevan?"
Sedangkan knowledge graph membantu menjawab:
"Bagaimana informasi tersebut saling berhubungan?"
Apakah Graphiti Menggantikan Database?
Tidak.
Graphiti bukan pengganti database seperti PostgreSQL, MySQL, atau database aplikasi lainnya.
Database tetap dapat digunakan untuk menyimpan data utama:
Database
├── Users
├── Products
├── Projects
├── Transactions
└── Orders
Graphiti dapat ditempatkan sebagai lapisan tambahan untuk kebutuhan AI:
Database / Data Source
↓
Graphiti
↓
Knowledge Graph
↓
AI Agent
Database menyimpan data aplikasi, sedangkan Graphiti membantu membangun hubungan dan konteks yang dapat digunakan AI.
Kapan Graphiti Berguna?
Graphiti paling menarik ketika sebuah aplikasi memiliki banyak informasi yang saling berhubungan dan terus berubah.
Contohnya:
AI Agent
AI Memory
Knowledge Base
Enterprise Search
RAG
sistem rekomendasi
Customer Relationship Management
aplikasi enterprise
ERP
Terutama ketika AI harus menjawab pertanyaan seperti:
"Apa hubungan antara data A dan B?"
"Apa yang berubah dari sebelumnya?"
"Informasi ini sebelumnya seperti apa?"
"Apa saja yang berkaitan dengan project tersebut?"
Pertanyaan seperti ini membutuhkan lebih dari sekadar pencarian teks.
Graphiti untuk Sistem ERP
ERP merupakan contoh yang menarik karena hampir semua datanya memiliki hubungan.
Misalnya:
Product
├── memiliki → Brand
├── termasuk → Category
├── dibeli dari → Supplier
├── disimpan di → Warehouse
├── dijual melalui → Store
└── dipengaruhi oleh → Promotion
Hubungan tersebut juga dapat berubah.
Harga berubah, stock berubah, supplier dapat berganti, promosi berubah, dan produk dapat berpindah warehouse.
Jika AI ingin menjawab pertanyaan kompleks mengenai kondisi bisnis, AI perlu memahami hubungan antar-data sekaligus konteks waktunya.
Di sinilah pendekatan seperti Graphiti menjadi menarik sebagai lapisan knowledge untuk AI di atas sistem enterprise.
Cara Paling Mudah Memahami Graphiti
Tidak perlu langsung memikirkan istilah seperti temporal knowledge graph, entity, atau edge.
Cara paling mudah memahaminya adalah:
Graphiti membuat peta pengetahuan untuk AI, sehingga AI dapat memahami bagaimana informasi saling berhubungan dan bagaimana hubungan tersebut berubah dari waktu ke waktu.
Perbedaannya bisa disederhanakan seperti ini:
Database → menyimpan data.
RAG → membantu menemukan informasi yang relevan.
Knowledge Graph → membantu memahami hubungan antar informasi.
Graphiti → menyediakan pendekatan knowledge graph yang juga memperhatikan konteks dan perubahan informasi dari waktu ke waktu.
Itulah inti dari Graphiti dan alasan framework ini menarik untuk membangun AI Agent, AI Memory, Knowledge Base, RAG, serta aplikasi enterprise yang memiliki banyak hubungan antar-data.