İçeriğe atla
Şimdi yükleniyor
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • Yapay Zeka
  • Eve + Azure Cosmos DB: Unutmayan Ajan Nasıl Kurulur
Bulut Altyapı Veri & Analitik Yapay Zeka AI ajan, Azure Cosmos DB, Azure OpenAI, bağlam geri çağırma, eve, kalıcı hafıza, vektör arama A.KILIÇ 10/07/2026 0 Yorumlar

Eve + Azure Cosmos DB: Unutmayan Ajan Nasıl Kurulur

Eve + Azure Cosmos DB: Unutmayan Ajan Nasıl Kurulur
Ana Sayfa › Bulut Altyapı › Eve + Azure Cosmos DB: Unutmayan Ajan Nasıl Kurulur
📑 İçindekiler
  1. Önce şu "eve" olayını anlayalım
  2. Eve'in kasten yapmadığı şey
  3. Neden agent memory için Cosmos DB?
  4. Mimarinin kaba iskeleti
  5. Container tanımı ve vektör politikası
  6. Bir "hafıza kaydet" aracı yazmak
  7. Semantik hatırlama — asıl büyü burada
  8. Türkiye bağlamında bu ne anlama geliyor?
  9. Startup vs enterprise — hangi yol size uygun?
  10. Maliyet tarafı — TL bazında düşünürsek
  11. Sık düşülen hatalar ve çözümleri
  12. Partition key'i sohbet ID'sine göre seçmek
  13. Her mesajı embed edip yazmak
  14. TTL'i unutmak
  15. Managed Identity yerine key kullanmak
  16. Blog yazan bir ajan — pratik uygulama
  17. İlk adım olarak ne yapayım?
  18. Peki bu yaklaşım kusursuz mu?
  19. Sıkça Sorulan Sorular
  20. Ayrı bir vektör veritabanı yerine Cosmos DB kullanmak dezfayda yaratır mı?
  21. Eve prod ortamında ne kadar stabil?
  22. Embedding maliyetleri kontrolden çıkar mı?
  23. Managed Identity ile Cosmos DB'ye bağlanmak zor mu?
  24. KVKK ve data residency açısından ne yapmalıyım?
  25. Kaynaklar ve İleri Okuma
⏱️ 13 dk okuma📅 10 Temmuz 2026👁️ görüntülenme

Çoğu “AI ajan” demosu, terminal kapanınca her şeyi unutuyor. Küçük bir hobi işi için idare eder tabi. Ama gerçek hayatta — müşteri destek asistanı, içerik üreten bir yardımcı, ya da triage yapan bir ajan — iş orada kopuyor. Çünkü model tek başına iki şeyi veremiyor size: kalıcı hafıza, ve anlama göre doğru bağlamı geri çağırma işi.

Ben bu yazıda son birkaç haftadır kurcaladığım bir birleşimden bahsedeceğim: Vercel’in yeni eve platformu ile Azure Cosmos DB‘nın vektör aramasını yan yana koyunca ortaya çıkan “unutmayan ajan” düzeni. Kağıt üstünde basit dürüyor. Pratikte de fena değil — ama birkaç pürüz var, onlara da geleceğiz.

Hmm, bunu nasıl anlatsamdı…

Önce şu “eve” olayını anlayalım

Vercel AI SDK ile daha önce biraz oynadıysanız, eve size tanıdık geliyor. Aynı kafanın ajanlara bakışı bu; açık konuşayım, fikir baya iş görüyor: ajanınız bir klasördür. Graf DSL öğrenmiyorsunuz, orkestrasyon için ayrı bir sürü boilerplate de yazmıyorsunuz. Dosyaları koyuyorsunuz, eve onları çalışan bir ajana bağlıyor.

Peki bu pratikte ne demek? Kısaca şöyle. Evet.

  • Araçlar dosyadır. agent/tools/ içine bir defineTool({...}) bırakıyorsunuz — model önü görüyor. Kayıt yok, wiring yok. Zod ile şemayı yazıyorsunuz, JSON schema’yı eve kendi çıkarıyor.
  • Talimatlar Markdown. instructions.md sizin system prompt’unuz oluyor. Davranışı değiştirmek için kod kurcalamıyorsunuz, düzyazıyı elden geçiriyorsunuz. — ciddi fark yaratıyor
  • Model seçimi size ait. AI SDK’nın provider ekosistemi üstünde çalışıyor. OpenAI, Anthropic ya da — bu yazıda olduğu gibi — Azure OpenAI. Fark etmiyor aslında.

Azure OpenAI bağlantısı da sanıldığı kadar karışık değil, hatta ilk bakışta insan “bu kadar mı?” diyor:

import { createAzure } from "@ai-sdk/azure";
import { defineAgent } from "eve";
const azure = createAzure({
baseURL: `${process.env.AZURE_OPENAI_ENDPOINT}/openai`,
apiKey: process.env.AZURE_OPENAI_API_KEY,
apiVersion: "preview",
});
export default defineAgent({
model: azure.chat("gpt-4.1"),
});

Lokal tarafta eve dev deyince terminal içinde interaktif bir sohbet açılıyor. eve build işe deploy edilebilir bir sunucu üretiyor. Ajan dış dünyayla — blog API’niz, Cosmos DB, ne varsa — sadece sizin tanımladığınız araçlar üzerinden konuşuyor. Yalın. Ben de yalınlığı seviyorum, o yüzden bu taraf hoşuma gitti — dürüst olayım, biraz hayal kırıklığı —

İşte tam da bu noktada devreye giriyor.

Eve’in kasten yapmadığı şey

Eve size kalıcılık vermiyor. Bu bilinçli bir tercih, yanı öyle “unutulmuş” bir eksik değil — dürüst olayım, biraz hayal kırıklığı —. Bir model çağrısı stateless kalıyor, süreç yeniden başladığında konuşma uçup gidiyor; işte tam bu boşluğu Azure Cosmos DB dolduruyor. Stateless bir ajanı gerçekten hatırlayan bir şeye çeviriyor.

Neden agent memory için Cosmos DB?

Ajan hafizasi, klasik veritabanı tarafında biraz tuhaf bir yük profili çıkarıyor. Bakın şimdi; bir yandan minicik kayıtlar yazıyorsunuz, öbür taraftan anahtarla değil, anlamla okuma yapıyorsunuz, üstelik bunlar hızlı da olmalı. Peki neden zor? Çünkü is global dagilimla karışınca is biraz sapıtıyor; ayrıca ayrı bir vektör veritabanı çalıştırmak istemiyorsanız, hani olay daha da uğraştırıcı hâle geliyor.

Hmm, bunu nasıl anlatsamdı…

Cosmos DB NoSQL bu senaryoya fena oturuyor:

  • Tek haneli milisaniye point read’ler — id ve partition key sizdeyse, olay baya hızlı dönüyor.
  • Native vektör arama — embeddingleri orada tutup VectorDistance() ile sorguluyorsunuz. Yanına Pinecone, Qdrant, Weaviate kurayım mi diye dusunmenize gerek kalmıyor.
  • Native TTL — geçici hafizalari süre dolunca silmek için cron job kovalamıyorsunuz. Açık konuşayım, ben en çok buna seviniyorum.
  • Global dağıtım, otomatik indeksleme, esnek schema; yanı ilk bakışta sade dürüyor ama pratikte bayağı iş görüyor.

“Ajan hafizasi ayrı bir vektör DB istemez, tek bir doküman deposu ister — yeter ki hem key-value hem semantik sorgulasin.” Sahada gördüğüm en sağlam ilke bu.

Mimarinin kaba iskeleti

Ajanı kurarken kafamda üç ayrı hafıza kutusu var, işin aslı bu kadar basit görünüyor ama değil:

  1. Kısa vadeli — mevcut konuşma turunun bağlamı. TTL 1 saat mesela.
  2. Episodik — kullanıcının geçmiş etkileşimleri, “geçen hafta ne konuşmuştuk” gibi. TTL 30-90 gün.
  3. Semantik/Kalıcı — kullanıcı tercihleri, önemli notlar, blogun ton rehberi. TTL yok.

Her hafıza kaydı bir Cosmos DB dokümanı oluyor. İçinde metin, embedding vektörü, tip, timestamp ve partition key olarak userId var; bu son kısım kritik, çünkü partition seçimini ters yaparsanız sonra performans da şaşırıyor, fatura da (ikisi aynı anda), ben bunu birkaç projede acı acı gördüm.

Çok konuştum, örnekle göstereyim.

Evet.

Container tanımı ve vektör politikası

Cosmos DB’de vektör aramayı açmak için container oluştururken indexing policy ile vector embedding policy tanımlamanız gerekiyor. Bak şimdi, kağıt üstünde ufak bir ayar gibi dürüyor. Yanlış yazınca bütün kurgu dağılıyor; aşağıdaki yapı fena değil, hatta çoğu senaryoda gayet iş görüyor:

const containerDef = {
id: "agent-memory",
partitionKey: { paths: ["/userId"] },
vectorEmbeddingPolicy: {
vectorEmbeddings: [{
path: "/embedding",
dataType: "float32",
distanceFunction: "cosine",
dimensions: 1536
}]
},
indexingPolicy: {
vectorIndexes: [{ path: "/embedding", type: "quantizedFlat" }]
}
};

1536 boyut, text-embedding-3-small ile uyumlu. Daha büyük modellere geçerseniz bunu 3072’ye çekebilirsiniz; ama şey, burada küçük bir kıvrım var, depolama ve RU maliyeti de düz çizgi gibi artıyor, yanı “bir tık büyütelim” deyip geçmeyin.

Hmm, bunu nasıl anlatsamdı…

Aslında, Peki neden?

Bir “hafıza kaydet” aracı yazmak

Eve tarafında araç tanımı gerçekten üç dört satır. Zod şemasını yazıyorsunuz, handler’ı yazıyorsunuz, iş bitiyor gibi dürüyor. Ama işin aslı biraz daha kıvrımlı, çünkü ilk bakışta basit görünen bu parça, bütün hafıza akışının kapısını açıyor.

// agent/tools/remember.ts
import { defineTool } from "eve";
import { z } from "zod";
import { saveMemory } from "../lib/memory";
export default defineTool({
description: "Kullanıcı hakkında hatırlanması gereken bir bilgiyi kalıcı hafızaya yazar.",
input: z.object({
userId: z.string(),
content: z.string(),
type: z.enum(["preference", "fact", "context"])
}),
async execute({ userId, content, type }) {
await saveMemory({ userId, content, type });
return { ok: true };
}
});

saveMemory içinde önce embedding üretiyorsunuz (Azure OpenAI’nın embedding deployment’ından), sonra Cosmos’a upsert ediyorsunuz. Fazla süsü yok. Ben ilk denememde saçma bir şey yaptım — embedding çağrısını her yazımda tetikledim, RU tüketimi bir anda tavana vurdu; sonra ufak bir cache ekledim ve aynı içerik tekrar gelince embedding’i yeniden hesaplamamaya başladım. Basit ama baya iş görüyor.

Semantik hatırlama — asıl büyü burada

Recall tarafı biraz daha eğlenceli, hatta ilk gördüğümde “bu kadar mı?” dedirtti (ki bu çoğu kişinin gözünden kaçıyor). Kullanıcının o anki sorusunu embedding’e çeviriyorsunuz, sonra Cosmos’a şöyle bir sorgu atıyorsunuz:

SELECT TOP 5 c.content, c.type,
VectorDistance(c.embedding, @queryVector) AS score
FROM c
WHERE c.userId = @userId
ORDER BY VectorDistance(c.embedding, @queryVector)

Model tool’u çağırırken bunu kendi yapıyor. Yanı kullanıcı “geçen sefer bahsettiğim o Next.js problemini hatırlıyor musun” dediğinde ajan recall aracını çağırıyor, en yakın 5 anıyı bulup context’e ekliyor; sonra da sanki olayları gerçekten aklında tutuyormuş gibi davranıyor. Açık konuşayım, tam da burada sistemin havası değişiyor.

Peki neden? Çünkü düz metin saklamak yetmiyor bazen. Evet.

Türkiye bağlamında bu ne anlama geliyor?

Sahada gördüğüm tablo su: Türkiye’deki kurumsal ekiplerin büyük kısmı hâlâ “AI ajan” deyince RAG boru hattını düşünüyor — bir vektör DB, bir LLM, arada da retriever. Kötü mu? Değil. Ama ajan davranışıyla karışınca is dağılıyor, yönetimi de biraz uğraştırıyor. Ayrı bir vektör DB (Pinecone, Weaviate) kullanmak hem lisans hem operasyon maliyeti demek; Cosmos DB. Azure faturanizda varsa, tek data store içinde hem operasyonel veriyi hem hafızayı tutmak ciddi bir sadeleşme. Daha fazla bilgi için GPT-5.6 Sol, Terra, Luna Copilot’ta: Hangisi Sizin İçin? yazımıza bakabilirsiniz.

Bir de işin o pek konusulmayan tarafı var. Türkiye’deki müşterilerde data residency hassasiyeti artıyor, bunu artık net görüyorum. Azure’un Türkiye bölgesi henüz Cosmos DB’nın tüm özelliklerini (vektör arama dahil) desteklemese de, Kuzey Avrupa ya da Batı Avrupa çoğu senaryoda KVKK tarafında kabul edilebilir kalıyor; ayrıca SaaS olarak ayrı bir vektör DB kullanıyorsanız, avukatlara sormak gerekecek gibi dürüyor —. O kısım genelde uzun süren, bitmek bilmeyen bir toplantıya dönüyor.

Startup vs enterprise — hangi yol size uygun?

Bu ayrımı biraz kaba ama işlevsel şekilde yapmak lazım. Çünkü herkes aynı yerden başlamıyor.

Senaryo Öneri Neden
Küçük ekip / MVP Cosmos DB Serverless + eve RU tüketimi düşükse fatura minimum, altyapı derdi yok
Orta ölçek SaaS Cosmos DB Autoscale + eve + Container Apps Trafik dalgalanmalarina uyum sağlıyor
Kurumsal / reguleli Provisioned RU + Private Endpoint + Managed Identity Öngörülebilir maliyet, ag izolasyonu, denetim

Küçük ekipseniz Serverless ile başlayın; ayda birkaç dolara ajanın hafizasini çalıştırırsınız, fazla kasmaya da gerek kalmaz. Enterprise tarafındaysanız — özellikle bankacılık ve sağlık gibi alanlarda — provisioned kapasite ile private endpoint neredeyse pazarlık konusu bile olmuyor. Azure IaaS Maliyet Optimizasyonu: Sahadan FinOps Notları yazımda benzer trade-off’ları. Detaylı anlatmıştım; açıkçası oradaki mantık burada da birebir geçiyor.

Maliyet tarafı — TL bazında düşünürsek

Şimdi işin can sıkıcı ama önemli kısmı. Bir yıl önce bir müşteride vektör DB tarafını hesaplarken kaba bir tablo çıkarmıştım; güncel kurla oynayın, mantık aynı kalır, hatta bazen insan “bu kadar mı?” diye bakıyor. Daha fazla bilgi için vcpkg Haziran 2026: Cache Atlama, OHOS ve 2.849 Port Hazır yazımıza bakabilirsiniz.

  • Cosmos DB Serverless: 1 milyon operasyon yaklaşık ~$0.25. Hafıza yoğun kullanılmayan bir ajan için ayda 5-15 dolar bandı baya iş görüyor, yanı öyle uçuk bir fatura gelmiyor.
  • Embedding maliyeti: text-embedding-3-small 1M token için yaklaşık ~$0.02. Yanı 100 bin kısa anı yazsanız bile birkaç doları geçmiyorsunuz, şaşırdım açıkçası.
  • Vector index storage: Boyut arttıkça artıyor, evet, ama quantizedFlat kullanırsanız ciddi tasarruf alıyorsunuz (özellikle veri şişmeye başlayınca fark daha net çıkıyor).

Hani bazıları “vektör DB için ayrı bir Pinecone Pro planı alalım” diyor ya — dur bir saniye, o plan tek başına ayda 70 dolardan başlıyor. Cosmos’ta hepsi bir arada dürüyor. Daha açık söyleyeyim, fena değil.

💡 Bilgi: Provisioned RU kullanıyorsanız, vektör indeksleme ilk yükte RU’yu geçici olarak yiyor. Prod’a atmadan önce yükseğe ayarlayıp sonra düşürün — yoksa 429’lar canınızı sıkar.

Sık düşülen hatalar ve çözümleri

Bu işi kurarken insanın ayağına hep aynı taşlar takılıyor, açık konuşayım. Birkaç tanesi var ki ilk bakışta ufak görünüyor, ama sonra maliyet, gecikme, gereksiz sorgu derken başınızı ağrıtıyor; yanı mesele sadece “çalışsın” değil, biraz da uzun vadede rahat ettirsin. Daha fazla bilgi için Node Readiness Controller: Kubernetes’te Ready’nin Ötesi yazımıza bakabilirsiniz.

Bir dakika — bununla bitmedi. GitHub Copilot Upgrade Canvas: .NET Modernizasyonu Yeni Boyutta yazımızda bu konuya da değinmiştik.

Partition key’i sohbet ID’sine göre seçmek

Yanlış seçim bu. Sohbet ID’sine göre partition ayırınca, kullanıcının geçmişini toparlamak için cross-partition sorguya mecbur kalıyorsunuz — hem yavaşlıyor hem de faturayı şişiriyor. userId ile partition edin; bir kullanıcının pek çok hafızası aynı yerde dursun, sonra aradığınızı bulmak da daha az can sıkıcı oluyor.

Her mesajı embed edip yazmak

Bunu da çok gördüm. Model bazen araya “tamam, anladım” ya bir düşüneyim… da “devam edeyim mi” gibi boş mesajlar sıkıştırıyor, şey gibi düşünün; bunları direkt hafızaya basarsanız depo çöp kutusuna dönüyor. Bir salience filtresi koyun (küçük bir prompt yeter), LLM’e “bu bilgi gerçekten hatırlanmaya değer mi” diye sorun; evet diyorsa yazın, değilse geçin gitsin. Bu konuyla ilgili Innersource Security Advisories GA: Kurum İçi Zafiyet Yönetimi yazımıza da göz atmanızı tavsiye ederim.

TTL’i unutmak

Burası sessiz sedasız patlıyor. Kısa vadeli hafızayı TTL’sız bırakırsanız container zamanla şişiyor, sorgular ağırlaşıyor ve sız de “neden böyle öldü” diye bakıp kalıyorsunuz; Cosmos’ta doküman bazında TTL var, bunu kullanmamak biraz tembellik gibi dürüyor. Ben genelde ttl: 3600 ile 1 saatlik conversation buffer tutuyorum, kalıcı olanları da ttl: -1 ile bırakıyorum.

Managed Identity yerine key kullanmak

İşin garibi, Hâlâ connection string gören oluyorum, şaşırdım açıkçası. Azure Container Apps ya da App Service üstünde eve’i deploy ediyorsanız, Managed Identity ile Cosmos DB’ye bağlanın; key rotation diye bir dert kalmıyor, secret leak riski de baya azalıyor. Prod tarafında bence bu işin yolu bu.

Blog yazan bir ajan — pratik uygulama

İtiraf edeyim, Örneğin son parça şu: eve’in içine blog yazma araçlarını da koyuyoruz. listPosts, createPost, updatePost gibi fonksiyonlar var. Bunlar gidip Next.js blogunuzun API endpoint’lerine bağlanıyor, işte olay bu. Ajan yazı üretirken hafızadan yazarın tonunu, sevdiği başlık formatını, daha önce hangi konulara girdiğini çekiyor; yanı ikinci yazıda “abi geçen seferkinin devamı gibi olsun. Biraz daha teknik” dediğinizde, gerçekten geçmişe bakıp ona göre yazıyor. Fena değil.

Peki neden önemli? Çünkü burada sadece “metin yaz” demiyoruz, biraz da bağlam veriyoruz. Yanı sistem bir yerden sonra sizin üslubunuzu kokluyor gibi oluyor (tabi tam insan gibi değil, o ayrı), ama yine de aynı çizgide kalmayı başarıyor. Az önce anlattığım şey basit dürüyor olabilir, ama pratikte asıl farkı orada görüyorsunuz.

Bu mimariyi Agent Framework Orchestration 1.0: Çoklu Ajan Koordinasyonu Yetişkin yazısındaki multi-agent yaklaşımıyla birleştirmek de mümkün — bir “yazar” ajanı, bir “editör” ajanı, üstüne ortak bir hafıza havuzu. Hatta bazen editör ajanı yazarın fazla dağıttığı yerleri toparlıyor, bazen de yazar “ben bunu böyle istememiştim” diye geri dönüyor; garip ama baya iş görüyor. Ama o başka bir yazının konusu.

Bir de şunu eklemek lazım: Cosmos DB’yi Logic Apps ile beslemek de seçenekler arasında. Mesela CRM’inizden müşteri — ki bu tartışılır — notu geldiğinde otomatik olarak hafızaya düşsün istiyorsanız, Cosmos DB Built-in Connector for Logic Apps Standard GA Öldü yazısında bahsettiğim connector işinizi görür. Açık konuşayım, her senaryoda şart değil; ama veri akışı biraz büyüyünce eliniz rahatlıyor (en azından benim deneyimim böyle). E sonra? İşte o zaman otomasyon kendini belli ediyor.

İlk adım olarak ne yapayım?

Denemek istiyorsanız, yol haritası aslında baya net; bir hafta sonu yetiyor, hatta biraz acele ederseniz cumartesi akşamı bile ilk sonuçları görürsünüz: (en azından benim deneyimim böyle)

  1. Azure Portal’da bir Cosmos DB NoSQL account açın (Serverless, tek bölge — test için yeter). — bunu es geçmeyin
  2. Vector policy’li bir container oluşturun (yukarıdaki tanımı kullanın). (bu kritik)
  3. Azure OpenAI’de bir text-embedding-3-small deployment açın.
  4. npm create eve-app ile bir eve projesi başlatın.
  5. remember ve recall araçlarını yazın.
  6. eve dev ile terminale düşün, kendinizle konuşun. İkinci turda hatırladığını göreceksiniz.

İlginç olan şu ki, Açık konuşayım, ilk denememde tam iki gün embed dimension mismatch hatasıyla uğraştım; çünkü bir yerde 1536 yazmışım, başka tarafta 3072 kalmış, sonra da neden olmuyor diye boş boş ekrana bakmışım. Kontrol edin, aynı boyutu heryerde tuttuğunuzdan emin olun. Küçük detay gibi dürüyor ama insanın sınırını ciddi bozuyor.

Şunu fark ettim: Peki neden?

Çünkü bu işte hata çoğu zaman modelde değil, ayarda çıkıyor; yanı embedding boyutu, container policy ve deployment tarafı birbirine tam oturmazsa sistem sessizce takılıyor, sız de “tamam ya çalışır şimdi” diye beklerken aslında yanlış yere bakmış oluyorsunuz. Evet, biraz can sıkıcı.

Neyse uzatmayalım; önce küçük bir kurulum yapın, sonra veriyi yazıp geri çağırmayı deneyin. Sonuç geldiğinde fark şurada ortaya çıkıyor: Eve konuşuyor gibi görünse de arka tarafta doğru vektör eşleşmesi yoksa hafıza kısmı neredeyse tamamen havada kalıyor. İşte kritik nokta bu.

Eğer ilk turda garip davranırsa şaşırmayın. Ben de şaşırdım açıkçası.

Peki bu yaklaşım kusursuz mu?

Değil tabi. Hatta hiç öyle değil. Eve henüz genç bir proje, o yüzden dokümantasyon Vercel’in AI SDK’sı kadar oturmuş sayılmaz; community örnekleri de az biraz sınırlı kalıyor, Cosmos DB tarafında vektör arama da hâlâ yeni sayılır (özellikle metadata ile vektörü birlikte sıraladığınız senaryolarda), kağıt üstünde güzel duran şey pratikte bazen ufak tefek cilaya ihtiyaç duyuyor.

İşin aslı bu. Zamanla toparlar diye bakıyorum. Bir de gpt-4.1 gibi büyük modellerde tool call latency bazen 2-3 saniyeye çıkabiliyor, kullanıcı bunu hissediyor yanı; streaming’i açık tutmak, ekranda bir “düşünüyorum” hali göstermek, hatta ufak bir bekleme animasyonu koymak bile fark yaratıyor, UX detayı gibi dürüyor ama kullanıcı tarafında baya iş görüyor.

Aslında, Yine de bütününe baktığımda — stateless bir ajanı gerçekten hatırlayan bir asistana çevirmek için şu an daha az sürtünmeli bir yol pek göremiyorum, hani başka kombinasyonlar var ama ya fazla uğraştırıyor ya da parçalar birbirine tam oturmuyor; açık konuşayım, ben bunu denemeye değer buluyorum.

Sıkça Sorulan Sorular

Ayrı bir vektör veritabanı yerine Cosmos DB kullanmak dezfayda yaratır mı?

Aşırı yüksek ölçekte —. Saniyede binlerce vektör araması yapıyorsanız — — en azından ben öyle düşünüyorum — Milvus veya Qdrant gibi özelleşmiş vektör DB’ler daha optimize kalıyor, bunu söylemek lazım. Ama tipik ajan hafıza yükünde, mesela kullanıcı başına birkaç yüz ile birkaç bin kayıt arası, Cosmos DB fazlasıyla yeterli. Hani ne farkı var diyorsunuz, değil mi? Açıkçası ekstra bir servisi ayağa kaldırıp yönetmemek başlı başına büyük bir avantaj bence.

Eve prod ortamında ne kadar stabil?

Henüz erken dönem bir proje, bunu göz önünde bulundurun. Vercel arkasında olduğu için tempo hızlı ilerliyor. Semver’e güvenip pinlemeden geçmeyin; tecrübeme göre prod deploy ederken lock file’ı çok sıkı tutmak, minör sürüm atlamalarını da manuel yapmak en sağlıklısı.

Embedding maliyetleri kontrolden çıkar mı?

Filtre koyarsanız hayır. Salience skorlaması ve content hash cache kullanıp aynı içeriği tekrar tekrar embed etmezseniz maliyet gayet öngörülebilir kalıyor. Aslında tipik senaryolarda aylık birkaç dolar bandında konuşuyoruz.

Managed Identity ile Cosmos DB’ye bağlanmak zor mu?

Hayır, birkaç satır iş. DefaultAzureCredential kullanıp Cosmos hesabında role assignment yapıyorsunuz — genelde Cosmos DB Built-in Data Contributor rolü yeterli oluyor. Böylece key rotation derdi de tamamen ortadan kalkıyor.

KVKK ve data residency açısından ne yapmalıyım?

Cosmos DB’yi Türkiye veya Avrupa bölgelerinden birinde açın. Kullanıcı verisini şifreli sütunlarda tutun, yanı Cosmos’taki CMK opsiyonunu değerlendirin. Ajan konuşmalarını loglarken PII maskeleme yapmayı ihmal etmeyin. Denetim gerekiyorsa diagnostic settings ile Log Analytics’e yönlendirmeniz yeterli.

Kaynaklar ve İleri Okuma

Building on Vercel’s eve + Azure Cosmos DB: An Agent That Remembers (Orijinal Yazı)

Bakın, Azure Cosmos DB NoSQL Vector Search Dokümantasyonu

Açık konuşayım, Azure Cosmos DB JavaScript SDK — GitHub

Vercel AI SDK Dokümantasyonu

Aşkın KILIÇ
Aşkın KILIÇYazar

20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

AZ-305AZ-104AZ-500AZ-400DP-203AI-102

İlgili Yazılar

VS Code’da MSSQL Eklentisinde Neler Değişti? Yapay Zekâlı Şema Tasarımı ve Daha Fazlası
VS Code’da MSSQL Eklentisinde Neler Değişti? Yapay Zekâlı Şema Tasarımı ve Daha Fazlası25 Mar 2026
GitHub Copilot ile azd: Terminalde Akıllı Kurulum, Hızlı Çözüm
GitHub Copilot ile azd: Terminalde Akıllı Kurulum, Hızlı Çözüm31 May 2026
ASP.NET Core 2.3 İçin Saat İşliyor: Ne Yapmalı?
ASP.NET Core 2.3 İçin Saat İşliyor: Ne Yapmalı?7 Nis 2026
Azure Files’ta Kimlik Duvarı Kalktı: Entra-Only Dönemi
Azure Files’ta Kimlik Duvarı Kalktı: Entra-Only Dönemi23 May 2026

Bu içerik işinize yaradı mı?

Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.

X / Twitter LinkedIn YouTube GitHub

Haftalık Bülten

Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket AI ajan Azure Cosmos DB Azure OpenAI bağlam geri çağırma eve kalıcı hafıza vektör arama

Yorum gönder Yanıtı iptal et

A.KILIÇ

Microsoft Azure Çözüm Uzmanı | Bulut Bilişim, Yapay Zekâ, DevOps ve Kurumsal Güvenlik alanlarında 15+ yıl deneyim. Azure, Kubernetes, AI/ML ve modern altyapı mimarileri üzerine yazılar yazıyorum.

view all posts
Önceki yazı

GitHub Copilot Upgrade Canvas: .NET Modernizasyonu Yeni Boyutta

İlginizi Çekebilir

GitHub Copilot Upgrade Canvas: .NET Modernizasyonu Yeni Boyutta
A.KILIÇ 0

GitHub Copilot Upgrade Canvas: .NET Modernizasyonu Yeni Boyutta

09/07/2026
GPT-5.6 Sol, Terra, Luna Copilot'ta: Hangisi Sizin İçin?
A.KILIÇ 0

GPT-5.6 Sol, Terra, Luna Copilot’ta: Hangisi Sizin İçin?

09/07/2026
Innersource Security Advisories GA: Kurum İçi Zafiyet Yönetimi
A.KILIÇ 0

Innersource Security Advisories GA: Kurum İçi Zafiyet Yönetimi

09/07/2026

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Eve + Azure Cosmos DB: Unutmayan Ajan Nasıl Kurulur
    10/07/2026 Eve + Azure Cosmos DB: Unutmayan Ajan Nasıl Kurulur
  • GitHub Copilot Upgrade Canvas: .NET Modernizasyonu Yeni Boyutta
    09/07/2026 GitHub Copilot Upgrade Canvas: .NET Modernizasyonu Yeni Boyutta
  • GPT-5.6 Sol, Terra, Luna Copilot'ta: Hangisi Sizin İçin?
    09/07/2026 GPT-5.6 Sol, Terra, Luna Copilot’ta: Hangisi Sizin İçin?
  • Innersource Security Advisories GA: Kurum İçi Zafiyet Yönetimi
    09/07/2026 Innersource Security Advisories GA: Kurum İçi Zafiyet Yönetimi
  • Node Readiness Controller: Kubernetes'te Ready'nin Ötesi
    09/07/2026 Node Readiness Controller: Kubernetes’te Ready’nin Ötesi
  • DevOps Güncellemeleri
    09/03/2026 Azure DevOps Server Şubat Güncellemesi: Güvenlik
  • Artımlı Anlık Görüntü: Anında Geri Yükleme
    09/03/2026 Artımlı Anlık Görüntü: Anında Geri Yükleme
  • Veri Merkezi Güvenilirliği
    09/03/2026 Azure’da Kesintisiz Çalışma: Güvenilirlik ve Kurtarma
  • 2026-03-10_15-35-23
    10/03/2026 Microsoft 365 E7: Yapay Zeka ve Güvenlik Bir Arada
  • Yapay zeka ve kodlama temasinda binary kod projeksiyonu
    12/03/2026 Azure Boards ve Copilot: Takımınıza Kendi Ajanı
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durdu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

SİZİN İÇİN DERLEDİK

Eve + Azure Cosmos DB: Unutmayan Ajan Nasıl Kurulur
Bulut Altyapı Veri & Analitik Yapay Zeka

Eve + Azure Cosmos DB: Unutmayan Ajan Nasıl Kurulur

10/07/2026 A.KILIÇ
GitHub Copilot Upgrade Canvas: .NET Modernizasyonu Yeni Boyutta
Bulut Altyapı Geliştirici Araçları Yapay Zeka

GitHub Copilot Upgrade Canvas: .NET Modernizasyonu Yeni Boyutta

09/07/2026 A.KILIÇ
GPT-5.6 Sol, Terra, Luna Copilot'ta: Hangisi Sizin İçin?
Bulut Altyapı Geliştirici Araçları Microsoft 365

GPT-5.6 Sol, Terra, Luna Copilot’ta: Hangisi Sizin İçin?

09/07/2026 A.KILIÇ
Innersource Security Advisories GA: Kurum İçi Zafiyet Yönetimi
Bulut Altyapı DevOps Güvenlik & Kimlik

Innersource Security Advisories GA: Kurum İçi Zafiyet Yönetimi

09/07/2026 A.KILIÇ
Node Readiness Controller: Kubernetes'te Ready'nin Ötesi
DevOps Konteyner & Kubernetes

Node Readiness Controller: Kubernetes’te Ready’nin Ötesi

09/07/2026 A.KILIÇ
vcpkg Haziran 2026: Cache Atlama, OHOS ve 2.849 Port Hazır
DevOps Geliştirici Araçları

vcpkg Haziran 2026: Cache Atlama, OHOS ve 2.849 Port Hazır

09/07/2026 A.KILIÇ
VS Code Haziran 2026 Copilot: Paralel Ajanlar ve Maliyet Netliği
Geliştirici Araçları Yapay Zeka

VS Code Haziran 2026 Copilot: Paralel Ajanlar ve Maliyet Netliği

08/07/2026 A.KILIÇ
Copilot CLI ile GitHub Pages'e Custom Domain: DNS Derdi Bitti
Bulut Altyapı Geliştirici Araçları

Copilot CLI ile GitHub Pages’e Custom Domain: DNS Derdi Bitti

08/07/2026 A.KILIÇ
Agent Framework Orchestration 1.0: Çoklu Ajan Koordinasyonu Yetişkin
Bulut Altyapı Geliştirici Araçları Yapay Zeka

Agent Framework Orchestration 1.0: Çoklu Ajan Koordinasyonu Yetişkin

08/07/2026 A.KILIÇ
Kubernetes DRA GA: Cihaz Yönetiminde Yeni Dönem Başladı
Bulut Altyapı Konteyner & Kubernetes

Kubernetes DRA GA: Cihaz Yönetiminde Yeni Dönem Başladı

08/07/2026 A.KILIÇ
Azure Functions'ta MCP Apps: TypeScript ile Hızlı Başlangıç
Bulut Altyapı Geliştirici Araçları Microsoft Azure

Azure Functions’ta MCP Apps: TypeScript ile Hızlı Başlangıç

08/07/2026 A.KILIÇ
GitHub Secret Scanning: Genişletilmiş Metadata ve Çoklu Doğrulama
Geliştirici Araçları Güvenlik & Kimlik

GitHub Secret Scanning: Genişletilmiş Metadata ve Çoklu Doğrulama

07/07/2026 A.KILIÇ

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

.NET 11 AI agent AI ajanları Azure Azure Boards Azure Cosmos DB Azure Developer CLI Azure DevOps Azure OpenAI azure sdk Azure SQL bulut bilişim CI/CD copilot DevOps DevSecOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes kurumsal entegrasyon Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu Microsoft Agent Framework Microsoft Azure Microsoft Foundry MSVC otomasyon performans Pull Request Python RAG SEO uyumlu verimlilik veri yönetimi Visual Studio VS Code yapay zeka yapay zeka ajanları Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

🍪 Bu sitede içerik deneyiminizi iyileştirmek için çerezler kullanılmaktadır. Siteyi kullanmaya devam ederek KVKK ve Çerez Politikamızı kabul etmiş sayılırsınız.
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 233 yazı 🏗️ Bulut Altyapı 206 yazı 🤖 Yapay Zeka 176 yazı 🔧 DevOps 140 yazı ☁️ Microsoft Azure 138 yazı 🔒 Güvenlik & Kimlik 131 yazı 🏢 Kurumsal Teknoloji 52 yazı 📊 Veri & Analitik 50 yazı 🐳 Konteyner & Kubernetes 38 yazı 📧 Microsoft 365 14 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp Telegram X LinkedIn
İçindekiler
    ← GitHub Copilot Upgrade Canvas:...
    →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazıları LinkedIn ve X'te ilk burada.
    LinkedIn X / Twitter GitHub RSS