AI Ajan Hafızası: 3 Saatlik Planlamayı Kaybettikten Sonra
“Lütfen Bana Silinmediğini Söyle”
Üç saat boyunca lider ajanla oturup detaylı bir planlama yaptık. Görevleri konuştuk, sprintlere böldük, sekiz sprint çıkardık, hangi ajanın neyi alacağını netleştirdik. Sonra bir araç dondu, uygulamayı zorla kapatmak zorunda kaldım.
Geri açtığımda konuşma geçmişi yoktu. Sprintler yoktu. Ajan bana “hiçbir şey silinmedi” diyordu ama ekranda hiçbir şey göremiyordum. O anda yayında söylediğim cümleyi hatırlıyorum: “lütfen bana silinmediğini söyle.”
Silinmemişti — ama bulunabilir de değildi. Ve fark yoktu: yeniden başladığımızda ajan neyi konuştuğumuzu, hangi kararı verdiğimizi, en son nerede kaldığımızı hatırlamıyordu. Üç saatlik düşünme işi, benim kafamda kalan yarım hatıralara indirgenmişti.
Yapay zeka ajanlarıyla çalışırken en sinsi maliyet bu: ajan zeki ama amnezik. Her oturumda ona kim olduğunu, ne yaptığını, neyi denediğini ve neden vazgeçtiğini yeniden anlatıyorsun. Bu yazıda o kayıptan sonra kurduğum kalıcı hafıza düzenini anlatıyorum — dosya yapısı, checkpoint disiplini ve en önemlisi: neyi hafızaya yazmamak gerektiği.
Neden Bağlam Penceresi Hafıza Değildir
Yaygın yanılgı şu: “modelin bağlam penceresi büyük, her şeyi hatırlar.” Hayır. Bağlam penceresi çalışma belleği — oturum bitince, uygulama kapanınca, konuşma özetlenince o bellek buharlaşır.
Hafıza ise şudur: oturum kapansa da diskte kalan, yeni oturumun başında geri okunan bilgi. Yani hafıza bir model özelliği değil, bir dosya disiplini.
Bunu kabul ettiğin an çözüm de basitleşiyor: ajanına, her oturumun başında okuyacağı ve çalışırken yazacağı bir klasör ver.
Hafıza Dosyası Düzeni — Tek Gerçek, Tek Dosya
Kurduğum düzenin tek bir kuralı var: bir bilgi = bir dosya. Dev bir “notlar.md” dosyası tutmak işe yaramıyor; şişiyor, çelişiyor, kimse okumuyor. Bunun yerine her kalıcı bilgi kendi dosyasında yaşıyor:
memory/
├── MEMORY.md ← index: her hafızaya 1 satır pointer
├── user-murat.md ← kullanıcı kim, nasıl çalışmayı sever
├── chatflow-product.md ← ürün gerçekleri (fiyat, kısıtlar)
├── lead-scraper-engine.md ← motorun ne yaptığı, nasıl çalıştırılır
└── build-in-public-daily.md ← süregelen taahhüt
Her dosyanın başında küçük bir frontmatter var — hafızanın ne tür bir bilgi olduğunu ve ne zaman güncellendiğini söyler:
---
name: chatflow-product
description: "ChatFlow ürün gerçekleri — fiyat, kapsam, özellikler"
type: reference # user | feedback | project | reference
updatedAt: 2026-07-12
---
ChatFlow, Shopify mağazalarına WhatsApp sipariş otomasyonu sunar.
İlgili: [[lead-scraper-engine]]
İki ayrıntı bu düzeni işler kılıyor:
- MEMORY.md indeksi. Her oturumun başında ajan sadece bu tek dosyayı okuyor — her hafızaya bir satırlık özet + link. Böylece 40 dosyayı bağlama doldurmadan, “burada ne var” haritasını görüyor ve sadece gerekeni açıyor.
[[wiki-link]]bağlantıları. Hafızalar birbirine referans veriyor. Henüz yazılmamış bir hafızaya link vermek bile faydalı: “burada yazılacak bir şey var” işareti oluyor.

Dört Tür Hafıza (ve Hangisinin Ne İşe Yaradığı)
Her bilgiyi aynı çuvala atarsan, ajan hangisine güveneceğini bilemez. Dört tür ayırıyorum:
| Tür | Ne yazılır | Örnek |
|---|---|---|
| user | Kullanıcı kim, nasıl çalışır, nelerden hoşlanmaz | ”Uzun rapor okumaz, görsel özet ister” |
| feedback | Sana verilen çalışma talimatı + nedeni | ”Prod’a elle dokunma — çünkü sonraki senkron ezer” |
| project | Süregelen iş, hedef, kısıt (koddan çıkarılamayan) | “LTD lansmanı 30 Temmuz, fiyat 99 dolar” |
| reference | Dış kaynak işaretçileri | Dashboard URL’i, ticket linki |
En değerlisi feedback türü — çünkü sebebini taşıyor. “Şunu yapma” bilgisi tek başına ajanı kural-takipçisi yapar; “şunu yapma çünkü X” bilgisi ise ajanı benzer durumlarda doğru genelleme yapabilen bir çalışana dönüştürür.
Checkpoint Disiplini — Kaybettiğim Üç Saatin Dersi
Hafıza dosyası olması yetmiyor; ne zaman yazıldığı kritik. Yaşadığım kaybın asıl sebebi hafıza sisteminin yokluğu değil, hafızanın iş bittikten sonra yazılacak olmasıydı. İş bitmedi, çökme geldi, yazılan bir şey olmadı.
Şimdi uyguladığım kural:
- Karar anında yaz, oturum sonunda değil. Bir karar kesinleştiği anda (“evet, sadece Shopify’a odaklanıyoruz”) o karar hafızaya düşer. Oturumun bitmesini bekleme — oturum bitmeyebilir.
- Sonuç dosyasını işin başında aç. Uzun bir iş başlarken sonuç dosyasını ilk beş dakikada boş taslak olarak açıyorum, her aşamada güncelliyorum. Çökme gelirse elimde en azından yarısı var.
- “Bitti” demeden önce doğrula. Bir işi hafızada
tamamlandıişaretlemek, kod yazıldığı için değil, uçtan uca çalıştığı doğrulandığı için yapılır. Yanlış “bitti” kaydı, gelecekteki oturumu aktif olarak yanlış yönlendirir — hiç kayıt olmamasından beterdir.
En Zor Kısım: Neyi YAZMAMAK
Hafıza sistemini kuranların yaptığı en büyük hata, her şeyi yazmak. Şişmiş bir hafıza, hafızasızlıktan daha kötüdür: ajan her oturumda alakasız 3.000 kelime okur, gerçekten önemli olan tek satır gürültüde kaybolur.
Yazma:
- Kodda/git’te zaten olan şeyi. Dosya yapısı, geçmiş düzeltmeler, commit geçmişi — bunlar zaten kayıtlı. Hafıza, koddan çıkarılamayan şey içindir.
- Yalnızca bu oturumu ilgilendiren şeyi. “Şu an X dosyasına bakıyoruz” bilgisi yarın çöp.
- Doğrulanmamış tahmini. Hafızaya giren bir hipotez, gelecekte gerçek gibi okunur.
Ve tersi kadar önemli bir kural: hafıza eskir. Bir hafıza dosyasında geçen bir dosya adı, bir bayrak, bir fiyat — yazıldığı gündeki gerçeği yansıtır. Ajanın buna göre davranmadan önce doğrulaması gerekir. Bu cümleyi ajanın sistem talimatına birebir koymak, hayalet bilgiye dayalı hataların çoğunu kesiyor.
Kopyala-Kullan: Ajanına Verebileceğin Hafıza Talimatı
Aşağıdaki bloğu ajanının sistem talimatına ekle — düzenin tamamı bu:
KALICI HAFIZAN VAR.
BAŞLARKEN: memory/MEMORY.md indeksini oku, sonra ilgili konu dosyalarını aç.
Geçmiş kararları hatırla, aynı şeyi tekrar sordurma, kaldığın yerden devam et.
Bir hafızada geçen dosya/fiyat/bayrak ESKİMİŞ olabilir — davranmadan ÖNCE doğrula.
ÇALIŞIRKEN: gelecekte faydalı + kalıcı olan şeyi memory/ altına yaz.
- Tek gerçek = tek dosya (frontmatter: name, description, type, updatedAt)
- MEMORY.md'ye tek satır pointer ekle
- İlgili hafızalara [[link]] ver
- Kararı KARAR ANINDA yaz, oturum sonunu bekleme
YAZMA: kodda/git'te zaten olanı · sadece bu oturumu ilgilendireni · doğrulanmamış tahmini.
Bir işi "bitti" işaretle ANCAK uçtan uca doğrulandıysa (kod yazıldığında değil).
Yanlış bir hafıza bulursan SİL — güncelle, çoğaltma.
Hafıza Ajanı Değiştirir mi? Evet — Ama Beklediğin Şekilde Değil
Hafıza eklediğimde beklediğim şey “ajan daha zeki olacak”tı. Olan şey daha ilginç: ajan daha az soru sormaya başladı. Aynı bağlamı üçüncü kez anlatmak zorunda kalmıyorum, “hangi fiyatlandırma?” diye sormuyor, geçen hafta reddettiğim yaklaşımı tekrar önermiyor.
Yani hafızanın asıl kazancı zeka değil, sürtünme. Ajanla çalışmak, her sabah kim olduğunu anlattığın bir stajyerle çalışmaktan, dün ne yaptığını bilen bir ekip arkadaşıyla çalışmaya dönüşüyor. Fark tek bir oturumda küçük, bir haftada devasa.
Bu Sistem Nereye Bağlanıyor
Kalıcı hafıza, ajan takımını otopilotta çalıştırmanın ön koşulu — hafızasız bir takım, her sabah sıfırdan brifing isteyen bir takımdır. Takımı sprintlerle nasıl kurduğumu AI ajan takımını otopilotta çalıştırma yazısında anlattım. O takımın ürettiği somut işlerden biri olan yayınları otomatik klipleyen motoru ise ayrı bir yazıda ele aldım.
Haftada 1 e-posta: Hafıza dosyalarımın gerçek içeriğini, ajan talimatlarını ve otomasyon deneylerimi haftada bir e-postayla paylaşıyorum. Sayfanın sonundaki formdan abone olabilirsin; tek tıkla çıkarsın.
AgentSpace: Bu hafıza sistemini, ajan takımını ve otopilotu tek bir sanal ofiste birleştiren AgentSpace’i geliştiriyorum. Lansmanda ilk haber alanlardan olmak için aşağıdaki bültene abone ol.
Sonuç
Ajanına kalıcı hafıza vermek, model seçmekten daha çok not tutma disiplinine benziyor. Tek gerçek tek dosyada dursun, indeks üzerinden okunsun, karar anında yazılsın, eskiyene güvenilmesin ve gereksiz olan hiç yazılmasın. Üç saatlik planlamamı kaybettiğim gün öğrendiğim şey basit: yapay zekanın hafızası, senin ona verdiğin dosyalardan ibarettir — ve o dosyaları yazmak, çökmeden önce yapılması gereken bir iştir.
Yazar: Murat Baskıcıoğlu