Çoğu yapay zeka ajanı mükemmel bir hatırlama kapasitesine sahiptir ancak neyin hatırlanmaya değer olduğu konusunda berbat bir muhakeme yeteneğine sahiptir. Binlerce sayfayı işleyebilirler, ancak kimse onlara ilgisiz kısımları unutmayı öğretmediği için kendi bağlamları içinde boğulurlar. Knowledge and Memory Management sürüm 0.0.2 tam olarak bunu çözmek için inşa edildi. Bu küçük bir yama değil. Bir ajanın bildiklerini nasıl sakladığını, taşıdığını ve önceliklendirdiğini yeniden düşünüyor.

Bellek Sorunu

Ajanlar rutin olarak her metin parçasını kutsal kabul eder. Ham bir web sayfası; navigasyon menüleri, çerez banner'ları ve alt bilgi (footer) bağlantılarıyla birlikte depolamaya atılır. Bir video transkripti; her "ee", zaman damgası ve sponsor okumasıyla birlikte eksiksiz gelir. Bir makale, gerçek içgörüden ziyade reklam metni işaretlemeleri (markup) taşıyor olabilir. Geri çağırma (retrieval) gerçekleştiğinde, sistem sinyali bulmak için tüm bu gürültünün içinden süzülür. Bu israf iki yerde kendini gösterir: bağlam pencereniz (context window) çöplerle daralır ve anlamsız metinleri işlemek ve gömmek (embed) için ödeme yaptığınızdan altyapı faturanız artar.

Ölçeklendirme sorunu da bir o kadar sinir bozucudur. Erken aşamadaki ajanların çoğu, sabit kodlanmış (hardcoded) yollar aracılığıyla tek bir makineye bağlıdır. Projeyi dizüstü bilgisayarınızdan bir sunucuya veya bir VPS'den diğerine taşıdığınızda, bozuk referansları düzeltmek için bir öğleden sonranızı yapılandırma dosyalarını grep yaparak geçirirsiniz. Ajan artık bir yazılım olmaktan çıkar ve sadece tek bir odada var olabilen kırılgan bir sanat enstalasyonuna dönüşür.

V0.0.2'de Neler Değişti

Bu sürüm her iki sorunu da doğrudan ele alıyor. Taşınabilir bir yol şeması ve bilgi henüz belleğe ulaşmadan onu temizleyen birleşik bir özetleme hattı (summarization pipeline) sunuyor. Sonuç; taşınması daha kolay ve çalıştırılması daha ucuz bir ajandır.

Altyapınızla savaşmayı bırakırsınız. Sınırlı bağlama şişkin belgeler doldurmayı bırakırsınız. Ajan sadece daha iyi hatırlar.

$AGENT_HOME ile Tasarım Gereği Taşınabilir

En pratik değişiklik, $AGENT_HOME ortam değişkeninin (environment variable) getirilmesidir. Sistemin dokunduğu her yol —bilgi tabanları, çalışma belleği, önbelleğe alınmış özetler, oturum günlükleri— bu köke göre göreceli (relative) olarak çözümlenir. Bu, tek bir satır koda dokunmadan tüm ajan dizininizi herhangi bir yere taşıyabileceğiniz anlamına gelir.

Tipik bir taşıma işlemini düşünün. Dün ajanınız /srv/ai-agent konumundaki bir DigitalOcean droplet'inde yaşıyordu. Bugün onu yerel olarak çalıştırmak veya bir ekip arkadaşınıza devretmek istiyorsunuz. Geçmişte, JSON yapılandırmalarına, Python betiklerine ve shell sarmalayıcılarına (shell wrappers) dağılmış sabit kodlanmış mutlak yollar keşfederdiniz. Bir düzine dosya boyunca sed kullanarak ilerler, parmaklarınızı çapraz yapar ve her referansı yakaladığınızı umardınız. Sürüm 0.0.2 ile bunu tamamen atlıyorsunuz. Klasörü kopyalayın, export AGENT_HOME=/your/path komutunu ayarlayın ve çalıştırın. Veri alım (ingestion) betikleri, bellek indeksi ve geri çağırma katmanı, zaten bildiklerini varsaymak yerine işletim sistemine "home"un neresi olduğunu sordukları için otomatik olarak uyum sağlar.

Bu taşınabilirlik kolaylığın ötesinde bir önem taşır. Kurulumunuzu tekrarlanabilir (reproducible) hale getirir. Bilgi dizininizi, yalnızca sizin makinenizde anlamlı olan yollarla depoyu kirletmeden versiyon kontrolünde takip edebilirsiniz. Bir ekip arkadaşınız repoyu klonlar, $AGENT_HOME değişkenini kendi dosya sistemine yönlendirir ve kendi verilerini içeri aktarır. CI hattınız (pipeline), her ortam için yapılandırmaları yeniden yazmadan yeni bir ajan başlatabilir, bir değişken ayarlayabilir ve davranışı doğrulayabilir.

Ajanı bir systemd servisi olarak çalıştırıyorsanız, değişkeni servis birimine (service unit) ekleyin. Konteyner haline getiriyorsanız (containerize), Dockerfile veya compose dosyanızda iletin. Birden fazla kabuk (shell) üzerinde çalışıyorsanız, kalıcı olması için .bashrc veya .zshrc dosyanıza ekleyin. Kurulum kasıtlı olarak sıkıcıdır, çünkü altyapı sıkıcı olmalıdır.

Üç Kaynak, Tek Bir Temizlik Hattı

Sistem bilgiyi üç spesifik kanaldan alır:

  • Web sayfaları. Bunlar HTML taslağı (boilerplate) içine sarılmış olarak gelir. Gerçek içerik; üç bin kelimelik işaretleme, navigasyon ve yorum bölümlerinin içine gizlenmiş üç yüz kelime olabilir.
  • Video transkriptleri. Konuşmadan metne (speech-to-text) çıktıları meşhur derecede kelime kalabalığı içerir. Dolgu kelimeler, tekrarlar, zaman damgaları ve konu dışı sohbetler, içgörü sağlamadan token tüketen düşük yoğunluklu bir akış oluşturur.
  • Makaleler. Formatlar büyük farklılıklar gösterir. Bazıları temiz metin yayınlar. Diğerleri ise reklamlar, bülten kayıt kutuları ve sosyal medya gömmeleri ile okuma deneyimini böler.

Versiyon 0.0.2 bunları başında beklenmesi gereken ayrı silolar olarak ele almaz. Bunun yerine, çalışma belleğine girmeden önce her üçünü de aynı özetleme katmanından geçirir. Katman; iddiaları, prosedürleri, veri noktalarını ve ilişkileri ayıklar. İnsanların doğal olarak gözden kaçıracağı gürültüyü temizler.

Özetlemenin Bir Ölçeklendirme Stratejisi Olma Nedeni

Özetlemeyi lüks bir özellik, olması güzel ama gereksiz bir şey olarak görme eğilimi vardır. Bu yanlıştır. Bir dil modeli ajanı için özetleme, bir ölçeklendirme gereksinimidir.

Bağlam pencerelerinin sınırları vardır. Bilgi getirme bütçelerinin maliyetleri vardır. Bir çerez banner'ına veya bir video sponsor okumasına harcanan her token, akıl yürütme için harcayamayacağınız bir tokendır. Ajanınız bir yanıt hazırlarken, etrafında daha fazla metin olmasıyla daha akıllı hale gelmez. Etrafında doğru metinlerin olmasıyla daha akıllı hale gelir.

Veri alımı sırasında gürültüyü ayıklayarak sistem sinyali sıkıştırır. Ajanınız, aynı bağlam bütçesi dahilinde daha geniş bir kaynak setine danışabilir. İki ham belgenin zorlandığı yere on adet damıtılmış belge sığar. Bu yoğunluk, ajanın beş kaynağı yöneten bir oyuncak prototipten, yüzlerce kaynağı yöneten bir üretim sistemine ölçeklenmesini sağlar. Bellek ayak izi yönetilebilir kalır. Alakasız örtüşmeler ortadan kalktığı için bilgi getirme kalitesi artar. Kalıplaşmış metinleri (boilerplate) gömmek ve sorgulamak için ödeme yapmayı bıraktığınız için token maliyeti düşer.

Bu, nüansları çöpe atan agresif ve kayıplı bir sıkıştırma ile ilgili değildir. Bu, boru hattına kodlanmış bir editoryal yargı ile ilgilidir. Özet; teknik detayları, özel isimleri, nedensel bağlantıları ve talimat adımlarını korur. Biçimlendirme kalıntılarını ve konuşma dolgularını kaldırır.

Başlarken

Kurulum, sistemin yolunuzdan çekilmesi amaçlandığı için kasıtlı olarak minimal tutulmuştur.

Terminalinizi açın ve kök dizini ayarlayın:

export AGENT_HOME=/your/path

Bu satırı kabuk profilinize ekleyerek kalıcı hale getirin veya ajanınızı çalıştıran orkestrasyon katmanına enjekte edin. Alttaki dizin yapısını tutarlı tutun. Ajan, klasörlerinin —ister knowledge/, memory/, summaries/ ister başka bir şey deyin— bu kök dizine göre konumlanmasını bekler. Değişken aktif hale geldiğinde, ajanı web sayfalarınıza, transkriptlerinize ve makalelerinize yönlendirin. Veri alımı ve özetleme boru hattı geri kalanını halleder.

Önceki bir versiyondan geçiş yapıyorsanız, süreç aynı derecede basittir. Mevcut verilerinizi yeni $AGENT_HOME hiyerarşisine taşıyın, değişkeni güncelleyin ve ajanın yolları doğru şekilde çözümlediğini doğrulayın. Göç betikleri yok. Veritabanı şeması güncellemeleri yok. Sadece ajanın diskte nerede yaşadığına dair tek bir doğruluk kaynağı var.

Asıl Çıkarım

Daha iyi bellek yönetimi, daha fazla veri istiflemekle ilgili değildir. Elinizdeki verileri kürate etmekle ilgilidir. Versiyon 0.0.2, taşınabilirliği ve özetlemeyi sonradan akla gelen düşünceler yerine birinci sınıf öncelikler olarak ele alır. Hiçbir şeyi bozmadan ajanı makineler arasında taşıma özgürlüğü kazanırsınız ve gerçekten bağlam içeren bir bağlam penceresinin verimliliğine sahip olursunuz.

Ana dizininizi ayarlayın. Ajanı gerçek kaynaklarla besleyin. Sistemin gereksizleri ayıklamasına izin verin. Yol hatalarını ayıklamak için daha az zaman, gürültüyü işlemek için daha az para harcayacak ve ajanın gerçekten öğrendiklerini kullanmak için daha fazla zaman ayıracaksınız.


Kaynak: https://dev.to/mage0535/thinking-1-analyze-the-request-12go

Topluluk: https://t.me/GyaanSetuAi