AI Ajan Hafızası Nasıl Çalışır (ve API ile Nasıl Test Edilir)

Ashley Innocent

Ashley Innocent

7 April 2026

AI Ajan Hafızası Nasıl Çalışır (ve API ile Nasıl Test Edilir)

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Kısaca

Yapay zeka ajanları zeka eksikliğinden değil, unuttukları için başarısız olur. Ajan belleğinin dört türünü, nasıl saklandıklarını ve API davranışını nasıl etkilediklerini anlamak, daha güvenilir ajanlar oluşturmanıza ve hataları üretime geçmeden yakalamanıza olanak tanır.

Giriş

Çoğu yapay zeka ajanı başarısızlığının kirli sırrı şudur: model iyi. Bellek katmanı bozuk.

Üç adım önceki olayları hatırlayamayan, oturumlar arasında kullanıcı bağlamını kaybeden veya görev sırasında kendisiyle çelişen bir ajan, model kalitesi nedeniyle halüsinasyon görmüyor. Bellek mimarisi dikkatlice tasarlanmadığı veya hiç test edilmediği için başarısız oluyor.

Son zamanlarda popüler olan açık kaynaklı bir ajan bellek sistemi olan Hippo, biyolojik olarak ilham alan bir yaklaşım benimsiyor: kısa süreli, uzun süreli ve epizodik belleği, insan belleğinin çalıştığı gibi ayrı ayrı modelliyor. Bu proje gerçek bir eksikliği ortaya çıkardı: çoğu geliştirici ajan belleğini sonradan düşünülmüş bir şey olarak inşa ediyor ve ancak üretimde bozuk olduğunu keşfediyor.

💡
Apidog'un Test Senaryoları, durum tabanlı, çok adımlı ajan konuşmalarını yayına almadan önce test etmenizi sağlar. Oturum durumunun API çağrıları arasında aktarıldığını doğrulayabilir, bağlam yapısı üzerinde doğrulama yapabilir ve Smart Mock ile bellek hatalarını simüle edebilirsiniz. Bu test katmanı, bu makalenin ikinci yarısının konusudur. Şimdilik, ajan belleğinin içinde gerçekten neler olduğuna bakalım. Daha geniş test yaklaşımı hakkında bir başlangıç için [internal: api-testing-tutorial] bölümüne bakın.
düğme

Yapay Zeka Ajan Belleği Nedir?

Ajan belleği, bir yapay zeka sisteminin mevcut girdinin ötesindeki bilgilere erişmesini veya bunları korumasını sağlayan herhangi bir mekanizmadır. Bu olmadan, her API çağrısı durumsuzdur: model bir istem alır, bir yanıt döndürür ve hiçbir şey hatırlamaz.

Dört farklı bellek türü farklı amaçlara hizmet eder.

Ajan Belleğinin Dört Türü

Çalışma belleği

Çalışma belleği, ajanın aktif bağlamıdır: mevcut istemdeki her şey. Çoğu LLM tabanlı ajan için bu, bağlam penceresidir. GPT-4o 128K belirteçlik bir bağlam penceresine sahiptir. Claude 3.5 Sonnet 200K'yı destekler. Gemini 1.5 Pro 1M'yi destekler.

Çalışma belleği hızlı ve hassastır ancak pahalı (belirteç başına ödeme yaparsınız) ve sınırlıdır. Limite ulaşıldığında, en eski bağlam sessizce düşürülür. Bu, uzun süreli görevlerdeki ajan hatalarının en yaygın kaynağıdır.

Epizodik bellek

Epizodik bellek, olanları saklar: geçmiş etkileşimlerin, kararların ve gözlemlerin bir günlüğü. Bunu ajanın günlüğü olarak düşünün.

Uygulamada, bu genellikle bir vektör veritabanı (Chroma, Pinecone, Qdrant) veya yapılandırılmış bir olay günlüğüdür. Ajan, yanıt oluşturmadan önce anlamsal arama yoluyla ilgili geçmiş epizodları alır. Hippo'nun yaklaşımı, zaman damgaları ve bozunma ağırlıkları ile etkileşim dizilerini saklar, böylece son etkileşimler daha yüksek erişim önceliği alır.

Semantik bellek

Semantik bellek, ajanın bildiklerini saklar: gerçekler, alan bilgisi, kullanıcı tercihleri ve sabit dünya bilgisi. Epizodik belleğin aksine, zamana göre sıralı değildir.

Bu, önceden yüklenebilir (kullanıcı profili verileriyle bir sistem istemi), dinamik olarak oluşturulabilir (geçmiş konuşmalardan çıkarılan ve bir bilgi grafiğinde saklanan gerçekler) veya harici olarak temin edilebilir (bir belge deposuna karşı RAG).

Prosedürel bellek

Prosedürel bellek, işlerin nasıl yapılacağını saklar: eylem dizileri, araç kullanım kalıpları ve ajanın öğrendiği beceriler. Bu, inşa etmesi en zor olanıdır ve üretim sistemlerinde genellikle atlanır.

Uygulamada, sistem istemine gömülü az sayıda örnek olarak veya ajanın alıp uyarlayabileceği depolanmış eylem planları kütüphanesi olarak görünür.

Gerçek Sistemlerde Bellek Nasıl Saklanır?

Dört tür nadiren dört ayrı depolamaya net bir şekilde eşlenir. Gerçek kurulumlar daha çok şuna benzer:

Bağlam penceresi (çalışma): aktif istemdeki her şey. Ajan çerçevesi tarafından yönetilir. Konuşma bittiğinde süresi dolar.

Harici vektör deposu (epizodik + semantik): Chroma, Pinecone veya Qdrant, geçmiş etkileşimlerin ve bilgi parçacıklarının gömülülerini saklar. Ajan, her adımda bunu sorgular ve ilgili parçacıkları isteme enjekte eder.

Yapılandırılmış Veritabanı (semantik + prosedürel): Kullanıcı tercihleri, hesap durumu veya öğrenilmiş eylem şablonları için PostgreSQL veya SQLite. Araç çağrıları aracılığıyla sorgulanır.

Bellek içi önbellek (çalışma taşması): Gömülü arama gerektirmeyen son bağlama hızlı erişim için Redis veya basit bir sözlük.

Hippo, üç katmanlı bellek sistemini açık devir teslim mantığıyla özel olarak modeller: son zamanlarda erişilmeyen çalışma belleği girişleri epizodik belleğe konsolide edilir ve bu da sonunda semantik belleğe özetlenir. Bu, insan belleği konsolidasyonunun uyku sırasında nasıl çalıştığını yansıtır (proje, konsolidasyonu tetiklemek için bir "uyku" komutuna bile sahiptir).

Ajan Belleği API Davranışını Nasıl Etkiler?

İşte burası pratik olarak önemli hale geliyor. Bir ajan API'si oluşturuyor veya kullanıyorsanız, bellek API çağrılarınızın nasıl göründüğünü ve nelerin yanlış gidebileceğini doğrudan şekillendirir.

Oturum Kimlikleri: çoğu ajan API'si, çağrılar arasında belleği ilişkilendirmek için bir oturum veya iş parçacığı kimliği kullanır. OpenAI Assistants API'si thread_id kullanır. Düşürülen veya yeniden kullanılan bir iş parçacığı kimliği, ajanın bağlamı kaybetmesine veya iki kullanıcının oturumlarını karıştırmasına neden olur.

İstek yüklerindeki bağlam boyutu: istemlere bellek enjekte eden ajanlar, zamanla daha büyük istek gövdeleri üretir. 2 KB ile başlayan bir ajan konuşması 20 adım sonra 40 KB'a kadar büyüyebilir. HTTP istemcinizin bir yük boyutu sınırı varsa, istekler sessizce başarısız olur.

Erişim gecikmesi: vektör deposu aramaları her adımda 50-200 ms ekler. API yanıt süresini doğruluyorsanız, bellek erişimi gerçek bir etkendir.

Arızalardan sonra tutarsız durum: bir ajanın araç çağrısı görev sırasında başarısız olursa, epizodik günlük kısmi bir eylemi kaydedebilir. Bir sonraki adım bozuk bir durumdan başlar. İyi ajanlar, araç kullanımından önce ve sonra durumu kontrol noktalarına kaydeder.

Apidog ile API Aracılığıyla Ajan Belleği Nasıl Test Edilir?

Durum tabanlı ajan API'lerini test etmek, tek bir istek doğrulamasından fazlasını gerektirir. Bağlamın birden çok çağrı arasında aktarıldığını, belleğe dayalı yanıtların beklendiği gibi değiştiğini ve bellek kullanılamadığında sistemin zarif bir şekilde bozulduğunu doğrulamanız gerekir.

Ajan belleği için Apidog Test Senaryoları

Apidog Test Senaryoları tam olarak bunu yönetir. Bir ajan API'si için nasıl kurulacağı aşağıda açıklanmıştır.

Test 1: Bağlam aktarımı

Üç ardışık adımdan oluşan bir senaryo oluşturun:

  1. POST /agent/chat adresine bir gerçeği tanıtan bir mesajla ("Projem PostgreSQL 16 kullanıyor") bir istek gönderin
  2. POST /agent/chat adresine bu gerçeği hatırlamayı gerektiren bir takip mesajıyla ("Hangi veritabanı için optimize etmeliyim?") bir istek gönderin
  3. 2. adımın yanıtını doğrulayın: response.message.content "PostgreSQL" içermelidir

Ajanın bellek katmanı çalışıyorsa, 2. adım gerçeği epizodik veya semantik bellekten alır ve yanıtta kullanır. Aksi takdirde, genel bir yanıt alırsınız.

Test 2: Oturum izolasyonu

Aynı iki adımlı diziyi farklı session_id değerleriyle iki kez çalıştırın. İkinci oturumun yanıtının ilk oturumdan herhangi bir bağlam içermediğini doğrulayın. Bu, paylaşılan bellek hatalarını yakalar: çok kiracılı ajan dağıtımlarında en yaygın ve hata ayıklaması en zor sorunlardan biridir.

Test 3: Bellek hatası bozulması

Apidog'un Smart Mock özelliğini kullanarak bir bellek arka ucu hatasını simüle edin. Mock'u, vektör deposu arama uç noktasında 503 döndürecek şekilde yapılandırın. Ardından ajan konuşmanızı çalıştırın ve şunları doğrulayın: - Ajan çökmeden yanıt verir - Yanıt, zarif bir geri dönüş ("Bunu yanıtlamak için yeterli bağlama sahip değilim") içerir - Mock kaldırıldıktan sonra oturum devam edebilir.

Test 4: Bağlam penceresi taşması

Çalışma belleğini bağlam sınırının ötesine itmek için art arda 30'dan fazla hızlı mesaj gönderin. Şunları doğrulayın: - Ajan bir context_length_exceeded hatası fırlatmaz (zarif bir şekilde kesmelidir) - 30. adımdaki yanıt, epizodik erişim kullanarak hala doğru bir şekilde yanıt verir - response.usage içindeki belirteç sayıları beklenen aralıkta kalır.

Bu dört testi de Apidog'da tek bir Test Senaryosu olarak çalıştırabilir, oturum kimlikleri ve yanıt verileri için paylaşılan değişkenlerle bunları sıralı olarak zincirleyebilirsiniz. Bağlam pencerelerinin model düzeyinde neden böyle çalıştığına dair arka plan için [internal: how-to-build-tiny-llm-from-scratch] bölümüne bakın.

Yaygın Bellek Hatası Modları

Sessiz bağlam kesme: bağlam penceresi dolar ve eski mesajlar uyarı vermeden kaybolur. Ajan eksik geçmişe dayanarak yanıt verir. Bunu, response.usage.prompt_tokens üzerinde doğrulama yaparak ve modelinizin bağlam sınırının altında kaldığını teyit ederek yakalayın.

Oturum sızıntısı: iki kullanıcının oturumları bir bellek ad alanını paylaşır. Bunu oturum izolasyon testleriyle yakalayın.

Eski semantik bellek: haftalar önce depolanan bilgi, mevcut gerçeklerle çelişir. Ajan güvenle yanlış bilgi verir. Bunu testinize bir "mevcut tarih" doğrulaması ekleyerek yakalayın: eğer ajan bir fiyat veya sürüm numarası belirtiyorsa, test bağlamında yüklediğiniz değerle eşleştiğini doğrulayın.

Gömülü kayması: bir gömülü modeliyle oluşturulmuş vektör depoları, farklı bir modele geçtiğinizde bozulur. Alınan tüm belgeler anlamsal olarak yanlış hale gelir. API aracılığıyla doğrudan test edilemez, ancak alınan bağlamın sorguyla anlamsal olarak ilgili olup olmadığını kontrol eden bir doğrulama ekleyebilirsiniz.

Bellek enjeksiyonu istem enjeksiyonu: depolanan ve alınan şeyleri manipüle eden kötü niyetli kullanıcı girdisi. Test paketinize düşmanca girdiler ekleyin: bir sistem istemi geçersiz kılma içeren bir "kullanıcı tercihi" depolayın ve ajanın bunu göz ardı ettiğini doğrulayın. Daha geniş API güvenlik testi rehberliği için [internal: rest-api-best-practices] bölümüne bakın.

Sonuç

Ajan belleği, zeki hisseden bir asistan ile hafızasını yitirmiş gibi hisseden bir asistan arasındaki farktır. Çalışma, epizodik, semantik ve prosedürel olmak üzere dört türün her biri ayrı bir rol oynar. Gerçek sistemlerde nasıl saklandıklarını ve alındıklarını anlamak, hataların tam olarak nerede saklanabileceğini ve API testlerinizde neleri doğrulamanız gerektiğini size söyler.

Hippo gibi araçlar, alanın ilkeli bellek mimarisine doğru ilerlediğini gösteriyor. Üzerine inşa ettiğiniz bellek sistemi ne olursa olsun, Apidog Test Senaryoları, özellikle ölçekte ortaya çıkan hata durumlarında, beklediğiniz gibi davrandığını doğrulamak için size test katmanını sunar.

düğme

Sıkça Sorulan Sorular

Bir ajana bellek eklemenin en basit yolu nedir?En basit yaklaşım, konuşma geçmişi üzerinde kayan bir penceredir: istemde son N dönüşü tutun. Bu epizodik bellek değildir, ancak kısa görevler için işe yarar. Daha uzun süreli ajanlar için, bir vektör deposu ve semantik erişim ekleyin.

OpenAI Assistants API belleği nasıl yönetir?Assistants API, konuşma geçmişini sunucu tarafında saklayan bir iş parçacığı nesnesini yönetir. Ayrıca ajana harici bilgiye erişim sağlayan dosya arama ve kod yorumlayıcı araçları da ekleyebilirsiniz. Bellek yönetimi soyutlanmıştır, bu uygun olsa da hata ayıklamayı zorlaştırır.

Ajan belleği için en iyi vektör veritabanı hangisidir?Yerel geliştirme için: Chroma (altyapı gerektirmez). Üretim için: Kendi barındırılan veya yönetilen ihtiyacınıza bağlı olarak Qdrant veya Pinecone. Hippo kütüphanesi takılabilir depolama arka uçlarını destekler. Claude Code'un kendi bellek katmanını nasıl kullandığı hakkında bilgi için [internal: claude-code] bölümüne bakın.

Ajanların geçmiş etkileşimleri halüsinasyon olarak algılamasını nasıl önlerim?Etkileşim günlüklerini meta verilerle (zaman damgası, güven, kaynak) yapılandırılmış bir biçimde saklayın. Geçmiş bağlamı alırken, meta verileri isteme dahil edin: "[tarih] tarihindeki konuşmamıza göre, X'ten bahsetmiştiniz." Açık atıf, kendinden emin halüsinasyonu azaltır.

Çalışan bir ajan olmadan ajan belleğini test edebilir miyim?Evet. Apidog'un Smart Mock özelliğini kullanarak ajanın API yanıtlarını, belleğe dayalı olanlar da dahil olmak üzere simüle edin. Oturum kimliğine veya istek gövdesinin içeriğine göre değişen mock yanıtları tanımlayın. Bu, canlı bir ajan olmadan ön uç veya entegrasyon katmanınızın bellek davranışını ele alışını test etmenizi sağlar.

Üretimde vektör depolama maliyeti ne kadar?Pinecone'un ücretsiz katmanı 100K vektör içeren 1 indeksi destekler. Ölçekte, Pinecone bir p1.x1 podu (1M 768 boyutlu vektör) için yaklaşık 0,096$/saat ücret alır. Qdrant'ın kendi kendine barındırılan sürümü ücretsizdir. Çoğu ajan için daha büyük maliyet, depolama değil, gömülü oluşturmadır. MCP sunucu entegrasyonlarının ajan bellek sistemleriyle nasıl etkileşime girdiğini görmek için [internal: what-is-mcp-server] bölümüne bakın.

RAG ile ajan belleği arasındaki fark nedir?RAG (erişim artırılmış üretim), sorgu anında sabit bir bilgi tabanından ilgili belgeleri alır. Ajan belleği dinamiktir: ajan etkileşim kurdukça büyür ve değişir. Bir RAG sistemi "belgeler X hakkında ne diyor?" sorusunu yanıtlar. Bir ajan bellek sistemi "bu kullanıcı hakkında ne biliyorum ve onlarla ne yaptım?" sorusunu yanıtlar.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin