Tüm yazılar
Teknik
  • #agents
  • #memory
  • #security

Agent belleği

12.05.2026·16 dk

Agent belleği

Agent Systems · 21-c04

26 Haziran 2026 · Bellek mimarisi

Agent memory, sohbet geçmişini sonsuza kadar saklamak değildir. Doğru tasarlandığında memory; aktif görevi, geçmiş deneyimleri, dünya bilgisini, kullanıcı tercihlerini ve güvenlik sınırlarını ayrı ayrı yöneten bir okuma-yazma sistemidir.

Yanılgı
geçmiş != memory
Çekirdek
yaz / oku / güncelle
Değer
süreklilik + kişiselleştirme
Risk
stale + poisoned memory

Bu yazıdaki önemli terimler

  • working memory
  • episodic memory
  • semantic memory
  • procedural memory
  • preference memory
  • memory retrieval
  • forgetting
  • memory poisoning

Bir agent'in hafızalı olması kulağa basit gelir: konuşmaları sakla, gerektiğinde geri çağır. Üretimde ise bu tarif hızla dağılır. Neyi saklayacağız? Kim yazabilir? Ne zaman unutacağız? Çelişen iki hatıradan hangisi kazanacak? Kullanıcı “bunu unut” dediğinde hangi kayıtlar silinecek, hangi audit izi kalacak?

Bu yazının amacı memory kelimesini mistik bir yetenek olmaktan çıkarıp mühendislik yüzeyine indirmek. Memory; depolama, geri getirme, güncelleme, unutma, izin ve değerlendirme kararlarının birleşimidir. İyi memory agent'i tutarlı yapar; kötü memory ise onu kendinden emin biçimde yanlış yapan bir sisteme dönüştürür.

01/08

Memory nedir?

Agent memory, agent'in bir sonraki kararında kullanılmak üzere geçmişten taşıdığı seçilmiş bilgidir. Bu bilgi bazen aktif görev state'i, bazen önceki konuşma, bazen ürün kataloğu, bazen de kullanıcının “bana kısa cevap ver” tercihi olabilir. Kritik nokta şu: memory yalnızca depolama değildir; yazma, okuma, güncelleme ve unutma politikalarıyla birlikte anlam kazanır.

Bu yüzden “tüm sohbet geçmişini prompt'a koyarız” yaklaşımı memory mimarisi değildir. Geçmiş ham malzemedir. Memory ise ham malzemeden neyin saklanacağını, neyin özetleneceğini, neyin retrieved context'e taşınacağını ve neyin güvenlik nedeniyle dışarıda tutulacağını belirleyen sistemdir.

Memory katman haritası

uzun vadeli bellek

episodic memoryne yaşandı?
semantic memoryne doğru?
procedural memorynasıl yapılır?
preference memorynasıl isteniyor?

working memory

Aktif hedef, son observation, geçici değişkenler, retrieved context. Şu anki karar döngüsünü taşır.

Şu anki karar masası. Modele yalnızca bu girer.

LLM kararı + eylem

retrieve → ilgili ve izinli kayıtlar masaya taşınır.

← write yeni deneyim, çıkarım ve tercih geri yazılır.

02/08

Working memory

Working memory, agent'in şu anda düşündüğü masadır. Aktif hedef, son tool sonucu, geçici plan, retrieved memory parçaları ve modelin structured output'undan parse edilen alanlar burada durur. CoALA'nın önemli ayrımı şudur: working memory yalnızca LLM context'i değil, LLM çağrıları arasında yaşayan bir veri yapısıdır.

Bu ayrım pratikte büyük fark yaratır. Prompt, working memory'nin modele gösterilen dilimidir; working memory'nin tamamı değildir. Bir agent'in çalışma belleğinde `active_goal`, `pending_approval`, `selected_customer_id`, `retrieved_policy_ids`, `last_tool_error` gibi alanlar olabilir. Model her şeyi görmeyebilir; controller yalnızca o adım için gereken parçaları prompt'a taşır.

Working memory kısa ömürlüdür ama önemsiz değildir. Yanlış working memory, doğru long-term memory'yi bile yanlış kullandırır. Örneğin aktif müşteri kimliği yanlış kaldıysa, doğru iade politikası bile yanlış kişiye uygulanabilir.

Working memory örneği

working memory · tam state

active_goal

Müşterinin kayıp kargo talebini çöz.

latest_observation

Kargo API'si: paket 3 gündür transfer merkezinde.

retrieved_context

Müşteri kısa cevapları tercih ediyor; son konuşmada telafi kuponu reddedilmiş.

pending_decision

Kupon yerine ücret iadesi önerilsin mi?

guardrail

İade için insan onayı gerekli.

modele giden dilim (prompt)

Müşterinin kayıp kargo talebini çöz. Kargo API'sine göre paket 3 gündür transfer merkezinde. Müşteri kısa cevap sever. İade için insan onayı şart.

Controller her alanı değil, yalnızca bu adım için gerekenleri prompt'a taşır. id'ler ve ham loglar state'te kalır.

03/08

Episodic memory

Episodic memory, agent'in geçmiş deneyim defteridir. Bir kullanıcının önceki talepleri, bir test koşusunda alınan hata, daha önce denenmiş başarısız tool yolu, bir satış görüşmesindeki itiraz veya bir robotun önceki çevre gözlemi bu katmana yazılabilir. Episodic memory zaman, bağlam ve olay sırası taşır.

Generative Agents çalışmasındaki memory stream bu fikri çok görünür kılar: agent'in deneyimleri doğal dil kayıtları olarak tutulur; sonra relevance, recency ve importance sinyalleriyle geri çağrılır. Bu ham olaylar ayrıca reflection ile daha üst düzey çıkarımlara dönüştürülebilir. Yani “Klaus araştırma yapıyor” gibi olaylardan “Klaus araştırmasına çok bağlı” gibi bir reflection üretilebilir.

Ama burada ince bir tehlike var: reflection, hafızayı daha kullanışlı yaparken hatayı da fosilleştirebilir. Yanlış yorumlanmış bir olay, semantic inference olarak saklanırsa sonraki kararları gereğinden fazla etkiler. Bu nedenle episodic memory yazımı yalnızca “kaydet” değil, evidence pointer ve confidence meselesidir.

Episodic memory skoru

score = relevance × recency × importance

recencyimportancerelevanceevidence

Dün: aynı test timezone yüzünden kırıldı

yüksek relevance + recency

retrieve

Geçen ay: bir iade reddi yaşandı

yüksek importance

retrieve

6 ay önce: sıradan kargo gecikmesi

düşük recency

skip

Rutin teslimat bildirimi

düşük importance

skip
04/08

Semantic memory

Semantic memory, olay değil bilgi taşır. Ürün kataloğu, iade politikası, API dokümantasyonu, kurum içi rehber, proje mimarisi, kullanıcı hakkında doğrulanmış profil bilgisi veya agent'in deneyimlerden çıkardığı genel kural bu katmana girebilir. RAG sistemlerinde external corpus çoğu zaman semantic memory gibi davranır.

Semantic memory iki kaynaktan gelebilir. Birincisi read-only bilgi tabanıdır: dokümanlar, kataloglar, mevzuat, runbook'lar. İkincisi agent-learned semantic memory'dir: agent'in episodic kayıtlar üzerinde reflection yaparak çıkardığı genel bilgi. Bu ikisini ayırmak gerekir; çünkü read-only katalog ile modelin çıkardığı “bu kullanıcı acelecidir” yargısı aynı güvenilirlikte değildir.

İyi semantic memory retrieval açıklanabilir olmalıdır. Agent “bunu biliyorum” dediğinde hangi doküman, hangi sürüm, hangi tarih, hangi tenant, hangi permission üzerinden bildiğini gösterebilmelidir.

Semantic memory ayrımı

read-only corpus

Ürün katalogları, policy dokümanları, resmi rehberler. Agent okumalı, doğrudan değiştirmemeli.

yüksek güven · kaynak göster

learned facts

Episodic memory'den türetilmiş çıkarımlar. Confidence ve evidence pointer gerektirir.

hipotez · evidence ile doğrula

tenant scope · her ikisine de uygulanır

Kurumsal sistemlerde her bilgi herkese açık değildir; retrieval authorization-aware olmalıdır.

freshness · her ikisine de uygulanır

Eski policy kaydı doğru formatta olsa bile güncel olmayabilir.

05/08

Preference memory

Preference memory, kullanıcının ne bildiğinden çok nasıl bir etkileşim istediğini taşır. Ton, cevap uzunluğu, formalite, bilgi yoğunluğu, çıktı formatı, dil tercihi, örnek isteme alışkanlığı ve bazı durumlarda erişilebilirlik tercihleri bu katmana girer. Bu bellek doğru çalışırsa ürün daha kişisel hissedilir; yanlış çalışırsa kullanıcıyı eski bir versiyonuna hapseder.

Preference memory'nin en zor tarafı değişimdir. İnsanlar sabit profil dosyaları değildir. Bir kullanıcı sabah hızlı checklist isterken, akşam mimari karar için detaylı gerekçe isteyebilir. PAMU gibi çalışmalar bu yüzden kısa dönem kaymaları sliding window ile, uzun dönem eğilimleri exponential moving average ile modellemeyi önerir.

Burada tasarım ilkesi şudur: preference memory öneri gücünde olmalı, izin veya güvenlik kararına dönüşmemelidir. “Kısa cevap seviyor” iyi bir tercih kaydıdır; “her zaman onaysız işlem yapılabilir” preference memory değildir, authorization policy meselesidir.

Preference drift örneği
t1t2t3t4

t1–t3: kısa, madde madde · t4: detay ve örnek istiyor

short-term · sliding window
long-term · EMA

response policy

Detaylı anlat, ama başlık ve örneklerle okunabilir tut.

06/08

Memory pipeline

Memory mimarisini üç fiille okumak işe yarar: memory writing, memory reading, memory management. Writing, ham observation'ı saklanabilir kayda dönüştürür. Reading, aktif görev için ilgili kayıtları seçer. Management ise özetleme, birleştirme, silme, unutma, güçlendirme, çelişki çözme ve sürümleme kararlarını verir.

MemoryBank bu hattı storage, retrieval ve updating olarak kurar; MemGPT ise fixed context sınırını işletim sistemi benzeri bir memory katmanlamasıyla aşmaya çalışır: main context içinde olan bilgi inference'a girer, external context ise function call ile geri taşınmadıkça modele görünmez. Bu fikir üretimde çok önemlidir: saklanan her şey otomatik olarak prompt'a girmemelidir.

En iyi memory sistemleri seçicidir. Her şeyi saklayan sistem hem pahalı hem tehlikelidir. Hiç unutmayan agent, zamanla gereksiz, eski ve çelişkili kayıtlarla dolar. Her şeyi unutan agent ise kullanıcıyla ilişki kuramaz. Denge; retention, retrieval ve consent politikalarında kurulur.

Depolama -> geri getirme -> güncelleme
external context · storemain context · prompt
1observestore

Kullanıcı mesajı, tool sonucu, hata, onay veya dış olay gelir.

2writestore

Kayıt türü seçilir: episodic, semantic, preference veya audit.

3indexstore

Embedding, zaman damgası, tenant, izin ve güven metadata'sı eklenir.

4retrieveprompt

Aktif görev için relevance, recency, importance ve policy ile seçim yapılır.

5injectprompt

Sadece gerekli ve izinli parçalar working memory üzerinden prompt'a girer.

6updatestore

Özetleme, decay, merge, conflict resolution veya deletion çalışır.

Saklanan her şey otomatik prompt'a girmez; sınırı yalnızca retrieve + inject geçer.

07/08

Memory poisoning

Memory poisoning, agent'in long-term memory veya RAG knowledge base katmanına kötü niyetli kayıt yerleştirerek gelecekteki davranışını değiştirme saldırısıdır. Bu saldırı model ağırlıklarını değiştirmek zorunda değildir; retriever gelecekte zehirli kaydı getirirse model onu normal bağlam gibi kullanabilir.

AGENTPOISON, long-term memory veya RAG knowledge base içine az sayıda malicious demonstration enjekte ederek tetikleyici sorgularda kötü kayıtların retrieved olmasını hedefler. PoisonedRAG ise knowledge database'i pratik saldırı yüzeyi olarak ele alır: saldırgan web sayfası, wiki edit'i, sahte haber veya içeriden erişimle retrieval corpus'una zehirli metin sokabilir.

Bu yüzden memory security, prompt injection filtresinden ibaret değildir. Tehlike bazen bugünkü prompt'ta değil, dün yazılmış ve yarın retrieval ile geri gelecek bir kayıttadır. Savunma; write-time validation, source trust, tenant isolation, retrieval anomaly detection, human review ve deletion yollarını birlikte ister.

Poisoning akışı

t0 · saldırgan yazar

inject

Saldırgan corpus'a masum görünen ama hedefli kayıt ekler.

kayıt sessizce bekler

index

Kayıt embedding index'e girer ve normal memory gibi görünür.

t1 · masum sorgu tetikler

trigger

Gelecekteki sorgu zehirli kaydı retrieve eder.

condition

Model retrieved context'i güvenilir kabul eder.

effect

Yanlış cevap, hatalı tool seçimi veya riskli eylem oluşur.

Tehlike bugünkü prompt'ta değil; dün yazıldı, yarın retrieval ile geri gelip patlar.

08/08

Tasarım sözleşmesi

Agent memory tasarımında iyi soru “ne kadar hatırlasın?” değildir. İyi soru şudur: hangi memory türü, hangi amaçla, hangi süreyle, hangi izinle, hangi güven düzeyiyle, hangi silme hakkıyla ve hangi eval metriğiyle yaşayacak?

Memory eklendiğinde ürün yalnızca daha akıllı olmaz; daha sorumlu hale gelmek zorunda kalır. Kullanıcıya memory kontrolü verilmeli, hassas bilgiler redaction'dan geçmeli, otomatik memory write kararları audit edilebilmeli, retrieval sonuçları kaynak gösterebilmeli ve stale memory düzenli temizlenmelidir.

Benim üretim kuralım: Memory önce type edilir, sonra retrieve edilir, sonra prompt'a girer. Type edilmemiş memory çamurdur; retrieved edilmeyen memory maliyettir; doğrulanmadan prompt'a giren memory risktir.

Memory readiness kontrol listesi
1

type

Her kayıt episodic, semantic, preference, procedural veya audit olarak sınıflanıyor mu?

2

scope

Tenant, kullanıcı, workspace ve permission sınırları metadata'da mı?

3

evidence

Reflection ve learned facts ham kayıtlara pointer taşıyor mu?

4

freshness

Eski kayıtlar decay, expiry veya revalidation görüyor mu?

5

consent

Kullanıcı neyin hatırlandığını görebiliyor ve silebiliyor mu?

6

security

Write-time validation ve source trust kontrolü var mı?

7

eval

Memory recall, precision, stale harm ve poisoning testleri ölçülüyor mu?