Ajan Belleği: 7 Tür ve 2'si Aslında Hatırlamıyor
Ajanınızın bir bellek sorunu yok. Yedi farklı bellek türüne sahip. Çoğu ekip sadece ikisini inşa ediyor.
Anlamanız gereken ilk şey: model hiçbir şey hatırlamaz. Bir LLM saf bir fonksiyondur. Bir girdi alır ve bir çıktı verir. Çağrılar arasında herhangi bir durum (state) taşımaz. Bellek gibi hissettiren şey, her istekte geçmişi yeniden gönderen bir katmandan ibarettir. Bu token'lar için her seferinde ödeme yaparsınız.
Çoğu mühendislik çabası iki kalıba indirgenir: konuşma geçmişi ve RAG. Bunlar yedi türden ikisidir. Sorun ne mi? Bunlar ajanınızı zamanla daha akıllı yapmaz.
İşte yedi bellek türü:
• Çalışma (Working): Mevcut bağlam penceresindeki (context window) her şey. • Semantik (Semantic): Gerçekler, tercihler ve alan bilgisi. • Episodik (Episodic): Geçmiş olayların ve nelerin işe yarayıp nelerin başarısız olduğunun bir günlüğü. • Prosedürel (Procedural): Beceriler, iş akışları ve araç kalıpları. • Geri Getirme (Retrieval): Benzerlik araması yoluyla bilgi çekme. • Parametrik (Parametric): Model ağırlıklarına işlenmiş bilgi. • Geleceğe Dönük (Prospective): Gelecekteki niyetler ve planlanmış görevler.
Bunlardan ikisi gerçek bellek değildir. RAG sadece bir iletim mekanizmasıdır. O su değil, tesisattır. Veriyi bir depodan çalışma belleğine taşır. Eğer sadece bir vektör veritabanı kullanıyorsanız, bir boru inşa edip sıvıyı unutmuşsunuz demektir.
Gerçekten öğrenen bir ajan inşa etmek için konsolidasyon döngüsüne (consolidation loop) ihtiyacınız vardır. Bu, episodik belleği semantik belleğe dönüştürmek anlamına gelir.
Süreç şu şekilde işler:
- Ajan bir olay yaşar (Episodik).
- Ajan aynı kalıbın birçok kez tekrarlandığını görür.
- Ajan bu kalıbı kalıcı bir kurala dönüştürür (Semantik).
Artık ajanın on iki örnek üzerinden muhakeme yapmasına gerek kalmaz. Sadece tek bir gerçeği uygular.
İnşanızı nasıl önceliklendirmelisiniz:
- Çalışma belleğini bir bütçe gibi yönetin. En yüksek maliyetiniz budur. Özetleme (summarization) ve tahliye (eviction) yöntemlerini erkenden kullanın.
- Depolarınızı ayırın. Gerçekleri, olayları ve kuralları farklı yerlerde tutun.
- Geleceğe dönük bellek için bir zamanlayıcı (scheduler) kullanın. Belirli bir tarihte gerçekleşmesi gereken şeyler için bir vektör deposu kullanmayın.
- Parametrik bellek için net bir sınır çizin. Modeli muhakeme için kullanın, ancak faiz oranları veya ürün kuralları gibi değişken veriler için kendi depolarınızı kullanın.
Günümüzdeki ajanların çoğu sadece bir bağlam penceresi ve bir vektör veritabanından ibarettir. Kazanan ajanlar, dünün hatalarını yarının kurallarına dönüştürebilenlerdir.
Kaynak: https://dev.to/shudiptotrafder/agent-memory-7-types-and-2-of-them-arent-memory-6oi
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi
