24 Eki 2025·8 dk

AI Prototiplerini Üretime Hazır Sistemlere Taşımanın Yolu

AI prototiplerini üretime taşıma konusunda pratik rehber: hedef belirleme, veri, değerlendirme, mimari, güvenlik, izleme ve kademeli dağıtım adımları.

AI Prototiplerini Üretime Hazır Sistemlere Taşımanın Yolu

Prototip vs. Üretim: Gerçekte Ne Değişir

Bir prototip tek bir soruyu yanıtlamak için yapılır: “Bu işe yarar mı?” Üretim sistemi ise farklı bir dizi soruyu yanıtlamalıdır: “Bu her gün, çok sayıda kullanıcı için, kabul edilebilir bir maliyetle ve net sorumlulukla çalışır mı?” İşte bu fark, AI prototiplerinin demo sırasında parlamasına ama lansmandan sonra tökezlemesine neden olur.

Neden demolar başarılı olur (ve üretim olmaz)

Prototipler genellikle ideal koşullar altında çalışır: küçük, elle seçilmiş bir veri seti, tek bir ortam ve sorunları sessizce düzelten bir kişi. Bir demoda gecikme sıçramaları, eksik alanlar veya ara sıra yanlış bir yanıt mazur görülebilir. Üretimde bu sorunlar destek biletleri, müşteri kaybı ve risk olur.

“Üretime hazır” olmak gerçekten ne demek

Üretime hazır AI daha iyi bir modelden çok, öngörülebilir operasyonlarla ilgilidir:

  • Güvenilirlik: net çalışma süresi hedefleri, kibar hata modları ve tutarlı performans.
  • Güvenlik: zararlı çıktıları azaltacak kontroller ve sistemin belirsiz olduğu durumlarda yükseltme yolları.
  • Maliyet ve hız: hesaplama ve API bütçeleri, kullanıcı yolculuğuna uyan gecikme süreleri.
  • Desteklenebilirlik: loglama, dokümantasyon ve on-call sahipliği, sorunların uzun süre beklememesi için.

Dikkat edilecek yaygın geçiş riskleri

Ekipler genellikle şu konularda şaşırır:

  • Veri kayması: gerçek dünya girdileri değişir ve doğruluk sessizce düşer.
  • Gizli manuel adımlar: birisi “sadece” bir sütunu temizliyordur, promptları yapıştırır veya hatalarda işleri elle yeniden çalıştırır.
  • Belirsiz sahiplik: uçtan uca sonuçtan tek bir ekip sorumlu değildir (model, veri, altyapı, UX).

Bu rehberin sonunda neye sahip olacaksınız

Tekrarlanabilir bir geçiş planı ile ayrılacaksınız: başarıyı nasıl tanımlayacağınız, veriyi nasıl hazırlayacağınız, ölçeklemeden önce nasıl değerlendireceğiniz, üretim mimarisini nasıl seçeceğiniz, maliyet/gecikmeyi nasıl planlayacağınız, güvenlik beklentilerini nasıl karşılayacağınız, insan denetimini nasıl tasarlayacağınız, performansı nasıl izleyeceğiniz ve güvenli bir şekilde nasıl dağıtım yapacağınız—böylece bir sonraki prototipiniz tek seferlik bir demo olarak kalmaz.

Hedefi, Kapsamı ve Başarı Metriklerini Kilitleyin

Bir prototip “yeterince iyi” hissi verebilir çünkü demo iyi görünür. Üretim farklıdır: AI’nın ne için olduğu, ne olmadığı ve başarıyı nasıl ölçeceğiniz konusunda paylaşılmış, test edilebilir bir anlaşmaya ihtiyacınız var.

Kullanıcı iş akışıyla başlayın

AI’nın tam olarak hangi anda kullanıldığını ve öncesinde/sonrasında ne olduğunu tanımlayın. Kim isteği tetikliyor, çıktıyı kim tüketiyor ve hangi karar(lar)ı/davranışı destekliyor?

Somut tutun:

  • Kullanıcı hangi ekran, form, ticket veya sohbetten başlatıyor?
  • AI ne döndürüyor (yanıt, taslak, sınıflandırma, öneri)?
  • Kullanıcı sonra ne yapıyor (onayla, düzenle, yükselt, görmezden gel)?

Beş dakikada iş akışını çizemiyorsanız, kapsam hazır değildir.

İş sonucu tanımlayın

AI’yı işin zaten önem verdiği bir sonuca bağlayın: daha az destek süreleri, daha hızlı belge incelemesi, daha yüksek lead kalifikasyonu, azaltılmış kaçak defektler vb. “AI kullanarak modernize et” gibi ölçülemeyen hedeflerden kaçının.

Başarı metriklerini seçin (sadece kalite değil)

Kullanışlılığı gerçek dünya kısıtlarıyla dengede tutan küçük bir metrik seti seçin:

  • Kalite: görev başarı oranı, doğruluk/hassasiyet, hata şiddeti veya derecelendirilmiş bir rubrik.
  • Gecikme: p95 yanıt süresi ve time-to-first-token (LLM’ler için).
  • Maliyet: istek başı maliyet, çözülen vaka başı maliyet veya aylık harcama sınırı.
  • Benimsenme: aktivasyon oranı, tekrar kullanım, tamamlama oranı veya insan geçersiz kılma oranı.

Vazgeçilemezleri ve v1 “yapım tanımını” belirleyin

İhlal edilemeyecek kısıtları yazın: çalışma süresi hedefi, kabul edilebilir hata modları, gizlilik limitleri (hangi verilerin gönderilip gönderilemeyeceği) ve yükseltme gereksinimleri.

Sonra basit bir v1 kontrol listesi oluşturun: hangi kullanım durumları dahil, hangileri açıkça kapsama girmez, minimum metrik eşikleri neler ve hangi kanıtları kabul edeceksiniz (panolar, test sonuçları, onay). Bu, sonraki her karar için dayanak noktanız olur.

Veri Hazırlığı: Kaynaklar, Kalite ve Yönetişim

Bir prototip küçük, elle seçilmiş bir veri setiyle etkileyici görünebilir. Üretim farklıdır: veri sürekli akar, birden fazla sistemden gelir ve “dağınık” vakalar norm olur. Her şeyi ölçeklemeden önce hangi veriyi kullanacağınızı, nereden geldiğini ve çıktıdan kimin etkilendiğini açıkça belirtin.

Veri akışlarınızı uçtan uca haritalayın

Başlarken tam zinciri listeleyin:

  • Girdiler: kullanıcı metni, görüntüler, clickstream olayları, dokümanlar, sensör verisi, CRM alanları—modelin okuyacağı her şey.
  • Etiketler / geri bildirim: gerçek etiketler, insan incelemeleri, kullanıcı düzeltmeleri, beğeni/ayrılma, destek ticketları.
  • Aşağıdaki tüketiciler: ürün özellikleri, temsilciler, panolar, otomatik işlemler veya diğer hizmetler.

Bu harita sahipliği, gerekli izinleri ve her tüketici için “iyi” çıktının ne anlama geldiğini netleştirir.

Ne saklayacağınıza (ve ne kadar süreyle) karar verin

Ne saklayabileceğinizi, ne kadar süreyle ve neden saklayacağınızı yazın. Örneğin: hata ayıklama için istek/yanıt çiftlerini saklayın, ancak sınırlı bir saklama süresiyle; trend analizi için toplanmış metrikleri daha uzun saklayın. Depolama planınızın gizlilik beklentileri ve iç politika ile eşleştiğinden emin olun ve ham veriye kimlerin erişebileceği ile anonim örneklere kimlerin erişeceğini tanımlayın.

Pratik bir veri kalite kontrol listesi oluşturun

Otomatize edilebilen hafif bir kontrol listesi kullanın:

  • Eksik değerler ve boş yükler
  • Kopyalar ve yeniden oynatılan olaylar
  • Uç değerler (uzunluk, boyut, alışılmadık formatlar)
  • Sınıf dengesizliği ve önyargı sinyalleri (bölge, cihaz, dil bazlı çarpıklık)
  • “Sessiz hatalar” (varsayılanlar, yer tutucu metin, kırpılmış dosyalar)

Tekrarlanabilirlik için veri setlerini ve promptları versiyonlayın

Sonuçlar değişirse neyin değiştiğini bilmeniz gerekir. Veri setlerinizi (anlık görüntüler veya hashler), etiketleme kurallarını ve prompt/şablonları versiyonlayın. Her model sürümünü, kullanılan tam veri ve prompt sürümüyle ilişkilendirin ki değerlendirmeler ve olay incelemeleri tekrarlanabilir olsun.

Değerlendirme: Ölçeklemeden Önce Testler Oluşturun

Prototip demoları genellikle “iyi hissettirir” çünkü mutlu yollar test edilir. Gerçek kullanıcıya ölçeklemeden önce kaliteyi ölçmenin tekrarlanabilir bir yoluna ihtiyacınız var ki kararlar hislere dayanmasın.

İki katmanlı değerlendirme kullanın

Önce istediğiniz zaman çalıştırabileceğiniz offline testler ile başlayın (her sürümden önce), sonra sistem canlıyken çevrimiçi sinyalleri ekleyin.

Offline testler şu soruyu yanıtlar: Bu değişiklik modelimizi ilgilendiğimiz görevlerde daha iyi mi yoksa daha kötü mü yaptı? Çevrimiçi sinyaller ise: Kullanıcılar başarılı oluyor mu ve sistem gerçek trafikte güvenli davranıyor mu?

Küçük, temsilî bir “golden set” oluşturun

Gerçek kullanımı yansıtan, tipik istekleri, en sık kullanılan iş akışlarını ve beklenen formatta çıktıları içeren küratörlü bir set oluşturun. İlk başta kasıtlı olarak küçük tutun (ör. 50–200 öğe) ki bakım kolay olsun.

Her öğe için “iyi”nin ne olduğunu tanımlayın: referans cevap, puanlama rubriği veya kontrol listesi (doğruluk, bütünlük, ton, atıf vb.). Amaç tutarlılıktır—iki kişi aynı çıktıyı benzer şekilde puanlamalıdır.

Kenar durumlarını erken ekleyin

Üretimi bozma olasılığı yüksek testleri dahil edin:

  • Hassas veya kısıtlı içerik (PII, tıbbi/hukuki iddialar, politika ihlalleri)
  • Netleştirme gerektiren belirsiz istekler
  • Çok uzun girdiler ve düzensiz formatlama (tablolar, kopyalanmış e-postalar, karışık diller)
  • Adversaryal promptlar (prompt enjeksiyonu denemeleri, jailbreak tarzı ifadeler)

Eşikleri belirleyin—ve geri alma tetiklerini tanımlayın

Önceden neyin kabul edilebilir olduğunu kararlaştırın: minimum doğruluk, maksimum uydurma (hallucination) oranı, güvenlik geçiş oranı, gecikme bütçesi ve istek başı maliyet. Ayrıca anında geri alma tetiklerini tanımlayın (ör. güvenlik hatası X% üzerine çıkarsa, kullanıcı şikayetlerinde ani artış veya görev başarısında düşüş).

Bunlarla birlikte her sürüm kontrollü bir deney olur—şans işi değil.

Mimari: Noteboktan Güvenilir Sisteme

Prototip genellikle her şeyi tek bir yerde karıştırır: prompt düzeltmeleri, veri yükleme, UI ve değerlendirme tek bir notebokte. Üretim mimarisi sorumlulukları ayırır ki bir parçayı değiştirmek tüm sistemi bozmasın ve hatalar izole edilsin.

İşletim modunu seçin (API, batch veya gerçek zamanlı)

Sistemin nasıl çalışacağını belirleyin:

  • Sadece API: istek/yanıt servisi (sohbet, arama, öneriler için yaygın).
  • Batch işleri: zamanlanmış işler (ör. gece belge sınıflandırma, rapor üretimi).
  • Gerçek zamanlı servis: düşük gecikmeli akış veya olay tabanlı yanıtlar (ör. sahtekarlık kontrolleri).

Bu seçim altyapınızı, önbellekleme stratejinizi, SLA’ları ve maliyet kontrollerinizi belirler.

Bileşenleri ayrı tutun ki bağımsız evrilebilsinler

Güvenilir bir AI sistemi genellikle net sınırları olan küçük parçalardan oluşur:

  • UI / istemci: girdiyi toplar, çıktıları gösterir, belirsizliği açıklar.
  • Orkestrasyon katmanı: doğrulama, yönlendirme, prompt şablonları, araç/fonksiyon çağrısı, durum yönetimi.
  • Model çağrıları: LLM/ML çıkarımı bir sağlayıcı veya self-hosted runtime aracılığıyla.
  • Veri depoları: feature store, vektör veritabanı, doküman deposu, loglar/kayıt tabloları.

İlk dağıtıma birlikte yapsanız bile, tasarım her bir bileşenin değiştirilebileceği varsayımıyla olsun.

Hata için tasarlayın (çünkü olacaktır)

Ağlar zaman aşımına uğrar, sağlayıcılar rate-limit uygular ve modeller bazen kullanışsız çıktı döndürür. Öngörülebilir davranışlar kurun:

  • Her dış çağrı için zaman aşımı (model, veritabanı, araçlar)
  • Geçici hatalar için yeniden denemeler ve backoff
  • Geri dönüşler (daha basit model, önbelleğe alınmış cevap, araçsız “güvenli mod”)
  • Kibar bozulma (kısmi sonuçlar, açık mesaj, kırık UI yok)

İyi bir kural: sistem “güvenli” bir şekilde hata versin ve ne olduğunu açıklasın, sessizce tahmin yürütmesin.

Bağımlılıkları ve sahipliği dokümante edin

Mimarini bir ürün gibi ele alın, bir script gibi değil. Basit bir bileşen haritası tutun: neye bağımlı, kim sahip ve nasıl geri alınır. Bu, “herkes noteboku sahipleniyor” ama kimsenin sistemi sahiplenmediği yaygın tuzağı önler.

Platformların nerede yardımcı olabileceği (kilitlenmeden)

Ana darboğazınız çalışan bir demoyu sürdürülebilir bir uygulamaya dönüştürmekse, yapı platformları “plumbing” işini hızlandırabilir: bir web UI, API katmanı, veritabanı, kimlik doğrulama ve dağıtım için iskelet sağlar.

Örneğin, Koder.ai sohbet arayüzüyle web, sunucu ve mobil uygulamalar oluşturmaya izin veren bir vibe-coding platformudur. Hızlı prototipten üretime, planlama modu, dağıtım/barındırma, özel domainler, kaynak kodu dışa aktarımı ve anlık görüntülerle geri alma gibi pratik özelliklerle ilerleyebilirsiniz—promptlar, yönlendirme veya retrieval mantığı üzerinde iterasyon yaparken temiz sürümler ve geri dönüş imkanı gerektiğinde kullanışlıdır.

Maliyet, Gecikme ve Ölçek Planlama

Demodan Ürüne Geçin
Daha temiz bir üretim dağıtımı için AI özelliğinizi özel bir domaine koyun.

Sadece birkaç kişinin kullandığı bir prototip “yeterince ucuz” görünebilir. Üretimde maliyet ve hız ürün özellikleri haline gelir—çünkü yavaş yanıtlar bozukmuş hissi verir ve sürpriz faturalar dağıtımı öldürebilir.

Temel bir maliyet modeli oluşturun

Mühendis olmayan birine açıklayabileceğiniz basit bir tabloyla başlayın:

  • İstek başı: tokenler (LLM’lerde), model çalışma süresi ve herhangi bir retrieval (vektör arama) çağrısı
  • Altyapı: compute (CPU/GPU), depolama (dokümanlar, embeddings), ağ çıkışı
  • Operasyonel giderler: loglama hacmi, izleme ve yeniden denemeler

Bundan 1.000 istek başı maliyet ve beklenen trafik için aylık maliyet tahmini çıkarın. “Kötü günleri” de hesaba katın: daha fazla token kullanımı, daha fazla yeniden deneme veya daha ağır dokümanlar.

Davranışı değiştirmeden optimize edin

Promptları veya modelleri yeniden tasarlamadan önce çıktı davranışını değiştirmeyen iyileştirmelere bakın:

  • Önbellekleme: tekrar eden girdiler için sonuçları saklayın (dokümanlar nadiren değişiyorsa retrieval sonuçlarını da önbelleğe alın)
  • Batchleme: mümkün olduğunda birden çok isteği birlikte işleyin (embeddings, moderation, analiz)
  • Daha küçük bağlam: gereksiz talimatları kırpın, yinelenen retrieval pasajlarını çıkarın, geçmiş uzunluğunu sınırlandırın

Bunlar genellikle harcamayı azaltır ve aynı anda gecikmeyi iyileştirir.

Bütçeler ve anomali alarmları belirleyin

Neyin “kabul edilebilir” olduğunu önceden belirleyin (örn. istek başı maksimum maliyet, günlük harcama sınırı). Sonra şunlar için alarmlar ekleyin:

  • Token/istek'te ani sıçramalar
  • Hata kaynaklı yeniden deneme artışları
  • Kontrolsüz loglama hacmi

Gerçek trafik için kapasite planlayın

Ortalama değil, tepe yükü modelleyin. Rate limitler tanımlayın, patlama iş yükleri için kuyruğa alma düşünün ve net zaman aşımı seviyeleri belirleyin. Bazı işler kullanıcı arayüzüne yönelik değilse (özetler, indeksleme), bunları arka plan işlerine taşıyın ki ana deneyim hızlı ve öngörülebilir kalsın.

Güvenlik, Gizlilik ve Uyumluluk Gereksinimleri

Güvenlik ve gizlilik demo’dan gerçek sisteme geçerken “sonra” konusu değildir—bu, neyi güvenli bir şekilde gönderebileceğinizi şekillendirir. Kullanımı ölçeklemeden önce sistemin neye erişebileceğini (veri, araçlar, iç API’ler), kimlerin bu eylemleri tetikleyebileceğini ve başarısızlığın neye benzeyeceğini dokümante edin.

Basit bir tehdit modeliyle başlayın

AI özelliğinizin kötüye kullanılabileceği veya başarısız olabileceği gerçekçi yolları listeleyin:

  • Prompt enjeksiyonu: kullanıcılar modeli kuralları görmezden gelmeye veya gizli talimatları ifşa etmeye ikna edebilir.
  • Veri sızıntısı: hassas girdiler (müşteri bilgileri, iç dokümanlar) çıktılarda, loglarda veya sağlayıcı panolarında görünebilir.
  • Güvensiz araç erişimi: modelin erişmemesi gereken araçları çağırması (ör. “kullanıcıyı sil”, “veritabanını dışa aktar”) veya bunları uygun yetkilendirme olmadan kullanması.

Bu tehdit modeli tasarım incelemelerinizi ve kabul kriterlerinizi bilgilendirir.

Riskin en yüksek olduğu yerlerde guardrail'lar ekleyin

Girdiler, çıktılar ve araç çağrıları etrafında guardrail’lara odaklanın:

  • Girdi doğrulama: boyut limitleri, dosya tipi kontrolleri, hakaret/istismar filtreleri ve “bilinmiyor” içerik için net işlem.
  • Çıktı filtreleme: gizli bilgileri, kişisel verileri ve yasaklı içeriği engelleme veya kırpma; güvenli fallback yanıtları ekleme.
  • Araç allowlist'leri: modelin kullanabileceği araçları kısıtlayın, hangi parametrelerin izinli olduğunu belirleyin ve yüksek etkili işlemler için kullanıcı onayı gerektirin.

Gizli anahtarlar, erişim ve uyumluluk temelleri

API anahtarları ve tokenları kodda veya noteboklerde değil, bir secrets manager’da tutun. En az ayrıcalık prensibini uygulayın: her servis hesabı yalnızca gerekli en az veri ve işlemlere erişmeli.

Uyumluluk için PII nasıl ele alındığını tanımlayın (ne saklanır, ne kırpılır), hassas işlemler için denetim logları tutun ve prompt, çıktı ve izler için saklama kuralları belirleyin. Başlamak için politikanızı iç standartlarla hizalayın ve /privacy kontrol listenize referans verin.

İnsan-in-the-Loop ve Güven için UX

Deneyimleme Maliyetlerini Dengeleyin
Üretime gönderirken öğrendiklerinizi paylaşın ve kazanılan kredilerle denemelerin maliyetini dengeleyin.

Bir prototip genellikle modelin “yeterince doğru” olduğunu varsayar. Üretimde, özellikle çıktılar müşterileri, parayı, güvenliği veya itibarını etkiliyorsa, insanların ne zaman devreye gireceğine dair net bir plana ihtiyacınız var. İnsan-in-the-loop (HITL) otomasyonun bir başarısızlığı değil; kaliteyi yüksek tutan ve öğrenirken kontrol sağlayan bir sistemdir.

İnsanların nerede inceleme yapacağını kararlaştırın

Kararları risk bazında haritalayın. Düşük etkili görevler (iç özetler) sadece rastgele kontroller gerektirebilir. Yüksek etkili görevler (politika kararları, tıbbi rehberlik, finansal öneriler) gönderilmeden veya işlem yapılmadan önce inceleme, düzenleme veya açık onay gerektirmelidir.

İnceleme tetiklerini tanımlayın:

  • Düşük model güveni veya eksik atıflar
  • Hassas konular (hukuk, sağlık, İK)
  • Olağandışı kullanıcı istekleri veya belirsiz niyet
  • Büyük aşağı yönlü etki (iade, hesap değişikliği)

Kullanılabilir geri bildirim yakalayın

“Beğen/Beğenme” başlangıçtır ama sistemi geliştirmek için nadiren yeterlidir. İnceleyiciler ve son kullanıcılar için düzeltme ve yapılandırılmış sebep kodları ekleyin (örn. “yanlış gerçekler”, “güvenli değil”, “ton”, “eksik bağlam”). Geri bildirim çıktının hemen yanından tek tıkla kaydedilebilmeli.

Mümkün olduğunda saklayın:

  • Orijinal girdi ve son düzenlenmiş versiyon
  • Sebep kod(lar)
  • Sorunun gerçeklik, format, politika veya güvenlik ile ilgili olup olmadığı

Korkutucu vakaları yükseltin

Zararlı, yüksek etkili veya politika ihlali olabilecek çıktılar için yükseltme yolu oluşturun. Bu basitçe bir “Rapor Et” butonu olabilir; öğeleri on-call sahipliğe, açık SLA’lara ve containment (özelliği devre dışı bırakma, engelleme kuralı ekleme, prompt sıkılaştırma) playbook’una yönlendirir.

UI’da beklentileri netleştirin

Güven, ürünün dürüst olmasıyla artar. Açık işaretler kullanın: sınırlamaları gösterin, kesinlik abartısından kaçının ve mümkünse atıflar veya kaynaklar sağlayın. Sistem taslak üretiyorsa, bunu belirtin ve düzenlemeyi kolaylaştırın.

Gözlemlenebilirlik: Loglama, İzleme ve Alarm

Bir AI prototipi bozulduğunda anında fark edersiniz çünkü ona bakıyorsunuzdur. Üretimde sorunlar kenar vakalarda, trafik sıçramalarında ve yavaş hatalarda gizlenir. Gözlemlenebilirlik sorunları erken görünür kılar—müşteri vakasına dönüşmeden önce.

Önemli olanı loglayın (ve kullanılabilir yapın)

Olayı daha sonra yeniden oluşturmak için neye ihtiyacınız olduğunu belirleyin. AI sistemleri için “bir hata oldu” yeterli değildir. Loglayın:

  • İstek/girdiler (hassas olabilecekse kırpılmış veya tokenize edilmiş)
  • Model ve prompt sürümleri, artı temel konfigürasyon (temperature, context window, retrieval ayarları)
  • Herhangi bir araç çağrısı (API’ler, veritabanı sorguları, web aramaları) ve sonuçları
  • Gecikme kırılımları (retrieval süresi vs. model süresi vs. aşağı çağrılar)

Logları yapılandırılmış (JSON) tutun ki tenant, endpoint, model sürümü ve hata türüne göre filtreleyebilesiniz. Bir kural: loglardan “ne değişti?” sorusuna cevap veremiyorsanız, eksik alanlarınız var demektir.

Sadece çalışma süresini değil kaliteyi de izleyin

Geleneksel izleme çökmeleri yakalar. AI ise “çalışıyor ama daha kötü” durumlarını yakalayabilecek izlemeye ihtiyaç duyar. İzleyin:

  • Kayma sinyalleri (girdi konularında kayma, embedding uzaklıkları, retrieval hit oranları)
  • Hata oranları (zaman aşımı, araç çağrısı hataları, biçimsiz çıktılar)
  • Sonuç/kalite vekilleri (beğeni/ayrılma, görev tamamlama, destek yükseltmeleri)
  • Güvenlik sinyalleri (politika ihlalleri, reddedilen cevaplar, güvensiz içerik)

Bunları açık eşiklerle ve sahiplerle birinci sınıf metrikler olarak ele alın.

Panolar, alarmlar ve çalışma kitapları

Panolar şu soruları cevaplamalı: “Sağlıklı mı?” ve “En hızlı düzeltme ne?” Her alarmı bir on-call çalışma kitabı (ne kontrol edilecek, nasıl geri alınılır, kim bilgilendirilir) ile eşleştirin. Gürültülü bir alarm, alarm olmamasından kötüdür—uyarıları yalnızca kullanıcı etkisinde sayılacak şekilde ayarlayın.

Sentetik problar: kullanıcıdan önce sorun yakalayın

Gerçek kullanımı taklit eden planlı “kanarya” istekleri ekleyin ve beklenen davranışı doğrulayın (format, gecikme, temel doğruluk). Her sürüme karşı küçük bir sabit prompt seti çalıştırın ve regresyonlarda uyarın. Bu, gerçek kullanıcı izlemesini tamamlayan ucuz bir erken uyarı sistemidir.

MLOps İş Akışı: CI/CD, Versiyonlama ve Ortamlar

Bir prototip bilgisayarınızda bir kez çalıştığı için “bitti” hissi verebilir. Üretim işi esas olarak güvenilir şekilde çalışmasını sağlamak, doğru girdilerle ve tekrarlanabilir sürümlerle yapmaktır. İşte MLOps iş akışı sağlar: otomasyon, izlenebilirlik ve güvenli yollar.

Yapıları, testleri ve dağıtımları otomatikleştirin

AI servisini diğer ürünler gibi ele alın: her değişiklik otomatik bir pipeline tetiklemeli.

Minimum olarak CI’nız şunları yapmalı:

  • Servisi derle (container/uygulama paketi)
  • Temel mantık ve veri doğrulama için birim testleri çalıştır
  • Sabit bir veri setinde model/prompt değerlendirme testleri çalıştır (kötü ve kenar durumları dahil)
  • Dağıtılabilir bir artefakt üret (image, paket veya bundle)

CD sonra bu artefakti hedef ortama (dev/staging/prod) tutarlı adımlarla dağıtmalı. Bu "bende çalışıyor" sürprizlerini azaltır ve geri alma işlemlerini gerçekçi kılar.

Kod, promptlar ve konfigürasyon için versiyon kontrolü

AI sistemleri geleneksel uygulamalardan daha fazla şekilde değişir. Bunları versiyonlayın ve incelenebilir yapın:

  • Uygulama kodu (API, orkestrasyon, feature mantığı)
  • Promptlar, şablonlar ve sistem mesajları (LLM tabanlı bileşenler)
  • Model kimlikleri (model adı, checkpoint, sağlayıcı ayarları)
  • Konfigürasyon (eşikler, yönlendirme kuralları, araç izinleri)
  • Değerlendirme veri setleri ve etiketleme yönergeleri

Bir olay olduğunda şu soruya cevap vermek istersiniz: “Hangi prompt + model + config bu çıktıyı üretti?” tahmin yürütmeden.

Ortamları aşamalı kullanın: dev → staging → production

En az üç ortam kullanın:

  • Dev: hızlı iterasyon, mock entegrasyonlarla
  • Staging: production-benzeri veri akışları ve izinlerle; tam değerlendirme kapıları burada çalışsın
  • Production: kontrollü sürümler, sıkı erişim ve denetim

Aynı artefaktı ortamlarda terfi ettirin. Production için "tekrar derleme" yapmaktan kaçının.

Pratik yayın kontrol listeleri ve tekrar kullanılabilir iskeletler

CI/CD kapıları, versiyonlama konvansiyonları ve ortam terfi kontrolleri için hazır kullanıma uygun kontrol listeleri istiyorsanız, /blog içinde şablonlar ve örnekler, /pricing içinde paketlenmiş rollout desteği bulunur.

Eğer Koder.ai kullanarak çevre uygulamayı (ör. bir React web UI artı Go API ve PostgreSQL veya bir Flutter mobil istemci) inşa ediyorsanız, onun snapshot/geri alma ve ortam kurulumunu aynı sürüm disiplininin parçası olarak düşünün: staging’de test edin, kontrollü bir rollout yapın ve bilinen son iyi sürüme temiz bir geri dönüş yolu bırakın.

Dağıtım ve Yayılım Stratejileri

Değişiklikleri Geri Alınabilir Hale Getirin
Prompts ve yönlendirmelerde değişiklik yaparken kolay geri alma yolu sağlayın.

Bir AI prototipini göndermek tek bir “deploy” butonu değildir—bu, guardrail’larla kontrollü bir deneydir. Amacınız kullanıcı güvenini, bütçeleri veya operasyonları bozmadan hızlı öğrenmektir.

Riske uygun bir yayılım modu seçin

Shadow modu yeni model/promptu paralel çalıştırır fakat kullanıcıları etkilemez. Gerçek trafikle çıktı, gecikme ve maliyeti doğrulamak için idealdir.

Canary sürümler canlı isteklerin küçük bir yüzdesini yeni sürüme gönderir. Metrikler sağlıklı kaldıkça kademeli olarak artırın.

A/B testleri iki varyantı (model, prompt, retrieval stratejisi veya UI) önceden tanımlanmış başarı metriklerine göre karşılaştırır. İlerlemenin kanıtına ihtiyaç duyduğunuzda bunu kullanın.

Feature flag'ler, AI özelliğini kullanıcı segmentine göre açıp kapamanızı sağlar (iç kullanıcılar, power userlar, belirli bir bölge) ve davranışı anında değiştirme imkanı verir.

Lansman kriterlerini ve durdurma koşullarını tanımlayın

İlk yayından önce “go/no-go” eşiklerini yazın: kalite puanları, hata oranları, uydurma oranı (LLM’ler için), gecikme ve istek başı maliyet. Ayrıca otomatik duraklama tetiklerini tanımlayın—örn. güvensiz çıktılarda ani artış, destek ticketlarında sıçrama veya p95 gecikme artışı.

Geri alma ve güvenli fallback davranışını planlayın

Geri alma tek adımlık olmalı: önceki model/prompt ve konfigürasyona dönün. Kullanıcı akışları için bir fallback ekleyin: daha basit kural tabanlı cevap, “insan incelemesi” yolu veya tahmin yürütmek yerine kibar bir “cevap veremiyorum” yanıtı.

Değişikliği duyurun

Destek ve ilgili taraflara neyin değiştiğini, kimlerin etkilendiğini ve sorunları nasıl tanımlayacaklarını söyleyin. Kısa bir çalışma kitabı ve dahili SSS sağlayın ki ekip, kullanıcı “Bugün AI neden farklı cevap veriyor?” diye sorduğunda tutarlı yanıt versin.

Yayın Sonrası Sürekli İyileştirme

Yayınlamak yeni bir aşamanın başlangıcıdır: AI sisteminiz şimdi gerçek kullanıcılarla, gerçek verilerle ve gerçek kenar vakalarla etkileşime giriyor. İlk haftaları öğrenme penceresi olarak değerlendirin ve “iyileştirme işi”ni operasyonların planlı bir parçası haline getirin—panik tepkisi değil.

Değerlendirmeyi gerçekle hizalı tutun

Production sonuçlarını ön lansman kıyaslarıyla takip edin. Anahtar, değerlendirme setlerinizi düzenli olarak güncelleyip kullanıcıların gerçekte ne sorduğunu, hangi formatları kullandıklarını ve en çok hangi hataların önemli olduğunu yansıtmasını sağlamaktır.

Aylık bir ritim belirleyin:

  • Gözlemlenen yeni hata vakalarını test setine ekleyin
  • Eski senaryolara fazla uyum sağlamamak için örnekleri yeniden dengeleyin
  • Yukarı akış değişikliklerinden (veri kaynakları, UI, politikalar) sonra kaliteyi tekrar kontrol edin

Yeniden eğitim veya prompt iterasyonları—değişiklik kontrolü ile

Modeli yeniden eğitmek veya prompt/araçları ayarlamak fark etmez, değişiklikleri ürün sürümü ile aynı kontrollerden geçirin. Ne değiştiğini, neden değiştiğini ve neyin iyileşmesi beklendiğini açıkça kaydedin. Aşamalı rollouts kullanın ve tüm kullanıcıları değiştirmeden önce versiyonları yan yana karşılaştırın ki etkisini kanıtlayabilesiniz.

Yeniyseniz hafif bir iş akışı belirleyin: teklif → offline değerlendirme → sınırlı rollout → tam rollout.

Yayın sonrası incelemeler: olaylar, maliyetler, geri bildirim

Düzenli yayın sonrası incelemeler yapın ve üç sinyali birleştirin: olaylar (kalite veya kesinti), maliyetler (API harcaması, compute, insan inceleme zamanı) ve kullanıcı geri bildirimi (ticketlar, puanlar, churn riski). "Sezgiyle düzeltme" yapmaktan kaçının—her bulguyu ölçülebilir bir takip işine dönüştürün.

v1 → v2 yol haritası oluşturun

v2 planınız pratik yükseltmelere odaklansın: daha fazla otomasyon, daha geniş test kapsamı, daha net yönetişim ve daha iyi izleme/uyarılar. Tekrar eden olayları azaltan ve zaman içinde daha güvenli, daha hızlı iyileştirmeler yapmanızı sağlayan işleri önceliklendirin.

Eğer rollout öğrenimlerinizi yayımlıyorsanız, kontrol listelerinizi ve postmortem’lerinizi dahili dokümanlar veya halka açık notlar haline getirmeyi düşünün—bazı platformlar (Koder.ai dahil) ekiplerin içerik oluşturup başkalarını yönlendirmesi karşılığında kredi kazanabileceği programlar sunar; bu, iterasyon yaparken denemelerin maliyetini dengelemeye yardımcı olabilir.

SSS

Bir AI prototipi ile üretim sistemi arasındaki gerçek fark nedir?

Bir prototip “Bu işe yarar mı?” sorusunu ideal koşullar altında yanıtlar (küçük veri seti, sorunları sessizce düzelten bir insan, hoşgörülü gecikme). Üretim ise “Her gün güvenilir şekilde çalışır mı?” sorusunu, gerçek girdiler, gerçek kullanıcılar ve net sorumluluklarla yanıtlamalıdır.

Pratikte üretime hazır olmayı belirleyen şey operasyonlardır: güvenilirlik hedefleri, güvenli hata modları, izleme, maliyet kontrolleri ve sahiplik—sadece daha iyi bir model değil.

Üretimde gerçekten işe yarayan başarı metriklerini nasıl tanımlarım?

Tam olarak hangi kullanıcı akışı etkilenecek ve işin hangi sonucu iyileştireceğiyle başlayın.

Ardından şu küçük metrik setini seçin:

  • Kalite (görev başarısı, rubrik puanı, hata şiddeti)
  • Gecikme (p95 yanıt süresi, time-to-first-token)
  • Maliyet (istek başı maliyet, harcama sınırı)
  • Benimsenme (aktivasyon, tamamlanma, manuel geçersiz kılma oranı)

Son olarak, herkesin neyin “gönderilebilecek kadar iyi” olduğunu kabul etmesi için bir v1 “yapım tanımı” yazın.

Bir AI özelliğini ölçeklemeden önce "veri hazır olması" ne anlama gelir?

Uçtan uca veri akışını haritalayın: girdiler, etiketler/geri bildirim ve aşağıdaki tüketiciler.

Sonra yönetişim koyun:

  • Ne saklanacak, ne kadar süreyle ve kim erişebilecek kararını verin
  • Veri kalitesi kontrol listesini otomatikleştirin (eksik alanlar, kopyalar, uç değerler, kırpılma)
  • Sonuçların tekrarlanabilir olması için veri setlerini ve prompt/şablonları versiyonlayın

Bu, “demoda çalıştı” sorunlarını gerçek dünya girdilerinin karışıklığı ve izlenmeyen değişikliklerle önler.

Sistemi gerçek kullanıcılara açmadan önce kaliteyi nasıl değerlendiririm?

Küçük, temsilî bir golden set (genellikle 50–200 örnek) ile başlayın ve her bir örnek için tutarlı bir rubrik veya referans çıktı belirleyin.

Erken dönemde kenar durumlarını ekleyin:

  • Hassas/PII içerik
  • Belirsiz istekler
  • Çok uzun veya düzensiz girdiler
  • Prompt enjeksiyonu denemeleri

Eşikleri ve geri alma tetiklerini önceden belirleyin, böylece sürümler kontrol edilen deneyler haline gelir.

Gizli manuel adımlar nedir ve neden üretimi bozarlar?

Gizli manuel adımlar, bir demoyu sabit gösteren “insan yapıştırıcısıdır”—o kişi müsait olmadığında veya ayrıldığında sistem bozulur.

Yaygın örnekler:

  • Bir sütunu elle temizlemek
  • Başarısız işleri elle yeniden çalıştırmak
  • Promptları veya sonuçları kopyala/yapıştır yapmak
  • Kötü girdileri elle çıkarmak

Bunu, her adımı mimaride açık hale getirerek (doğrulama, yeniden deneme, geri dönüş mekanizmaları) ve bir hizmetin sahibi yaparak düzeltin; bireyin değil.

Notebokun ötesine geçtiğimde hangi mimari değişiklikler en önemli olanlardır?

Sorumlulukları ayırın ki her parça değiştirildiğinde tüm sistem bozulmasın:

  • İstemci/UI
  • Orkestrasyon (doğrulama, yönlendirme, durum, prompt şablonları, araç çağrısı)
  • Model çıkışı (sağlayıcı veya self-hosted)
  • Veri depoları (dokümanlar, vektörler, loglar/kayıtlar)

API, batch veya gerçek zamanlı gibi bir işletim modu seçin, sonra zaman aşımı, yeniden deneme, geri dönüş ve kademeli bozulma ile hataya göre tasarlayın.

Yayınlandıktan sonra maliyet ve gecikmeyi nasıl kontrol altında tutarım?

Basit bir maliyet modeli oluşturun:

  • İstek başı: tokenler, model çalışma süresi, retrieval çağrıları
  • Altyapı: compute (CPU/GPU), depolama, ağ çıkışı
  • Operasyonel: loglama hacmi, izleme, yeniden denemeler

Davranışı değiştirmeden optimizasyon yapın:

  • Tekrarlanan girdiler için önbellekleme
  • Mümkünse toplu işlem (embeddings, moderation)
  • Bağlamı kısaltma (gereksiz talimatları çıkarma, geçmiş uzunluğunu sınırlama)

Ayrıca harcama cap'leri ve anomali alarmları ekleyin.

Üretim AI için hangi güvenlik ve gizlilik kontrolleri zorunludur?

Basit bir tehdit modeliyle başlayın:

  • Prompt enjeksiyonu
  • Veri sızıntısı (çıktılar, loglar, vendor panoları)
  • Güvensiz araç erişimi

Yüksek riskli yerlere guardrail ekleyin:

  • Girdi doğrulama (boyut limitleri, dosya tipleri, hakaret/istismar filtreleri)
  • Çıktı filtreleme/kırpma ve güvenli fallbackler
  • Araç allowlist'leri ve yüksek etki için kullanıcı onayı

Ayrıca gizli anahtarları secrets manager'da tutun, en az ayrıcalık prensibini uygulayın, saklama kuralları ve denetim logları oluşturun. Politikanızı /privacy ile hizalayın.

İnsan-in-the-loop'u ne zaman eklemeliyim ve bunu nasıl etkili hale getiririm?

İnsanları bir kontrol sistemi olarak kullanın, yama olarak değil.

İnceleme gereken yerleri risk bazlı haritalayın ve tetikleyiciler belirleyin:

  • Düşük model güveni veya eksik kaynakça
  • Hassas konular (hukuk/sağlık/İK)
  • Belirsiz niyet
  • Büyük aşağı yönlü etki

Kullanıcı geri bildirimi tek tıkla alınabilecek şekilde toplayın: sebep kodları, düzenlenen çıktı, orijinal girdi.

Zararlı veya politika ihlali olabilecek çıktılar için bir yükseltme yolu (kuyruk + on-call + playbook) oluşturun.

Bir üretim AI sistemindeki değişiklikleri en güvenli şekilde nasıl yayarım?

Riskle uyumlu aşamalı bir yayın kullanın:

  • Shadow modu: Yeni sürümü gerçek trafikle paralel çalıştırın ama kullanıcı etkileşimi olmasın
  • Canary: Küçük bir yüzdeye kademeli olarak trafiği yönlendirin
  • A/B testleri: Önceden belirlenmiş başarı metriklerine bağlı karşılaştırmalar yapın
  • Feature flag'ler: Özelliği kullanıcı segmentlerinde açıp kapatın

Geri alma tek adımlık olmalı (önceki model/prompt/config) ve kullanıcı akışları için güvenli fallback sağlayın (gerektiğinde insan incelemesi veya kural tabanlı yanıt).

Related posts