Ajanlarda Hafıza: Ne Tutulur, Ne Sıkıştırılır, Ne Atılır
Bir dil modeli çağrısında hafıza yoktur. Her tur taze bir istektir ve modelin bildiği tek şey bu sefer bağlama koyduğunuzdur. İnsanların "ajan unuttu" ya da "uzun koşuda kötüleşti" diye tarif ettiği her şey, kodunuzun ne taşıyacağına dair verdiği bir karardır.
Bunu kabul ettiğinizde hafıza tasarımı tanıdık bir mühendislik problemine dönüşür: her zaman ilgili olan ne, yakın zamanda ilgili olan ne, özetlenebilecek olan ne ve saklanmak yerine taze getirilmesi gereken ne.
Dört katman#
| Katman | İçerik | Budanır mı? | Tipik boyut |
|---|---|---|---|
| Sabitlenmiş | Hedef, kısıtlar, kullanıcı kimliği, politika | Asla | 200–500 token |
| Yakın | Son birkaç tur, araç sonuçlarıyla birebir | Kayan pencere | 2–5 tur |
| Sıkıştırılmış | Eski turlar kısa olgusal not olarak | Büyüdükçe yeniden yazılır | 500 token altı |
| Getirilmiş | Bu adım için çekilen belge ve kayıtlar | Kullanımdan sonra atılır | Adım başına |
Düzyazıyı değil olguları sıkıştırın#
Yaygın hata, eski turları anlatı olarak özetlemektir — kullanıcı siparişini sordu, ajan baktı. Bu güzel okunur ve hiçbir işe yaramaz. Sonraki bir adımın ihtiyaç duyabileceği olgulara sıkıştırın: sipariş 4471, durum kargoda, müşteri iade istedi, iade politikası 30 gün, henüz iade yapılmadı. Yapılı, kontrol edilebilir ve onda biri boyutunda. Sonraki adım bir karar verecekse, sıkıştırma o kararın girdilerini korumak zorundadır; korumuyorsa tek işinde başarısız olmuştur.
Her turda değil, bir eşikte sıkıştırın. Bir özeti tekrar tekrar özetlemek, ayrıntıların sessizce kaybolma biçimidir.
Getirim hafıza değildir#
Bilgi tabanından çekilen belgeler, onlara ihtiyaç duyan adıma aittir. O adım bittikten sonra onları koşan bağlamda tutmak, şişkin, pahalı ve dikkati dağılmış bir koşuya giden en hızlı yoldur. Getir, kullan, kaynak göster, at — ve sonraki bir adım aynı bilgiye ihtiyaç duyarsa yeniden getir. Getirim ucuzdur; bayat belgelerle dolu bir bağlam değil.
Oturumlar arasında kalıcı hafıza#
Uzun ömürlü ajanlar bir kullanıcı ya da hesap hakkında gerçekten faydalı olgular biriktirir: tercihler, önceki kararlar, değişmeyecek kısıtlar. Bunları konuşma geçmişinin yığılmasına izin vererek değil, açık bir yazma adımıyla küçük ve yapılı bir kayıtta bilerek saklayın. Üç kural sağlıklı tutar: yalnız gelecek bir koşunun göre hareket edeceği olguları yazın, her olgunun nereden geldiğini kaydedin ve her olguya bir son kullanma ya da gözden geçirme tarihi verin. Kaynağı ve süresi olmayan kalıcı hafıza, yavaşça çürüyen bir kendinden emin hata kaynağına dönüşür.
- Bilerek yazın — sohbetin yan etkisi değil, bir araç çağrısı olarak.
- Her olgunun yanına kaynağını ve tarihini saklayın.
- Kayıt boyutunu sınırlayın ve kullanılmayanı süresi dolunca atın.
- Kullanıcının, hakkında saklananı görmesine ve düzeltmesine izin verin.
Belirtiler ve sebepleri#
| Belirti | Olağan sebep |
|---|---|
| Koşunun başındaki bir kısıtı unutuyor | Kısıt sabitlenmemiş; geçmişle birlikte budanmış |
| Birkaç adımdan sonra kalite düşüyor | Bağlam bayat araç çıktısıyla seyrelmiş |
| Tamamlanmış bir adımı tekrarlıyor | Sonuç, bir sonuç işareti bırakılmadan özetlenip atılmış |
| Koşu uzadıkça maliyet tırmanıyor | Getirilen belgeler atılmak yerine birikiyor |
| Güncelliğini yitirmiş bir şeyi kendinden emin söylüyor | Kalıcı hafızada süre ve kaynak yok |
Sık sorulan sorular
Geçmişin ne kadarını birebir tutmalıyım?
Üç ila beş tur, bağlamı ele geçirmeden muhakemenin çoğunu karşılar. Araç sonuçlarını çağrılarına iliştirin ve daha eskisini sessizce atmak yerine yapılı olgulara sıkıştırın.
Ajan hafızası için vektör veritabanı kullanmalı mıyım?
Belge getirmek için çoğu zaman evet. Tek bir koşunun anlık durumu için hayır — o, kendi deponuzdaki küçük ve yapılı bir nesnedir. İkisini karıştırmak hem bulanık bir durum makinesi hem odaksız bir arama indeksi üretir.
Kalıcı hafızanın bayatlamasını nasıl önlerim?
Saklanan her olguya kaynak, tarih ve süre verin ve ikisi de varsa ajanın taze getirilmiş veriyi tercih etmesini sağlayın. Saklanan kaydı kullanıcıya açın ki yanlış olgular sessizce tekrarlanmak yerine düzeltilebilsin.
ai ajan hafızasıbağlam yönetimikonuşma özetlemekalıcı ajan hafızasıllm bağlam penceresi