Aslında yapay zeka hiçbir şeyi "hatırlamaz"
Başlıkta şaşırtıcı bir gerçek var: bir dil modelinin kendi başına bir hafızası yoktur. Her istek, modele sıfırdan gelir. Sohbet asistanının önceki cümlelerinizi "hatırlıyormuş" gibi görünmesinin sebebi, uygulamanın önceki mesajların hepsini her seferinde modele yeniden göndermesidir. Yani "hafıza", aslında modelin dışında, uygulamanın yönettiği bir mekanizmadır.
Bu fikri anlamak, yapay zekanın neden bazen bir şeyi unuttuğunu, neden uzun sohbetlerin yavaşladığını ve neden bazı bilgilerin sohbetten sohbete taşındığını açıklar. Üç katman var:
- Bağlam penceresi (modelin anlık görüş alanı)
- Konuşma geçmişi ve özetleme (tek bir sohbet içinde süreklilik)
- Kalıcı hafıza (sohbetler arası süreklilik)
1. Bağlam penceresi
Bir model, bir seferde yalnızca belirli miktarda metni "görebilir". Buna bağlam penceresi denir ve token cinsinden ölçülür. Pencere; sistem talimatlarını, önceki mesajları, eklediğiniz dosyaları ve modelin üreteceği cevabı birlikte kapsar. Bazı modellerin penceresi yüz binlerce hatta milyon tokena ulaşır; bu, yüzlerce sayfa metne denktir.
Pencerenin dolması durumunda ne olacağı, uygulamanın tasarımına bağlıdır:
- Eski mesajlar kesilir (en baştaki unutulur),
- Ya da eski kısım özetlenir (ayrıntı kaybolur ama ana hat korunur).
Bu yüzden çok uzun bir sohbetin başında verdiğiniz bir talimat, bir noktadan sonra uygulanmayabilir. Önemli kuralları gerektiğinde tekrar etmek iyi bir pratiktir.
2. Konuşma geçmişi ve özetleme
Tek bir sohbet içinde süreklilik, konuşma geçmişi sayesinde sağlanır. Her yeni mesajınızda, uygulama önceki mesajları da modele gönderir. Bunun üç sonucu var:
Sohbet uzadıkça yavaşlar ve pahalılaşır. Her mesajda daha fazla metin işlenir. API kullanıyorsanız, bu daha fazla giriş tokenı, yani daha fazla maliyet demektir.
Modelin dikkati dağılabilir. Çok uzun bir geçmişte, model alakasız eski bölümlere takılabilir veya önemli bir ayrıntıyı atlayabilir.
Özetleme devreye girer. İyi tasarlanmış uygulamalar, sohbet belli bir uzunluğu aşınca, eski kısmı otomatik olarak özetler ve özeti geçmişin başına koyar. Cocorex AI bunu şöyle yapar: sohbet çok uzadığında en eski mesajlar kısa bir özete dönüştürülür; özet, kişinin kim olduğu, ne üzerinde çalıştığı, verilen kararlar, isimler, sayılar ve çözülmemiş sorular gibi sohbetin devamı için gerekli bilgileri korur. Böylece pencere dolmadan, sohbet kaldığı yerden devam edebilir.
Pratik öneri: Konu tamamen değiştiğinde yeni bir sohbet açın. Hem daha hızlı, hem daha isabetli, hem de (API'de) daha ucuz olur.
3. Kalıcı hafıza: sohbetler arası süreklilik
Yeni bir sohbet açtığınızda, asistanın sizi hâlâ tanımasını istersiniz: adınızı, mesleğinizi, tercihlerinizi. Bunu sağlayan mekanizma kalıcı hafızadır ve şöyle çalışır:
- Sohbet sırasında asistan, sizinle ilgili kalıcı ve yararlı bir bilgi fark eder (örneğin "Python kullanıyor", "cevapları Türkçe istiyor", "bir mobil uygulama geliştiriyor").
- Bu bilgiyi kısa bir not olarak hafıza listenize kaydeder.
- Sonraki her sohbetin başında, bu notlar modele bağlam olarak eklenir.
Yani model gerçekten "hatırlamaz"; uygulama, hafıza notlarını her sohbete yeniden yerleştirir. Bu, hafızanın şeffaf ve kontrol edilebilir olmasını sağlar: ne kaydedildiğini görebilir, istemediğinizi silebilirsiniz.
Neler kaydedilmeli, neler kaydedilmemeli?
İyi hafıza notları: adınız veya hitap şekliniz, mesleğiniz, tercih ettiğiniz dil ve cevap tarzı, üzerinde çalıştığınız uzun soluklu bir proje, kullandığınız teknolojiler.
Kaydedilmemesi gerekenler: parolalar, kart bilgileri, kimlik numaraları, tek seferlik ayrıntılar ve kaydetmemesini söylediğiniz her şey. Cocorex AI'da asistan bu tür bilgileri kaydetmemesi için yönlendirilir; yine de hassas verileri sohbete yazmamanızı öneririz.
Önceki sohbetlerden bilgi
Hafıza notlarına ek olarak, Cocorex AI son sohbetlerinizin başlıklarını ve özetlerini de asistanın görebileceği kısa bir özet halinde sunar. Böylece "geçen gün üzerinde çalıştığımız şeyi hatırlıyor musun?" gibi sorulara cevap verebilir. Bu da hafıza ayarıyla birlikte açılıp kapanır.
Hafıza ve gizlilik
Hafıza güçlü bir özelliktir ama bir gizlilik boyutu vardır: hakkınızdaki bilgiler saklanır. Bu nedenle kontrolün sizde olması gerekir:
- Neyin saklandığını görebilmelisiniz. Cocorex AI'da Ayarlar'daki Hafıza bölümünde kayıtların tamamı listelenir.
- Tek tek veya toplu silebilmelisiniz.
- Tamamen kapatabilmelisiniz. Hafıza kapalıyken hiçbir yeni bilgi kaydedilmez ve mevcut kayıtlar sohbete eklenmez.
- Misafir (giriş yapmamış) kullanımda hafıza yoktur. Misafir sohbetleri kalıcı değildir.
Gizlilik hakkında daha fazla bilgi için gizlilik makalemize ve Gizlilik Politikası sayfasına bakın.
Sık karşılaşılan durumlar
"Az önce söylediğimi unuttu." Muhtemelen bağlam penceresi dolmuş ve eski kısım kesilmiş ya da özetlenmiş. Önemli bilgiyi tekrar yazın.
"Başka bir sohbette söylediğimi bilmiyor." Sohbetler birbirinden bağımsızdır. Bilginin sohbetler arasında taşınmasını istiyorsanız, hafıza özelliğinin açık olması ve bilginin kalıcı olarak kaydedilmesi gerekir. Doğrudan "bunu hatırla" diyebilirsiniz.
"Yanlış bir şeyi hatırlıyor." Hafıza listenizi açın ve hatalı kaydı silin ya da düzeltin.
"Hafızayı kapattım ama hâlâ bir şeyleri biliyor." Aynı sohbet içinde yazdıklarınız, o sohbetin bağlamı olarak kalır. Hafıza yalnızca sohbetler arası taşınmayı kontrol eder.
"Model değiştirince bağlam kayboldu mu?" Hayır. Konuşma geçmişi uygulamada durur ve yeni modele de iletilir; ancak her modelin bağlam penceresi farklıdır.
Geliştiriciler için notlar
Kendi uygulamanızı API ile geliştiriyorsanız, bu mekanizmaları sizin kurmanız gerekir:
- Geçmişi siz yönetirsiniz: Her istekte, ilgili önceki mesajları
messagesdizisine eklersiniz. API, durumsuzdur. - Pencereyi aşmayın: Geçmiş çok uzarsa, eski mesajları özetleyip yerine koyun; böylece hem maliyeti düşürür hem kaliteyi korursunuz.
- Kalıcı hafıza için: Kullanıcı hakkındaki kısa notları kendi veritabanınızda saklayıp, her istekte sistem talimatına ekleyebilirsiniz.
- Gizlilik: Kullanıcılarınıza ne sakladığınızı söyleyin ve silme imkânı verin.
API ile başlamak için ilk istek rehberimize, maliyet etkileri için maliyet rehberimize bakın.
Bağlam penceresini hesaplamak: Somut örnek
Bir modelin bağlam penceresi 128.000 token ise, bu bir seferde şunları kapsar: sistem talimatı + hafıza notları + sohbet geçmişi + yeni mesajınız + modelin üreteceği cevap. Örnek bir paylaşım:
| Parça | Yaklaşık token |
|---|---|
| Sistem talimatları | 1.000 |
| Hafıza notları ve özel talimatlar | 400 |
| Önceki sohbet özeti | 800 |
| Son 20 mesaj (geçmiş) | 12.000 |
| Yeni mesaj + eklenen belge | 6.000 |
| Cevap için ayrılan | 4.000 |
| Toplam | ~24.200 |
Bu örnekte pencerenin büyük kısmı boştur; ama bir PDF veya uzun kod eklerseniz hızla dolabilir. Pencere dolduğunda, uygulamanın (ya da sizin) eski kısmı kırpması ya da özetlemesi gerekir.
Özetleme stratejileri
Uzun sohbetlerde bağlamı korumanın yaygın yolları:
1. Kaydırmalı pencere. Yalnızca son N mesajı tutmak. Basit ama eski bilgiyi tamamen kaybettirir.
2. Özetleme. Eski mesajları kısa bir özete çevirip geçmişin başına koymak. Önemli bilgiler korunur, ayrıntı kaybolur. İyi bir özet şunları içerir: kullanıcının kim olduğu ve hedefi, alınan kararlar, önemli isim/sayı/tarihler, çözülmemiş sorular.
3. Hiyerarşik özetleme. Özetin özetini almak; çok uzun sohbetlerde (yüzlerce mesaj) işe yarar.
4. Seçici hatırlama (RAG). Tüm geçmişi bir arşivde tutup, her yeni soruda yalnızca ilgili parçaları bağlama eklemek. Çok büyük bilgi birikimi için uygundur.
5. Yapılandırılmış hafıza. Kalıcı bilgileri (tercihler, olgular) kısa notlar olarak ayrı saklamak ve her seferinde eklemek; Cocorex AI'nın hafıza özelliği buna benzer çalışır.
Her yöntemin dengesi vardır: doğruluk, maliyet ve karmaşıklık. Kendi uygulamanızda genellikle özetleme + kısa hafıza notları yeterlidir.
Kişiselleştirmeyi doğru tasarlamak (geliştiriciler için)
Kendi ürününüze hafıza eklerken şu ilkeleri düşünün:
- Şeffaflık: Kullanıcı neyin saklandığını görebilmeli.
- Kontrol: Tek tek silme, toplu silme ve tamamen kapatma imkânı olmalı.
- Asgari veri: Yalnızca gerçekten işe yarayan bilgiyi saklayın; hassas bilgiyi (parola, kimlik, sağlık) kaydetmeyin.
- Kısa notlar: Uzun metinler yerine tek cümlelik, üçüncü şahıs notlar ("Kullanıcı Python kullanıyor") daha etkilidir.
- Eskime: Eski notları periyodik gözden geçirin; bilgi güncelliğini yitirebilir.
- Bağlam sınırı: Hafıza notları da token harcar; çok fazla not birikmemeli.
- Açıklama: Kullanıcıya hafızanın modele iletildiğini (üçüncü taraf sağlayıcıya gidebileceğini) söyleyin.
Hafıza ve gizlilik arasındaki gerilim
Hafıza, kullanışlılığı artırır ama veri biriktirmek demektir. İki ucu dengelemek için:
- Hafızayı varsayılan olarak kullanıcıya açık ve kapatılabilir yapın.
- Hassas konularda (sağlık, kimlik, finans) otomatik kaydı atlayın.
- Silme isteğine hemen uyun.
- Hafıza notlarının model sağlayıcılara iletildiğini gizlilik politikanızda belirtin.
Cocorex AI'da hafıza özelliğini kapatabilir, notları tek tek silebilir ve tüm hafızayı temizleyebilirsiniz (hafıza yönetimi).
Sık karşılaşılan senaryolar
Senaryo: "Önceki sohbetimdeki bilgiyi bilmiyor." Sohbetler ayrıdır. Bilgi hafızaya kaydedilmediyse yeni sohbette bilinmez. "Bunu hatırla: …" diyerek kaydettirin.
Senaryo: "Sohbetin başında verdiğim kural uygulanmıyor." Pencere dolmuş ve başlangıç özetlenmiş/kırpılmış olabilir. Kuralı tekrar yazın ya da özel talimatlara ekleyin.
Senaryo: "Cevaplar yavaşladı." Çok uzun geçmiş yüzünden her mesajda çok metin işleniyor. Yeni sohbet açın.
Senaryo: "Yanlış bir şeyi hatırlıyor." Hafıza listesini açın, hatalı notu silin.
Senaryo: "Kullanıcıma ait bilgileri API'de nasıl taşırım?" Hafıza notlarını kendi veritabanınızda saklayın, her istekte sistem talimatına ekleyin.
Sık sorulan sorular
Hafıza, modelin kendisini değiştirir mi? Hayır. Model aynı kalır; yalnızca sizin hakkınızdaki notlar bağlama eklenir.
Hafıza bütün sohbetlerimi okuyup öğrenir mi? Hafıza, seçilmiş kısa notlardır; sohbetlerinizin tamamını depolamaz. Ayrıca son sohbetlerinizin başlık ve kısa özeti bağlama eklenebilir.
Bağlam penceresi büyük modeller her zaman daha mı iyi? Hayır; çok uzun bağlamda model ayrıntıları kaçırabilir ve maliyet artar. İhtiyaç kadar bağlam verin.
Sohbetler arası bilgiyi API'de de alabilir miyim? API durumsuzdur; bu mekanizmayı kendiniz kurarsınız.
Hafızayı kapatırsam notlarım silinir mi? Hayır; yalnızca kullanım durur. Silmek için notları ayrıca silin.
Sonuç
Yapay zekanın hafızası, modelin içinde değil, uygulamanın tasarımında yaşar: konuşma geçmişi tek sohbette süreklilik, özetleme uzun sohbetlerde tutarlılık, kalıcı hafıza ise sohbetler arası kişiselleştirme sağlar. Bu mekanizmaları bilmek, asistandan daha iyi sonuç almanızı ve verilerinizi daha bilinçli yönetmenizi sağlar.