3 puan yazan baeba 3 시간 전 | Henüz yorum yok. | WhatsApp'ta paylaş

Özet genel bakış

  • Amaç

    • AI ajanlarının konuşma ve belgelerden gerekli bilgileri otomatik olarak çıkarıp uzun vadeli olarak saklamasını ve geri getirmesini destekleyen bir bellek çerçevesi
  • Temel tasarım

    • Tam özgün metin olan Memory value aynen korunur, aramada ise Primary abstraction ve Cue anchors kullanılır
  • Başlıca farklar

    • Tüm özgün metni doğrudan gömen yaygın RAG yaklaşımına kıyasla bilgi kaybını ve arama belirsizliğini azaltmayı hedefleyen bir yapı
  • Başlıca özellikler

    • Otomatik bellek çıkarımı, tekilleştirme, birleştirme ve güncelleme, anlamsal arama, anahtar kelime araması, LLM tabanlı çok aşamalı arama desteği
  • Hedef kullanım alanları

    • Uzun süreli etkileşimli yapay zeka, çok ajanlı sistemler, kişiselleştirilmiş hizmetler, belge tabanlı bilgi yönetimi
  • Mevcut durum

    • Python tabanlı, MIT lisanslı açık bir proje; benchmark ve deneysel özellikler içeriyor ancak ilk duyuru aşamasına yakın

Giriş

Ajan bellek yönetiminin karmaşıklığını çözmek

  • Mevcut AI ajanı geliştirmede geliştiricilerin aşağıdaki sorunları doğrudan ele alması gerekir

    • Hangi bilginin bellek olarak saklanacağına karar vermek
    • Saklanan bilgilerin ne zaman güncelleneceğini veya silineceğini belirlemek
    • Kullanıcı sorusuyla ilgili anıları geri getirmek
    • Yinelenen veya çelişen anıları yönetmek
  • Memora, bu bellek yaşam döngüsünü çerçevenin içinde ele almayı amaçlıyor

  • Geliştiriciler, düşük seviyeli saklama ve arama mantığından çok ajanın görev yeteneklerine ve yanıt üretimine odaklanabiliyor

Mevcut bellek yapılarının sınırlamaları

  • Tipik RAG sistemleri

    • Belgeyi veya konuşma metnini belirli boyutlarda parçalara ayırır
    • Her parçayı gömerek bir vektör veritabanında saklar
    • Soruyla anlamsal olarak yakın parçaları arar
  • Bu yöntem uygulaması kolay olsa da aşağıdaki sorunlara yol açabilir

    • Uzun bağlam birden fazla parçaya bölünebilir
    • Benzer ifadelerdeki bilgiler yinelenerek saklanabilir
    • Basit anlamsal benzerlik, gerçek soru niyetiyle örtüşmeyebilir
    • Yalnızca sıkıştırılmış özetler saklanırsa ayrıntılar kaybolabilir
  • Grafik tabanlı bilgi tabanları ilişki gösteriminde avantajlı olsa da şema ve ilişki yapısını sürekli yönetme yükü taşır


Ana bölüm

Özgün metin ile arama yapısını ayırmak

  • Memora’daki her bellek üç bileşenden oluşur

Memory value

  • Fiilen saklanan tam bilgi
  • Özgün metin ve ayrıntılar sıkıştırılmadan korunur
  • Arama indeksine doğrudan dahil edilmez
  • Bilgi kaybı olmadan özgün bağlamı koruma rolünü üstlenir

Primary abstraction

  • İlgili belleğin ne hakkında olduğunu gösteren temsili özet
  • Her bellek için bir tane üretilir
  • Arama, güncelleme, birleştirme ve tekilleştirme için ölçüt olarak kullanılır
  • Belleğin kimliğini gösteren standart birim olarak işlev görür

Cue anchors

  • Tek bir belleğe erişmeyi sağlayan birden çok anlamsal ipucu
  • Kişi, nesne, olay, temel özellik gibi öğelerin birleşiminden oluşur
  • Tek bir anıya birden fazla ipucu bağlanabilir
  • Birden çok anı aynı ipucunu paylaşan çoktan çoğa bir yapı oluşturur

Arama hedeflerinin seçici olarak indekslenmesi

  • Memora, tüm özgün metni doğrudan indekslemez

  • Gerçek aramada yalnızca şu bilgiler kullanılır

    • Primary abstraction
    • Cue anchors
  • Arama tamamlandığında bağlı özgün Memory value döndürülür

  • Bu yapının amacı

    • Arama ifadesi ile fiili saklanan bilgiyi ayırmak
    • Arama indeksini sade tutmak
    • Özgün metnin ayrıntılarını olduğu gibi korumak
    • Özgün metin gömmesinden kaynaklanabilecek anlamsal gürültüyü azaltmak

RAG ile grafik yapı arasında bir orta form

  • Genel RAG’e göre daha yapılandırılmış arama ipuçları sunar

  • Grafik veritabanlarında olduğu gibi tüm ilişkileri katı bir şemayla tanımlamaz

  • Belleğin üzerine bir soyutlama katmanı ekleyerek esneklik ve yapısallığı aynı anda elde etmeye çalışan bir yaklaşım

  • Temel yönelim

    • Özgün metin serbest biçimde saklanır
    • Arama ve bağlantı için yapılandırılmış gösterimler kullanılır
    • Saklama yapısı ile arama yapısı birbirinden bağımsız yönetilir

Bellek oluşturmadan yanıta kadar işleme akışı

1. Bellek toplama

  • Ajan konuşmayı veya belgeyi işler

  • İçerikten aşağıdaki bilgiler otomatik olarak çıkarılır

    • Olgusal bilgi
    • Olaylar ve deneyimler
    • Prosedürler ve çalışma yöntemleri
  • Uzun konuşmalar konu bazlı bölümlere ayrılır

  • Temel bilgiler yapılandırılmış bellek girdilerine dönüştürülür

2. Akıllı saklama

  • Varsayılan depolama olarak ChromaDB vektör veritabanı kullanılır

  • Anlamsal embedding ile bellekler saklanır

  • Yeni bilgi girildiğinde mevcut belleklerle karşılaştırılır

  • Benzer veya yinelenen bilgiler için aşağıdaki işlemler yapılır

    • Tekilleştirme
    • Mevcut anıyla birleştirme
    • Eski bilgiyi güncelleme
  • İsteğe bağlı olarak yapılandırılmış aramayı desteklemek için Cue index oluşturulabilir

3. Uyarlanabilir arama

  • Soru tipine ve ayarlara göre birden fazla arama stratejisi sunulur
Semantic arama
  • Soru ile bellek gösterimi arasındaki vektör benzerliği hesaplanır
  • Uygulaması basittir ve genel sorulara uygulanabilir
  • İfade farklı olsa bile anlamsal olarak benzer bilgileri bulabilir
Prompted arama
  • LLM arama sürecini adım adım yürütür
  • İlk arama sonuçlarına dayanarak arama terimi ve arama kapsamı yinelemeli olarak ayarlanır
  • Karmaşık sorular veya birden çok anının birleştirilmesini gerektiren sorular için uygundur
  • Ek LLM çağrıları gerektirdiğinden maliyet ve yanıt süresi artabilir
Hybrid arama
  • Vektör tabanlı anlamsal arama ile BM25 ve anahtar kelime aramasını birleştirir
  • Anlamsal benzerlik ile tam sözcük eşleşmesini birlikte kullanır
  • Özel isimler, ürün adları, kodlar, tarihler gibi öğelerin aramada kaçırılmasını azaltmada avantajlıdır
GRPO arama
  • Pekiştirmeli öğrenmeyle eğitilmiş bir arama politikası kullanır
  • Soru için gerekli belleğin nasıl seçileceğini bizzat öğrenir
  • LLM tabanlı yinelemeli aramayı yerel ince ayarlı bir modelle değiştirmeyi hedefler
  • Şu anda deneysel özellik olarak sınıflandırılıyor

4. Yanıt üretimi

  • Geri getirilen bellekler belirli bir biçimde düzenlenir
  • Bu içerik LLM prompt’una eklenir
  • LLM, soruyu ve geri getirilen anıları birlikte kullanarak yanıt üretir
  • Yanıtın saklanan belleklere dayanması teşvik edilir

Bellek kalitesini koruyan yönetim işlevleri

  • Sadece durmadan bellek ekleyen düz depolardan farklı olarak mevcut belleklerin durumunu yönetir

  • Başlıca yönetim işlevleri

    • Yinelenen anıları kaldırma
    • Benzer anıları birleştirme
    • Değişen olguları güncelleme
    • Bellek yapısını yeniden düzenleme
  • Primary abstraction, bellek güncelleme ve birleştirme için ölçüt olarak kullanılır

  • Zamanla belleklerin sınırsız şekilde yinelenerek birikmesi sorununu azaltmayı hedefler

Farklı bellek türleri desteği

  • Bellek değeri ve soyutlama biçimi farklı kurgulanarak çeşitli anı türleri ifade edilebilir

Olgusal bellek

  • Kişi, yer, özellik, ayar gibi görece istikrarlı bilgiler
  • Örnek: belirli bir kullanıcının çalışma yeri, tercih ettiği araçlar, projenin teknoloji yığını

Epizodik bellek

  • Belirli bir zamanda yaşanan olay veya konuşma
  • Örnek: geçmiş bir toplantıda alınan kararlar, belirli bir hatanın çözülme süreci

Prosedürel bellek

  • Çalışma yöntemi veya tekrarlanabilir prosedürler
  • Örnek: sunucu dağıtım prosedürü, hata kontrol sırası, belge oluşturma kuralları

Çok ajanlı bellek paylaşımı ve izolasyonu

  • Aynı ortamda çalışan birden fazla ajan ortak bir bellek alanı kullanabilir

  • Bir ajanın sakladığı bilgi başka bir ajan tarafından yeniden kullanılabilir

  • Bellek kapsamı ajan veya rol bazında sınırlandırılabilir

  • Beklenen etkiler

    • Ajanlar arasında bilgi tekrarını azaltma
    • Görev devrini iyileştirme
    • Ortak proje bilgilerinde tutarlılığı koruma
  • Erişim kontrolü ve izolasyon işlevleri sayesinde seçici paylaşımı ve kişisel verilerin korunmasını destekleyen bir yapı

Depolama altyapısı ile gösterim yapısının ayrılması

  • Bellek gösterim biçimi belirli bir depoya güçlü biçimde bağımlı olmayacak şekilde tasarlanmış

  • Proje yapısında aşağıdaki veritabanı bağlantıları yer alıyor

    • ChromaDB
    • Redis
  • Yerel veya uzak depolama ortamlarına uygulanabilir

  • Depolama arka ucu değişse bile belleğin soyutlama ve ipucu yapısı korunabilir


Temel kullanım biçimi

  • Python 3.10 veya üzeri gerekir
  • GitHub deposu klonlandıktan sonra paket kurulur
  • MemoraClient oluşturulur ve kullanıcı ya da ajan tanımlayıcısı belirtilir
  • add() kullanılarak konuşma veya belge belleğe eklenir
  • query() kullanılarak anlamsal arama yapılır
  • advance_query() kullanılarak Prompted veya GRPO türünde gelişmiş arama yapılır

Ajan entegrasyon yapısı

  • Kullanıcı mesajı geldiğinde önce ilgili bellekler geri getirilir

  • Geri getirilen sonuçlar ve kullanıcı sorusu kullanılarak yanıt üretilir

  • Üretilen yanıt ile kullanıcı mesajı tek bir konuşma kaydı olarak yapılandırılır

  • Bu konuşma yeniden Memora’ya kaydedilir

  • Yinelenen süreç

    • Soru alma
    • İlgili anıları geri getirme
    • Yanıt üretme
    • Konuşmayı kaydetme
    • Sonraki sorularda yeniden kullanma

Uzun vadeli bellek performansının değerlendirilmesi

LoCoMo benchmark

  • Uzun süre devam eden konuşmalarda bellek geri getirme yeteneğini değerlendirir

  • Başlıca değerlendirme türleri

    • Tek aşamalı sorular
    • Birden fazla bilgiyi birleştiren çok aşamalı sorular
    • Zaman ilişkili sorular
    • Açık uçlu sorular
  • Semantic, Prompted, Cue index gibi bileşimler denenebilir

LongMemEval benchmark

  • Uzun vadeli bellek sistemlerinin çeşitli soru işleme yeteneklerini değerlendirir
  • Epizodik bellek ve anlamsal arama ayarları uygulanabilir
  • Gerçek uzun süreli konuşma ortamlarında bilgi koruma ve arama performansını doğrulamak için kullanılır

GRPO tabanlı arama politikası eğitimi

  • Arama prosedürünü bir pekiştirmeli öğrenme politikası olarak öğreten deneysel özellik

  • İşleme adımları

    • Mevcut politikayla arama yolu üretme
    • Arama sonuçlarının gerekçelilik, tekrar ve maliyet açısından değerlendirilmesi
    • Grup göreli avantajının hesaplanması
    • GRPO yöntemiyle arama politikasının eğitilmesi
  • Qwen 3B veya 7B ailesi modeller ile LoRA ince ayarı örnek olarak sunuluyor

  • Eğitim için GPU gerekir

  • Hedefler

    • Her aramada dış LLM çağırma maliyetini azaltmak
    • Belirli veri ve iş yüküne optimize edilmiş arama stratejileri kurmak
  • Sınırlamalar

    • Eğitim verisi ve değerlendirme ölçütleri gerekir
    • Model eğitimi ve operasyon yönetimi ek yük getirir
    • Genel kullanıcıların hemen uygulaması için Semantic aramaya göre daha karmaşıktır

Başlıca avantajlar

  • Özgün metindeki ayrıntıları sıkıştırmadan koruyabilir
  • Arama için kullanılan gösterim ile gerçek bilginin ayrılması sayesinde bellek yapısı nettir
  • Bellek tekilleştirme ve güncelleme sistematik biçimde ele alınabilir
  • Anlamsal arama, anahtar kelime araması, LLM araması ve pekiştirmeli öğrenme tabanlı arama arasında seçim yapılabilir
  • Olgusal, epizodik ve prosedürel bellek tek bir çerçevede yönetilebilir
  • Birden fazla ajan aynı belleği paylaşabilir
  • Mevcut ajan sistemlerine görece az değişiklikle entegre olmayı hedefler
  • Hem yerel hem uzak depolama yapılarını destekleyebilir

Yapısal sınırlamalar ve dikkat noktaları

  • Primary abstraction ve Cue anchors kalitesi arama performansını doğrudan etkiler
  • Otomatik üretilen soyutlama hatalıysa özgün metin doğru olsa bile aramada gözden kaçabilir
  • Özgün metni doğrudan indekslemeyen yapı, ayrıntılı ifadeler veya seyrek bilgiler için aramada dezavantajlı olabilir
  • Tekilleştirme ve birleştirme sürecinde farklı olaylar yanlışlıkla tek bir anıda birleştirilebilir
  • Prompted arama, birden fazla LLM çağrısı nedeniyle maliyet ve gecikmeyi artırabilir
  • GRPO yaklaşımı GPU, eğitim verisi ve değerlendirme sistemi gerektirdiğinden operasyonel karmaşıklığı yüksektir
  • Çok ajanlı paylaşımlı belleklerde erişim yetkileri ve bilgi izolasyonu açık biçimde tasarlanmalıdır
  • Kişisel veri veya hassas konuşmalar saklanacaksa ayrıca şifreleme, silme ve saklama politikaları gerekir
  • Açık depoda bir release yok ve katkıcı ile kullanım göstergeleri az; bu nedenle büyük ölçekli işletim kararlılığının yeterince doğrulandığını söylemek zor

Sonuç

Yapılandırılmış erişim katmanı ekleyen uzun vadeli bellek yaklaşımı

  • Memora, tüm özgün metni basitçe vektörleştiren yaklaşımın ötesine geçerek şu yapıyı öneriyor

    • Ayrıntılar Memory value içinde korunur
    • Temsili anlam Primary abstraction ile ifade edilir
    • Çeşitli arama yolları Cue anchors ile oluşturulur
  • Temel değer önerisi, bilgi koruma ile arama verimliliği arasındaki dengede yatıyor

  • Basit belge aramasına kıyasla aşağıdaki ortamlarda kullanım potansiyeli daha yüksek

    • Uzun süre kullanıcıyla etkileşen kişiselleştirilmiş ajanlar
    • Çok sayıda geliştirme ve iş belgesini sürekli biriktiren sistemler
    • Farklı rollerdeki ajanların bilgiyi paylaştığı ortamlar
    • Geçmiş kararların ve çalışma prosedürlerinin yeniden kullanılması gereken projeler

Devreye almadan önce doğrulama gerekli

  • Gerçek uygulamada öncelikle şu unsurlar doğrulanmalı

    • Türkçe olmayan belgelerde soyutlama ve Cue üretim kalitesi
    • Mevcut RAG ile karşılaştırıldığında arama doğruluğu
    • Bellek birleştirme sürecindeki hata oranı
    • Uzun süreli kullanımda veri büyümesi ve arama hızı
    • LLM ve embedding API maliyetleri
    • Kişisel veri saklama ve erişim kontrol yöntemi
  • İlk aşamada temel belgelerin bir kısmı üzerinde küçük ölçekli bir PoC yapıp, performansı genel RAG ve hibrit arama yöntemleriyle karşılaştırmak uygun bir yaklaşım olur

Henüz yorum yok.

Henüz yorum yok.