Ajan Belleğinin Bileşenleri
Kaynak: Hacker News
İçindekiler 2 başlık
Søren Kierkegaard, hayatın ancak geriye doğru bakılarak anlaşılabileceğini ancak ileriye doğru yaşanması gerektiğini yazmıştır. Yapay zeka ajanları (AI agents) için bellek tasarlarken de benzer bir ikilemle karşılaşıyoruz. İnsan beyninde hipokampus, anlık deneyimleri hızla kaydederek hemen erişilebilir hale getirir. Ancak bu deneyimlerin yalnızca bir kısmı uzun vadeli bilgiye dönüştürülür. Bu pekiştirme süreci çoğunlukla uyku veya dinlenme gibi çevrimdışı anlarda gerçekleşir; hipokampus son deneyimleri tekrar oynatarak (replay) bunları damıtır ve neokortekse entegre eder.
Yapay zeka ajan belleği de benzer bir iş bölümünden yararlanabilir. Ajanlar çalışmalarının çoğunu loglarda veya transkriptlerde tutar. Letta ve UC Berkeley araştırmacıları, modellerin etkileşimler arasındaki boş zamanı mevcut bağlamlarını yeniden düzenlemek için kullanmasını sağlayan uyku zamanı hesaplamasını (sleep-time compute) önermiştir. Ajanların loglar üzerinde düşünerek hataları düzeltmesi, yeni notlar üretmesi ve bellek temsilleri oluşturması sürecine rüya görme (dreaming) adı verilir.
Yazılım geliştirme açısından bu yaklaşım, asenkron arka plan görevleriyle (background jobs) ajanların deneyimlerini optimize etmesi anlamına gelir:
- Ajanlar geçmiş oturum loglarını tarayarak hatalı çıkarımları düzeltebilir.
- Gelecekteki oturumlara önceden yüklenecek (preemptively loaded) özet temsiller ve yapılandırılmış notlar oluşturabilir.
Bellek Notları#
Ajan belleği, Claude gibi bir modelin kullanıcı etkileşimlerinden ve atanan görevlerden edindiği, oturumlar arasında koruduğu ve daha sonra okuyabileceği bağlam olarak kaydedilen bilgiyi ifade eder. Bu kavram; eğitim sırasında değişen model ağırlıklarını (weights), tek bir sohbet içindeki bağlam içi öğrenmeyi (in-context learning) ve bağlam penceresini (context window) rahatlatmak için eski mesajların özetlendiği sıkıştırma (compaction) işlemlerini kapsamaz.
İnsan beyninde önemli deneyimler kimyasal sinyallerle işaretlenir ve çevrimdışı dönemlerde daha sık tekrar edilerek uzun vadeli bellekte stabilize edilir. Benzer şekilde bir ajan da:
- Oturum loglarındaki önemli olayları gerçekleştiği anda etiketleyebilir (tagging).
- Önemli bulguları daha sonra kolayca bulmak üzere bir bellek notları klasörüne (memory store) yazabilir.
Ancak yazılım mimarisi açısından temel zorluk şudur: Bir ajan, sırada ne olduğunu henüz bilmeden, o an neyin önemli (salient) olduğunu nasıl anlayabilir?
Bellek, Geleceğin Neye İhtiyaç Duyacağına Dair Bir Tahmin Olabilir#
Bellek, özünde geleceğe yönelik bir tahmindir. Bir ajan bir kuralı not ettiğinde, tanımladığı örüntünün gelecekte tekrar gerekli olacağını öngörür. Örneğin, doğrulanmış bir gerçeği kaydetmek, gelecekteki bir oturumda ajanın bu bilgiyi tekrar doğrulama zahmetine girmeden doğrudan kullanmak isteyeceğine dair bir tahmindir.
Geliştiriciler için pratik çıkarımlar şunlardır:
- Continual Learning Bench (CL-Bench) 1.0 gibi sürekli öğrenme kıyaslamaları, ajanların bellek kullanma ve gelecekteki ihtiyaçları tahmin etme yeteneklerini ölçmek için kritik bir standart sunar.
- Ajan mimarisi kurgularken yalnızca ham log kaydı tutmak yerine, gelecekteki görevlerde yeniden kullanılabilecek doğrulanmış kuralları ve kalıpları ayrıştıran bir bellek katmanı tasarlanmalıdır.
Bu konuyu derinlemesine öğrenmek isterseniz: Production'da Agent Güvenilirliği modülüne göz atın.
Kaynak ve atıf
Bu yazı, Hacker News üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- anthropic.com/research/components-of-agent-memory