Ana içeriğe geç

Hafıza Bir Yazma Politikası Sorunudur: Saklama, Köken ve Hatırlamanın Maliyeti

Çoğu agent hafıza hatası geri çağırma aşamasında değil, yazma anında ortaya çıkar. Köken, hassasiyet sınıfları ve şema düzeyinde sona erme, bunları daha erken ve daha ucuza çözer.

Şikago şehir merkezinde sütunlar ve bayraklarla zarif neoklasik cephe.

Hafıza tasarımındaki asimetri

Agent hafıza yığınları genellikle arama motorlarıyla aynı şekilde değerlendirilir: geri çağırma kıyaslamaları, embedding kalitesi, yeniden sıralama gecikmesi. Yazma yolu çok daha az dikkat çeker. Ancak her geri çağırma hatasının yukarı akışta bir nedeni vardır ve incelediğimiz çoğu üretim olayında neden, asla saklanmaması gereken bir şeyin yazılması veya daha sonra ne yapılacağına karar vermek için gereken meta veriler olmadan saklanmasıdır.

Geri çağırma kıyaslanır çünkü kıyaslaması kolaydır. Sabit bir derlem, bir sorgu kümesi, bir sıralama metriği. Alım işlemini puanlamak daha zordur çünkü doğruluk bağlama bağlıdır: aynı cümle bir turda kalıcı bir tercih, diğerinde gelişigüzel bir sözdür. Bu nedenle ekipler alımı ince bir ekleme çağrısı olarak sunar ve yargıyı geri çağırma zamanına erteler; oysa bu yargıyı vermek için gereken bilgi çoktan atılmıştır.

Sonuçlar çoğu ekibin beklediğinden farklı sıralanır. Aşırı hatırlayan bir agent, doğruluğunu bozmadan önce gizlilik duruşunu bozar. Kullanıcının tesadüfi bir açıklamasını saklamak, yanıt kalitesini hemen değiştirmez; daha sonraki bir ihlalin, bir mahkeme celbinin, bir destek dışa aktarımının veya bir model sağlayıcı günlüğünün etki alanını değiştirir. Doğruluk erozyonu daha yavaş izler, çünkü eski ve çelişkili girdiler geri çağırma sırasında rekabet eder.

Silme en net semptomdur. Çoğu hafıza aracı silmeyi sonradan düşünülen bir şey olarak ele alır — bir vektör deposunda satır kaldırma, embedding'in bir dizin segmentinden gittiğinin, girdiden türetilen bir özetin gittiğinin veya aşağı akış önbelleğinin geçersiz kılındığının garantisi olmadan. Silmenin desteklenmediği durumlarda saklama, seçilmiş değil kazara hale gelir.

Bir yazma politikası arayüzü

Çözüm, yazma yolunu ekleme yerine bir politika sınırı haline getirmektir. İşin çoğunu üç özellik yapar.

Her yazmada köken

Her hafıza girdisi bir köken kaydı taşımalıdır: hangi konuşma turunun ürettiği, hangi tool call'un sağladığı, hangi kullanıcı rızasının kapsadığı ve hangi agent kimliğinin yazdığı. Bu denetim süsü değildir. Köken, daha sonraki bir silme talebinin kesin olarak yanıtlanmasını sağlayan şeydir — yalnızca orijinali değil, türetilmiş girdileri de bulabilirsiniz — ve eski bir girdi kararları bozmaya başladığında onu tanıtan tura kadar izlemenizi sağlar.

A legal professional's workspace featuring Lady Justice statue, documents, and a laptop.

Kalıcılıktan önce bir doğrulama adımı olarak ifade edilen minimal bir şema:

MemoryWrite = {
    "content": str,
    "provenance": {
        "turn_id": str,
        "tool_call_id": str | None,
        "consent_ref": str | None,
        "writer": str,          # agent or component identity
        "written_at": datetime,
    },
    "sensitivity": Literal["public", "internal", "personal", "restricted"],
    "retention": {
        "expires_at": datetime | None,
        "basis": Literal["session", "consent", "contract", "indefinite"],
    },
    "redaction": {
        "state": Literal["none", "applied", "required"],
        "fields": list[str],
    },
}

Doğrulamadan geçemeyen yazmalar sınırda reddedilir. Bunları reddetmek için en ucuz yer burasıdır: girdi henüz embed edilmemiş, dizinlenmemiş, özetlenmemiş veya çoğaltılmamıştır.

Sınıf başına saklama ile hassasiyet sınıfları

Saklama, global bir varsayılan değil, sınıfın bir fonksiyonu olmalıdır. Dokümantasyondan çıkarılan bir kamuya açık gerçek ile konuşmada gönüllü olarak verilen kişisel bir ayrıntı aynı ömre ihtiyaç duymaz. Saklamayı sınıf başına atamak, politikanın bir kez gözden geçirilip her yerde uygulanmasını sağlar; her özellikte yeniden tartışılmasını değil.

Ödünleşim gerçektir. İnce taneli sınıflar, bir yazma yolunun vermesi gereken karar sayısını artırır ve her ek karar, bir agent'ın yanlış yapabileceği bir yerdir. Muhafazakâr bir varsayılan — daha kısa saklama, daha yüksek hassasiyet — maruziyeti azaltır ama agent'ın kullanıcıların hatırlamasını beklediği bağlamı hatırlama yeteneğini de azaltır. Bu gerilimi önleyen bir ayar yoktur; mesele gerilimi bir ekleme çağrısında örtük bırakmak yerine açık ve gözden geçirilebilir kılmaktır.

Şemada redaksiyon ve sona erme

Redaksiyon ve sona erme genellikle depoyu tarayan periyodik işler olarak uygulanır. Tarama hafıza için kötü bir uyumdur çünkü geriye dönüktür: girdi vardır, okunmuştur, özetlenmiş olabilir ve tarama çalışmadan önce bir kararı etkilemiş olabilir. Her ikisini de şemaya taşımak

Somut olarak, sona erme okuma zamanında değerlendirilen bir yüklem ve yazma zamanında bir sıkıştırma tetikleyicisi olabilir; böylece süresi dolmuş bir girdi asla döndürülmez ve bir sonraki geçişte geri kazanılır. Redaksiyon, saklanan içeriği yeniden yazan ve girdinin tanımlayıcısına bağlı türetilmiş özetleri geçersiz kılan bir durum geçişi olabilir. Hiçbiri ayrı bir sistem gerektirmez; her ikisi de şemanın bunları öngörmüş olmasını gerektirir.

Detailed view of the Westminster Palace showcasing its Gothic architecture, London, England.

Hafızayı dürüstçe değerlendirmek

Hafıza değerlendirmesi, yazma politikasının sağladığını iddia ettiği özellikleri ölçmelidir.

Geri çağırmanın kesinliği, hacim değil. Daha fazla bağlam döndüren bir hafıza sistemi daha iyi değildir; daha büyüktür. Geri çağrılan girdilerin kararla ilgili olan kısmını ve geri çağrılan bir girdi kaldırılsaydı değişecek kararların kısmını ölçün. Hacim metrikleri aşırı hatırlamayı ödüllendirir; ele alınan hata modu da budur.

Yalnızca ekleme sonrası değil, silme sonrası davranış. Hafıza için test paketleri tipik olarak ekler, sorgular, doğrular. Nadiren siler, sonra sorgular, sonra silinen içeriğin doğrudan geri çağırmada, özetlerde ve önbelleğe alınmış herhangi bir bağlamda bulunmadığını doğrular. Yalnızca birincil depoyu kontrol eden bir silme testi, türetilmiş artefaktlar içeriği tutarken geçer.

Eski girdilerin etkisi. Kullanım ömrünü doldurmuş girdilerin hâlâ mevcut çıktıları etkileyip etkilemediğini izleyin. İşe yarar bir mekanizma karşıolgu probudur: kararlardan bir örneklemi süresi dolmuş veya düşük güvenli girdiler maskelenmiş olarak yeniden çalıştırın ve karşılaştırın. Sapma, saklamanın tazeliğin yapması gereken işi yaptığını gösterir.

Bu testler bir geri çağırma kıyaslamasından daha yavaş ve daha az tatmin edicidir ve model değişiklikleri yerine politika değişiklikleri gerektiren bulgular üretir. Dürüst ödünleşim budur: yazma politikası işi yukarı akışta, kesişen ve tek bir metriğe atfedilmesi daha zor olduğu için genellikle bir olay onu zorlayana kadar ertelenir.

Bu pratikte neyi değiştirir

Hafızayı bir yazma politikası sorunu olarak ele almak, mühendislik çabasının nereye gittiğini değiştirir. Alım sınırı, köken, hassasiyet ve saklamanın birinci sınıf alanlar olduğu doğrulanmış bir arayüz haline gelir. Silme, türetilmiş veriler için tanımlanmış anlamlarla desteklenen bir işlem olur. Değerlendirme, yalnızca okuma yolunu değil tüm yaşam döngüsünü kapsar.

Bunların hiçbiri yeni bir hafıza mimarisi gerektirmez. Depolama anında neyin, kimin adına, ne kadar süreyle saklandığına ve nasıl kaldırılacağına karar vermeyi gerektirir. İyi hatırlayan agent'lar en büyük depolara sahip olanlar değil; depoları yalnızca sistemin tutmayı gerekçelendirebileceği girdileri içerenlerdir.

İlgili okumalar

Bunun yanıtladığı sorular

Why is write policy more important than retrieval quality in agent memory?

Retrieval can only work with what was stored. If ingestion writes entries without provenance, sensitivity or retention metadata, no reranker can recover that information later. Fixing the write path prevents the failure rather than compensating for it at read time.

What fields should every memory write carry?

At minimum: provenance (turn, tool call, consent reference, writer identity), a sensitivity class, a retention basis with an optional expiry, and a redaction state. These allow deletion requests to be answered precisely and stale entries to be traced to their source.

Why are periodic redaction and expiry jobs insufficient?

Sweeps are retrospective. By the time a sweep runs, the entry may already have been retrieved, summarised and used in a decision. Schema-level expiry and redaction enforce the policy at read and compaction time, so expired or redacted content is never returned.

How should memory systems be evaluated beyond recall benchmarks?

Measure precision of recall rather than volume, test behaviour after deletion requests including derived artefacts, and probe how much expired or low-confidence entries still influence current decisions. These tests surface policy defects that recall benchmarks do not.