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.

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.

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.
