Çözümler

Kaynaklar

Şirket

Demo Al

Ara

Turkish

LLM Ajanlarında Bellek Neden Önemlidir: Kısa Vadeli ve Uzun Vadeli Bellek Mimarileri

LLM ajanlarında bellek neden önemlidir? Yapay zeka ajanlarında etkili bellek yönetimi için kısa ve uzun vadeli bellek sistemlerini, MemGPT, RAG ve hibrit yaklaşımları keşfedin.

LLM ajanlarında bellek neden önemlidir? Yapay zeka ajanlarında etkili bellek yönetimi için kısa ve uzun vadeli bellek sistemlerini, MemGPT, RAG ve hibrit yaklaşımları keşfedin.

Büyük Dil Modeli (LLM) ajanları, bellek ve otonomi ekleyerek bağımsız LLM'lerin yeteneklerini artırır. Her yanıttan sonra önceki etkileşimleri unutan temel sohbet robotlarının aksine, bir ajan önceki adımlardan veya konuşmalardan öğrenebilir ve bunları hatırlayabilir. Bu bellek kapasitesi, ajanların uzun vadeli görevleri yerine getirmesini, kişiselleştirilmiş etkileşimler sunmasını ve zamanla giderek karmaşıklaşan muhakeme süreçlerini yönetmesini sağlar. Kullanıcı tercihlerini hatırlayan veya çok adımlı planları takip eden bir yapay zeka asistanı, sürekli bağlam hatırlatmaları gerektiren bir asistana kıyasla önemli ölçüde daha faydalıdır.

Ancak, LLM ajanlarına bellek eklemek basit bir görev değildir. Modelin sabit bağlam penceresinin ötesindeki bilgileri depolamak, gerektiğinde doğru bilgiyi geri çağırmak ve bu bilgiyi dinamik olarak güncellemek için özel mimari bileşenler gerektirir.


LLM Ajanlarının Çalışma Prensipleri


LLM ajanları, temelde karar verme döngüleri ile donatılmış büyük dil modelleridir. Bu yetenek, ajanların basit, tek seferlik etkileşimlerin ötesinde bağımsız olarak eylemler planlamasını, araçları kullanmasını ve çok adımlı çıktılar üretmesini sağlar. Temel bir sohbet robotu yalnızca kullanıcının son mesajına yanıt verirken, bir ajan çok adımlı muhakeme süreçleri yürütür. Genellikle ajanlar, düşünce zinciri (chain-of-thought) yöntemini kullanarak eylemleri planlar, bu eylemleri yürütür (araçları veya API'leri çağırmak gibi), sonuçları gözlemler ve kullanıcıya bir yanıt sunmadan önce sonraki adımları belirler. Bu döngü, tek bir kullanıcı sorgusu için birden fazla LLM çağrısını içerebilir. Örneğin, bir ajan "Merhaba, bugün benim doğum günüm!" mesajını aldığında süreç şu şekilde işler:

  1. Planlama/Düşünme: Ajan ilk olarak kullanıcının ifadesini değerlendirmek için LLM'yi kullanır. Kullanıcıyı tanıyıp tanımadığını veya onunla ilgili doğum günü bilgisi olup olmadığını hatırlamaya çalışabilir ya da bu bilgiyi aramak için belleğini taramaya karar verebilir.

  2. Araç Kullanımı: Kullanıcının profilinin veya önceki konuşmalarının doğum günü bilgisini doğrulayıp doğrulamadığını kontrol etmek için bir bellek sorgulama aracını çağırabilir. Bellek aracı bugün gerçekten kullanıcının doğum günü olduğunu doğrularsa, bu bilgi kullanılabilir hale gelir.

  3. Yanıt Oluşturma: Son olarak ajan, bellekten alınan kullanıcı adını da dahil ederek "Doğum günün kutlu olsun! Seni görmek harika, [İsim]. Umarım harika bir gün geçiriyorsundur!" gibi kişiselleştirilmiş bir yanıt oluşturur.

Bu otonomi, LLM'nin karar vermek için istem talimatlarını ve örneklerini takip edebilme yeteneği sayesinde mümkün olmaktadır. LangChain ve AutoGen gibi iskeletler (frameworks) bunu genellikle ReAct (Reason+Act - Muhakeme Et+Harekete Geç) gibi istem stratejileri aracılığıyla uygular. Bu yöntem, LLM'yi önce bir "Düşünce" (Thought), ardından bir "Eylem" (Action) (örneğin, search_memory) üretmeye yönlendirir. LLM, eylemlerini doğal dilde "planlar", bu planlar daha sonra ajan iskeleti tarafından analiz edilir ve yürütülür. Araçlar, ajanın çağırabileceği fonksiyonlardır. Ajan, araç sonuçlarını bir sonraki LLM istemine dahil ederek planını adım adım yürütür.

İstem tasarımı (prompting) kritik bir rol oynar: bir ajanın istemi genellikle ajanın rolünü ve mevcut araçları tanımlayan bir sistem mesajıyla başlar, bunu mevcut konuşma veya bağlam ve kullanıcının sorgusu takip eder. LLM'den gelen çıktı analiz edilir: eğer bir eylemse, ajan bunu yürütür ve sonucu isteme geri ekler; kesin bir yanıtsa, döngü sona erer. Bu döngü, karmaşık sorguları çözmek için gerektiği kadar tekrarlanır. Her adımda, ajan eylemlerini ve ne öğrendiğini takip etmelidir; işte bellek burada devreye girer.

Bellek entegrasyonu iki şekilde gerçekleşebilir:

  • İstem Bağlamı (Prompt Context): Ajanın geçmiş etkileşimleri veya erişilen bilgiler, LLM'nin girdi bağlamına (örneğin, konuşma geçmişi) dahil edilir. Böylece LLM, bir sonraki adımı veya yanıtı planlarken önceki bilgileri göz önünde bulundurur.

  • Araç Tabanlı (Tool-Based): Ajan, Hatırla (Recall) veya BelleğeKaydet (StoreMemory) gibi bellek işlemlerini açıkça kullanabilir. Örneğin, ajan "Bu bilgiyi hatırlamam gerekiyor" diyerek bir aracı çağırabilir ve bunu uzun vadeli belleğe kaydedebilir. Daha sonra başka bir araç ilgili bilgiyi geri çağırabilir. Bu tür araç tabanlı bellek kullanımı, ajan bellek içeriğini LLM çağrıları aracılığıyla yönettiği için bazen kendi kendini düzenleyen bellek olarak da adlandırılır.


LLM Ajanlarında Bellek

LLM tabanlı ajanlar belleklerini iki ana kategori altında yapılandırır:

Kısa Vadeli Bellek (STM)

Kısa vadeli bellek, bir LLM ajanının belirli bir görev veya konuşma oturumu sırasında kullandığı, LLM'nin bağlam penceresine sığan ve hemen ihtiyaç duyulan bilgileri tutan çalışma belleğidir. Genellikle bu, devam eden konuşmadaki son birkaç mesajı, ara çıkarımları veya son araç çağrılarından elde edilen sonuçları içerir.

Pratikte, kısa vadeli bellek genellikle değişkenlerde veya listelerde saklanır ve her etkileşim döngüsünde istemin sonuna eklenir. Örneğin, LangChain'in ConversationBufferMemory bileşeni tüm konuşma mesajlarını bir liste olarak tutar. Benzer şekilde, LangChain'in ConversationBufferWindowMemory bileşeni yalnızca en son birkaç mesajı korur ve bu sayede token sınırlarını aşmadan mevcut bağlamın korunmasına yardımcı olur. STM geçicidir; bellekte tutulan bilgiler, açıkça harici depolamaya aktarılmadığı sürece, genellikle konuşma veya görev tamamlandıktan sonra silinir.


Uzun Vadeli Bellek (LTM)

Uzun vadeli bellek, mevcut bağlam penceresinin ötesinde veya farklı konuşma oturumları arasında korunması gereken bilgileri kapsar. Ajan tarafından öğrenilen gerçekleri, kullanıcı profili bilgilerini veya ajanın gelecekteki kararlarını etkileyebilecek önceki deneyimleri içerir.

LLM'lerin dahili bağlam pencereleri sınırlı olduğundan, uzun vadeli belleğin uygulanması harici depolama gerektirir. Yaygın çözümler arasında veri tabanları ve vektör veri tabanları yer alır. Örneğin, LangChain ve LangGraph uzun vadeli veri depolama için vektör veri tabanlarıyla entegre olurken, CrewAI kalıcı bellek için diskte saklanan SQLite gibi daha basit veri tabanlarını kullanır. Uzun vadeli bellek genellikle geri çağırma yöntemleriyle çalışır: ajan gerektiğinde belleği arar ve elde edilen bilgileri kısa vadeli bağlamına geri ekler. Bu açıdan bakıldığında, uzun vadeli bellek bir bellek genişletme sistemi olarak hareket ederek ajanın dahili olarak hatırlayabileceğinden daha fazlasını hatırlamasını sağlar.


Neden Her İki Bellek Türü de Gereklidir?

Kısa vadeli bellek, ajanın mevcut durumu ve görevi hakkında bilgi sahibi olmasını sağlar. Bu olmadan, bir ajan bağlamı hızla kaybeder ve tutarlı yanıtlar vermekte zorlanır. Öte yandan, uzun vadeli bellek zaman içinde edinilen bilgileri gelecekte kullanmak üzere saklar. Bu iki bellek türü birbirini tamamlar: kısa vadeli bellek ajanın mevcut konuşmalara veya görevlere odaklanmasına yardımcı olurken, uzun vadeli bellek kritik gerçeklerin ve olayların unutulmamasını garanti eder. Bellek türlerinden biri eksik veya yetersiz olursa, ajanın performansı düşer. Örneğin, uzun bir belge hakkındaki soruları yanıtlamak üzere tasarlanmış bir ajanı ele alalım; uzun vadeli bellek olmadan, bağlam penceresi ilerledikçe önceki bölümleri hatırlayamaz. Tersine, kısa vadeli bellek olmadan, birkaç mesajdan sonra bile tutarsız hale gelebilir.


Pratik STM ve LTM Kullanımı

Pratikte, mevcut LLM ajanlarının kısa vadeli bellekleri genellikle ilgili modellerinin token sınırlarıyla sınırlıdır. Konuşma veya mantıksal akış bu sınırları aştığında, geliştiricilerin hangi bilgilerin tutulacağına veya atılacağına karar vermesi gerekir. Bu tür senaryolarda pencereli bağlam veya özetleme gibi yöntemler kullanılabilir. Uzun vadeli bellekte ise depolama sınırlamaları bir sorun teşkil etmez, ancak büyük veri kümelerinden doğru bilgilerin verimli bir şekilde geri çağrılması bir zorluk yaratır. Semantik arama yöntemleri, özellikle de embedding (vektörleştirme) tabanlı aramalar, doğru bilgiye hızlı erişim sağlayarak burada temel hale gelir.


Yöntemsel, Semantik ve Bölümsel Bellek

İnsan belleğinden esinlenen çalışmalar, belleği genellikle yöntemsel, semantik ve bölümsel türler olarak sınıflandırır. Bu kavramlar, LLM tabanlı ajanlarda farklı bellek modülleri tasarlamak için uygulanabilir.

Bölümsel (Episodik) Bellek

Bölümsel bellek, geçmiş deneyimlerin ve anların belleğiyle ilgilidir. İnsanlarda bu, belirli bir olayı ayrıntılı olarak hatırlama yeteneğini ifade eder. LLM ajanları için bölümsel bellek, geçmiş etkileşimlerin geçmişini tutmak anlamına gelir.

Örneğin, bir konuşma ajanı, önceki etkileşimleri veya problem çözme sırasında atılan adımları bölümsel bellek olarak saklayabilir. Bu, bağlam sürekliliğini sağlayarak ajanın önceki kullanıcı sorgularını veya yanıtlarını hatırlamasına ve böylece daha akıcı ve ilgili diyaloglar kurmasına olanak tanır. Bölümsel belleğin genellikle kısa vadeli bellek ile iç içe geçtiği kabul edilir; pratikte bu, az örnekli istem tasarımı (few-shot prompting) veya geçmiş etkileşimlerin özetlenmesi yoluyla uygulanır. Bir ajanın bir dizi adımı doğru bir şekilde tekrarlaması gerekiyorsa, geçmişteki başarılı diziler örnek teşkil eder; dolayısıyla bölümsel bellek ajanın davranışına rehberlik eder.

Semantik Bellek

Semantik bellek gerçekleri, kavramları ve dünya hakkındaki genel bilgileri barındırır. İnsan belleğinde bu, okulda öğrenilen bilgileri ve kavramlar arasındaki ilişkileri içerir. LLM ajanlarında semantik bellek, bir bilgi grafiğinde veya vektör veri tabanında saklanan gerçekler, tanımlar veya kavramlar gibi harici bir bilgi tabanında tutulan olgusal bilgiler olarak görülebilir.

LLM ajanlarındaki semantik bellek dahili veya harici olabilir:

Dahili Semantik Bellek: LLM'nin ön eğitim sırasında öğrendiği ve ağırlıkları içinde kodlanmış olan bilgiler.

Harici Semantik Bellek: Güncel veya ayrıntılı bilgiler için sorgulanan harici bir bilgi tabanı.

Kişiselleştirme için semantik bellek, kullanıcıya özel bilgileri (isimler ve tercihler gibi) saklayabilir ve geri çağırabilir. Pratikte semantik bellek genellikle anahtar-değer depoları ({“kullanıcı_adı”: “Deniz”, “dogum_gunu”: “1 Ocak”}) gibi yapılandırılmış gerçekler veya embedding tabanlı benzerlik sorgularına izin veren vektör veri tabanları olarak tutulur. Çağrıldıklarında, ajanlar istemlerine veya bağlamlarına dahil etmek üzere ilgili semantik bilgileri geri getirirler. Semantik bellek kalıcı ve uzun vadelidir. Birçok iskelet bunu Arama-Destekli Nesil (RAG) kullanarak uygular ve tüm bilgi tabanını semantik bellek olarak verimli bir şekilde ele alır.

Yöntemsel (Prosedürel) Bellek

Yöntemsel bellek, görevlerin veya becerilerin nasıl gerçekleştirileceğini hatırlamayı içerir. İnsanlarda bu, bisiklete binmek gibi eylemleri otomatik olarak gerçekleştirme yeteneğiyle ilişkilendirilir. LLM ajanları için yöntemsel bellek, ajanın görevleri yerine getirmek için takip ettiği kuralları, politikaları veya süreçleri içerir. Soyut bir bakış açısıyla, LLM'nin kendi ağırlıkları ve düşünce zinciri örnekleri veya ajan kodları yöntemsel bilgiyi oluşturur.

Analizler, transformer modelleri tarafından öğrenilen dikkat (attention) mekanizmalarının yöntemsel belleği temsil ettiğini göstermektedir, çünkü model eğitim kalıplarına dayanarak sonraki token'ları nasıl üreteceğini öğrenir. Daha somut olarak, sistem istemleri ve ajan betikleri yöntemsel belleği oluşturur. Örneğin, bir ajanın sistem istemi "Kullanıcı hava durumunu sorarsa, önce Hava Durumu API'sini çağır, ardından yanıtı bir cümle içinde biçimlendir" şeklinde talimat verebilir ve bu yöntemsel bilgiye bir örnek teşkil eder.

Bölümsel ve semantik bellekle karşılaştırıldığında, yöntemsel belleğin çalışma zamanında değiştirilmesi daha az esnektir ve genellikle tasarım sırasında belirlenir. Özetle, yöntemsel bellek LLM yeteneklerini ve programlanmış mantığı harmanlar; değişiklikler genellikle model güncellemeleri veya istem ayarlamaları gerektirir.

Bellek Türlerinin Birlikte Kullanımı

Bu üç bellek türü genellikle bir arada bulunur ve birbirini tamamlar. Örneğin, bir yazılım kodlama asistanı şunları yapabilir:

Doğru iş akışını sağlamak için belirli görev dizilerini ve kuralları hatırlamak üzere yöntemsel belleği kullanabilir (örneğin, "test etmeden önce kodu derle" veya "önce kullanıcı girdilerini doğrula").

API belgeleri, kullanıcı yapılandırmaları veya SSS'ler gibi yapılandırılmış bilgileri saklamak ve gerektiğinde bunları geri çağırmak için semantik belleği kullanabilir.

Önceki kodlama oturumlarını hatırlamak, denenmiş çözümleri veya kullanıcının kodlama stillerini tanımak için bölümsel belleği kullanabilir.

Bir LLM ajanı tasarlarken, gerekli tüm bellek türlerini kapsayan sistemler oluşturmak performansı ve kullanıcı etkileşimini artırır.


LLM Ajanlarında Bellek Mimarileri ve Teknikleri

Kısa Vadeli Bellek Teknikleri


Konuşma Arabellekleri (Conversation Buffers)

Belleğin en basit biçimi, son mesajları veya etkileşimleri tutmak için bir arabellek kullanmayı ve bunları sürekli olarak LLM'ye geri beslemeyi içerir. Bu yaklaşım, LLM'nin mesaj dizilerini işleme ve bağlamı koruma konusundaki doğal yeteneğinden yararlanır. Çoğu konuşma ajanı varsayılan yöntem olarak bunu kullanır.

Tam Konuşma Arabelleği (Full Conversation Buffer)

Bu yöntem, tüm konuşma geçmişini başlangıçtan itibaren depolar ve her yeni sorgunun başına ekler. Örneğin, LangChain kütüphanesi tarafından sunulan ConversationBufferMemory bu şekilde çalışır ve tüm mesajları sırayla saklar. Dolayısıyla model geçmiş diyalogları her zaman hatırlar. Ancak en büyük dezavantajı token maliyetidir; konuşmalar uzadıkça, büyüyen geçmişlerin modele tekrar tekrar beslenmesi token kullanımını, gecikmeyi ve maliyeti artırır. Dahası, bu yaklaşım çok uzun diyaloglar için ölçeklenebilir değildir; 100 sayfalık bir konuşmayı 4K token'lık bir bağlam penceresine sürekli olarak sığdırmak pratik değildir.

Pencereli Arabellek (Windowed Buffer)

Bu yöntemde sadece en son N adet mesaj tutulur. LangChain'in ConversationBufferWindowMemory bileşeni bu yaklaşımı iyi bir şekilde örneklendirir. Örneğin, pencere boyutu 5 ise, yalnızca en son 5 mesaj çiftini tutar ve daha eski mesajları atar. Bu, bellek boyutunu ve maliyetini sınırlar ancak daha eski bağlamların kaybedilmesi riskini taşır. Eski konuların nadiren yeniden su yüzüne çıktığı durumlar için bu yöntem etkilidir; ancak daha önceki tartışmalar tekrar geçerli hale gelirse önemli ayrıntılar unutulabilir.

Token Sınırlı Arabellek

Bazı uygulamalar, sabit bir mesaj sayısı yerine toplam token sayısını sınırlayarak belleği yönetir. LangChain'in ConversationTokenBufferMemory bileşeni, gerektiğinde en eski mesajları atarak bir token eşiğini zorunlu kılar ve mesajların token kullanımı büyük ölçüde değiştiğinde daha fazla esneklik sağlar.

Yapılandırılmış Mesaj Geçmişi

Ajanlar genellikle geçmiş mesajları kimin ne söylediğini belirterek (örneğin, "Kullanıcı: ...", "Asistan: ...") açıkça etiketler. Bu durum, LLM'nin kendi mesajlarını kullanıcı girdilerinden ayırt etmesine yardımcı olur. Ek olarak, bazı sistemler araç çıktıları veya özel notlar gibi olayları bu geçmişe dahil eder. Örneğin, bir ajan önceki web araması sonuçlarını şu şekilde saklayabilir: "Araç Çıktısı: [web araması sonucu]". Bu verilerin uygun şekilde biçimlendirilmesi ve arabelleğe dahil edilmesi, iyi bir ajan tasarımının temel yönleridir.

Avantajlar ve Dezavantajlar

Konuşma arabellekleri basit ve anlaşılırdır; LLM'nin sıralı bağlamı işleme yeteneğinden etkili bir şekilde yararlanır. Özellikle kısa diyaloglarda etkili olan bu arabellekler, tutarlı çok turlu etkileşimler için temel bir yöntem olarak hizmet eder. Ancak, gerçek uzun vadeli tutma sorunlarını çözmezler; en nihayetinde arabellekler dolar veya kesilir, bu da ajanın daha eski bilgileri unutmasına neden olur. Ayrıca, sürekli genişleyen mesaj geçmişleri belirli bir noktadan sonra gereksiz token tüketimine yol açabilir. Bu nedenle geliştiriciler, etkinliklerini artırmak için genellikle arabellekleri özetleme veya harici bellek sistemleriyle birleştirirler.


Uzun Vadeli Bellek Teknikleri

Özetleme ve Bölümsel Bellek Sıkıştırma

Sürekli büyüyen konuşma geçmişlerinin yarattığı zorluğun üstesinden gelmek için popüler bir teknik özetlemedir. Temel konsept, önceki etkileşimlerden veya görev adımlarından elde edilen önemli bilgileri daha kısa bir özet halinde yoğunlaştırmayı ve ardından metnin tamamı yerine bu özeti bağlama dahil etmeyi içerir. Bu, modele bölümsel bir bellek özeti sağlar.

Örneğin, bir kullanıcıyla 50 mesajdan oluşan uzun bir konuşma yürüten bir yapay zeka ajanını düşünün. 51. mesaja gelindiğinde, tüm mesaj geçmişini modele yeniden göndermek artık mümkün olmayabilir. Bu gibi durumlarda, ajan konuşmanın bir özetini üretebilir.

Bu özet, tam konuşma geçmişinden önemli ölçüde daha kısadır ancak yine de kritik ayrıntıları korur. Sonrasında ajan, bağlamı korumak için yalnızca bu özeti ve en son mesajları kullanır.

LangChain, özellikle bu yaklaşım için ConversationSummaryMemory modülünü sunar. Bu modül, yeni mesajlar geldikçe konuşmanın devam eden özetini sürekli güncellemek için LLM'den yararlanır. Özetin kendisi, devam eden konuşma içinde uzun vadeli bir bellek işlevi görür.

Avantajlar

  • Özetleme, önemli bilgileri korurken token kullanımını önemli ölçüde azaltır.

  • Sürekli olarak güncellenmiş özetler oluşturarak neredeyse sınırsız konuşma uzunluğu sağlar.

  • Gereksiz veya önemsiz ayrıntıları filtreleyerek daha temiz bir bellek sunar.

Dezavantajlar

  • Özetin kalitesi kritiktir; hatalı bir özet kritik ayrıntıları atlayabilir veya yanlışlıklar içerebilir.

  • Özet oluşturma için gereken ek LLM çağrıları, hesaplama maliyetlerini ve işlem yükünü artırabilir.

Bu dezavantajlara rağmen özetleme, uzun diyaloglarda veya çok adımlı süreçlerde bölümsel bellek yönetimi için oldukça etkili ve pratik olmaya devam etmektedir.

Yapay Zeka Ajanlarında Sanal Bellek ve İşletim Sistemi Yaklaşımı: MemGPT Örneği

MemGPT, işletim sisteminden ilham alan bir yaklaşımla yapay zeka ajanlarında bellek yönetimini yeniden tasarlıyor. Büyük Dil Modellerinin (LLM'ler) en büyük sınırlamalarından birini, yani kısıtlı bağlam pencerelerini ele alır. MemGPT, işletim sistemlerindeki "sanal bellek" kavramına benzer bir konsept kullanarak bu sınırlamanın üstesinden gelir. Sonuç olarak, bilgileri aktif bellek içine ve dışına kaydırarak uzun konuşmaları veya kapsamlı belgeleri dinamik olarak yönetir.

MemGPT Yaklaşımının Öne Çıkan Özellikleri

  • Katmanlı Bellek Yapısı: Hızlı ancak sınırlı bir çekirdek bellek ve daha büyük ancak daha yavaş bir arşiv belleğinden oluşan iki katmanlı bir bellek modeli kullanır. LLM'nin bağlam penceresi çekirdek bellek işlevi görürken, arşiv belleği harici bir veri tabanında saklanır.

  • Dinamik Bellek Yönetimi: Ajan, herhangi bir anda hangi bilginin çok önemli olduğunu dinamik olarak belirler ve bunu bağlam penceresine dahil eder, daha az acil olan verileri ise arşiv belleğine aktarır. Gerektiğinde, arşiv belleğindeki bilgileri çekirdek belleğe geri çağırır. Bu mekanizma, işletim sistemlerinde kullanılan sayfalama (paging) ve kesmelere (interrupts) benzer.

  • Kesme Güdümlü İşleme: MemGPT'de LLM, belleğe erişmek için üretim süreçlerini duraklatabilir; bu, standart token üretimine kıyasla yeni bir yaklaşımdır ve sürekli ve kesintisiz uzun diyaloglar kurulmasını sağlar.

MemGPT Uygulamaları

  • Büyük Ölçekli Belge Analizi: Bağlam penceresi için çok kapsamlı olan belgeler kademeli olarak yönetilebilir.

  • Uzun Vadeli Konuşma Ajanları: Kullanıcıları haftalar veya aylar boyunca tanıyabilen ve etkileşimleri sorunsuz bir şekilde sürdürebilen sistemler.

  • Karmaşık Görev Yönetimi: Bilgi tabanları veya anlatı belgeleri gibi çeşitli kaynaklardan gelen bilgileri entegre etme ve yönetme.

MemGPT karmaşık, dinamik ve kalıcı bellek yönetim sistemlerinin oluşturulmasını kolaylaştırarak, temel bellek katmanlarının ötesinde sürekli öğrenen yapay zeka ajanlarına olanak tanır.


Hibrit Bellek Modelleri

Hibrit yaklaşımlar, her birinin güçlü yönlerinden yararlanmak için birden fazla bellek mekanizmasını birleştirmeyi amaçlar. Bu modeller bellek yönetiminin karmaşıklığını azaltmaya yardımcı olur ve daha etkili sonuçlar üretir.

Parametrik ve parametrik olmayan bellek:

İnce ayarlı (fine-tuned) LLM'lerin yanı sıra, hibrit sistemler genellikle bilgilere dinamik erişim sağlayan harici bellek bileşenleri içerir. Bu durum, ajanın hem kalıcı bilgileri korumasına hem de güncel içerikleri geri çağırmasına olanak tanır. Ajan düzeyinde bu, bir LLM'nin ince ayar yoluyla doğrudan belirli bilgilere sahip olabileceği ve aynı zamanda belirli içerik gerektiğinde harici bir veri tabanını sorgulayabileceği anlamına gelir.

Sembolik + Nöral bellek:

Ajan, yapılandırılmış veriler için (örneğin, form benzeri alanlardaki isim, yaş) sembolik belleği ve yapılandırılmamış konuşmalar veya uzun metinler için nöral, vektör tabanlı belleği kullanabilir. Bu yöntem özellikle kullanıcı profili bilgilerini konuşma geçmişinden ayırırken kullanışlıdır.

Özetleme + Vektör bellek:

Sistem, her günün etkileşimlerini özetleyerek ve bu özetleri bir vektör veri tabanında saklayarak, ham konuşmalar yerine kısa ve anlamlı girdiler tutar. Bu, uzun vadeli geçmişleri yönetmeyi kolaylaştırır.

Bellekle ilgili belirli bir zorluğu çözen her türlü kombinasyon geçerlidir. Geliştiriciler genellikle yaratıcı hibrit çözümler üretirler. Örneğin, kesin sorgular için olgusal bilgiler bir bilgi grafiğinde saklanabilir, genel etkileşim geçmişi ise vektör belleğe kaydedilebilir. Bir sorgu alındığında, ajan önce bilgi grafiğini arayabilir ve ardından vektör bellekten ilgili bağlamsal bilgileri getirebilir.

Birden fazla LLM içeren hibrit modeller:

Ortaya çıkan bir diğer hibrit teknik de birden fazla LLM'yi birlikte kullanmaktır. Örneğin, daha küçük bir model konuşmaları sürekli izleyip özetler oluştururken, daha büyük bir model aktif diyaloğu yönetebilir. Bu iş bölümü sistem verimliliğini artırır. Küçük model, arka planda belleği güncelleyerek neredeyse bilinçaltı bir süreç gibi çalışır. Microsoft'un AutoGen iskeleti bu tür çoklu ajan yapılarını destekler.

Uygulama Senaryoları

Teknik açıdan bakıldığında, ideal bellek entegrasyon çözümü projenin bağlamına ve gereksinimlerine bağlıdır. Örneğin:

  • Kurumsal Bilgi Tabanları: RAG tabanlı ajanlar

  • Kişiselleştirilmiş Asistanlar: Hibrit sistemler

  • Uzun Vadeli Etkileşimli Uygulamalar: Özetleme ile desteklenen uzun vadeli bellek modelleri

Hibrit sistemlerin yükselişi, LLM ajanlarının farklı tekniklerin güçlü yönlerini birleştirerek daha akıllı, daha verimli ve kullanıcı odaklı bellek çözümleri sunmasını sağlıyor. Bu eğilim, yapay zeka sistemlerinin geleceğinde bellek mimarisinin artan önemini vurgulamaktadır.