24 puan yazan GN⁺ 2025-12-29 | Henüz yorum yok. | WhatsApp'ta paylaş
  • LLM’leri ve yapay zeka platformlarını prodüksiyon ortamında istikrarlı biçimde işletmek için, değişime uyum sağlayan mimari odaklı bir tasarım yaklaşımı gerekir
  • Model ve API değişikliklerine hazırlanmak için tüm yapay zeka çağrılarını servis olarak ayırın ve çift çalıştırma tabanlı migrasyon deseni uygulayın
  • OpenAI’nin Flex servis katmanı kullanılırsa aynı model ve veri kalitesiyle maliyetlerde %50 tasarruf sağlanabilir
  • Tekrarlanan verileri promptun başına yerleştirerek cache token kullanım verimliliğini en üst düzeye çıkarın ve maliyetin yalnızca %10’unu ödeyin
  • Aşırı maliyet oluşmasını önlemek için Rate Limiting ve Circuit Breaker mekanizmalarını backend’de mutlaka kurun

Değişime hazırlıklı bir yapay zeka entegrasyon stratejisi

  • Yapay zeka modelleri ve API’leri sürekli değişir; bugün çalışan yöntem her an başarısız olabilir
  • Tek tek araçların veya modellerin peşinden gitmek yerine, değişime uyum sağlayabilen sistem tasarımı esas konudur
  • Yapay zekadan yararlanmanın amacı en yeni teknolojiyi kovalamak değil, istikrarlı operasyon ve maliyet kontrolü sağlamaktır

Migrasyon deseni (The Migration Pattern)

  • Tüm yapay zeka API çağrılarını bir servise çıkararak bağlantı kurma, prompt oluşturma ve belirli promptları dahili olarak ele alma işlerini burada yönetin
  • Bu servisler kalıcı olarak taşınabilir durumda (permanent migratability) işletilir; böylece her zaman en güncel sürüm ve modeli ya da daha önce kullanılan sürümü çalıştırmak mümkün olur
  • GPT 4.1’den GPT-5’e geçişte yaşanan sorun örneği
    • GPT 4.1 için kusursuz hazırlanmış bir promptun GPT-5’te JSON anahtarlarını atlaması gibi güvenilirlik kayıpları görüldü
    • GPT-5, basit JSON formatı yerine yapılandırılmış JSON şemaları (structured JSON schemas) kullanımını teşvik eder
    • Anahtarların ve olası değerlerin tanımlanması, ardından prompt içinde bunların doldurulmasının açıklanması gerekir
  • Migrasyon stratejisinin uygulanışı
    • Belirli bir süre boyunca veya test/staging ortamında eski sürüm prompt + eski model ile yeni sürüm prompt + yeni modeli eşzamanlı çalıştırın
    • Tamamen farklı veri yapıları ve API çağrıları da kullanılabilir (OpenAI, chat-style API’den response-style API’ye geçişi öneriyor)
    • Her iki tarafın sonuçlarını loglayın; önemli farklar varsa sistem uyarı versin ve diff göstersin
    • Çift çalıştırmalı sunucu 2 kat maliyet yaratır; ancak eski ve yeni model davranışlarıyla prompt farklarının kalite, öngörülebilirlik ve güvenilirlik üzerindeki etkisini anlamayı sağlar
  • Saf sohbet tabanlı kullanım yerine arka plan analizi, veri işleme ve anlamsal analiz için özellikle faydalıdır
  • Yeni sonuçlar beklentiyi karşılamazsa istenildiği anda legacy sürüme rollback yapılabilir
  • API sistemleri bir noktada mutlaka deprecated olacağından migrasyona hazır olmak şarttır
  • JSON verilerindeki diff’i görmek promptun yeniden yapılandırılmasına yardımcı olur
    • Claude Code veya OpenAI Codex kullanarak, iki tarafın sonuçları benzeşene kadar promptlar ayarlanabilir
  • Bu desen, harici ML modelleriyle iletişim kuran tüm servisler için geçerlidir
  • Yeni servis aniden performans kaybı gösterirse, bir anahtar değişimiyle eski sürüme dönüp önceki gibi güvenilir veri alınabilir

Servis katmanının sırrı (The Service Tier Secret)

  • Bulut servisleri servis katmanları sunar ve API çağrısının önem derecesine göre farklı fiyatlandırma uygular
  • OpenAI tarafında
    • varsayılan katman (default tier): web sitesinde görünen fiyatlar
    • batch istekleri (batched requests): oldukça ucuzdur; ancak batch’in ne zaman dolup işleneceği bilinmediğinden yarı senkron işler için uygun değildir
    • Flex katmanı: varsayılan katmanın yarı fiyatına
      • %50 daha yavaş olabilir ve bazı anlarda kullanılamayabilir; ancak aynı model ve veri kalitesini sunar
  • Flex katmanı kullanım örnekleri
    • Backend işleri için uygulama: konuk çıkarımı, konuşma içeriği analizi, özetleme vb.
    • OpenAI SDK’nin auto-retries özelliği sayesinde ek mantık kurmaya gerek kalmaz
    • 429 hatasında fallback uygulayın: önce birkaç kez Flex ile deneyin, başarısız olursa standard katmana geçip yeniden deneyin
  • Büyük ölçekli uygulama sonucu
    • Anında %50 maliyet tasarrufu sağlandı (Flex katmanı çoğu zaman erişilebilir durumda)
    • Girdi tokenı çok, çıktı tokenı az olduğunda (büyük podcast transkriptleri → küçük JSON özet verisi) cache tokenlar da yarı fiyatına olur
    • Çıkarma ve çıkarım iş yükü 2 kat artırılabilir, bu da platform kalitesinin ve dönüşüm oranlarının artmasına bağlanır
  • Platform bazında kontrol edilmesi gerekenler
    • Batch fiyatı, Flex işleme ile aynı maliyettedir
    • Flex fiyatlandırması GPT-5, 5.1, o3, o4 modellerinde vardır
    • Codex, Pro, GPT-4o, gerçek zamanlı ses araçları gibi seçeneklerde Flex fiyatlandırması kolay erişilebilir olmayabilir
  • Fiyat katmanı varken kullanmamak finansal ihmal (financial negligence) sayılır
  • Yoğunluk sırasında da hızlı sonuca ihtiyaç varsa Priority katmanı (2 kat fiyat, daha hızlı sonuç) ayarlanabilir
    • Priority de bazı modellerde mevcut olmayabilir
  • Modeller ve kullanım şekilleri farklı olduğundan uygulama ve optimizasyonda esnekliğe ihtiyaç vardır

Cache verimliliği için front-loading

  • Analiz edilecek veri çoksa tekrarlanan bölümleri başa yerleştirin
  • Sistem promptunu başta tutun; aynı veriyi birden çok kez analiz edecekseniz promptu bu veriyle başlatın
  • Prompt sırası
    1. Sistem promptu (rol açıklaması)
    2. Her zaman aynı olan sistem talimatları ("veriyi bu formatta çıkar")
    3. Promptlar arasında ortak olabilecek veriler
    4. Her prompta özgü talimatlar
  • Öne yerleştirilen veriler cache token olarak işlenir; böylece diğer token maliyetlerinin yalnızca %10’u ödenir
  • Gerçek kullanım örneği
    • Önce tam transkript verilir, ardından transkriptin sonunda belirli görev talimatları eklenir (belirli konuğu bulma, sponsoru bulma, müşteri sorusunu işleme vb.)
  • Birden fazla prompt için optimizasyon kontrolü
    • Promptları veri olarak Claude Code veya ChatGPT konuşmasına koyup optimizasyon analizi yapmasını isteyin
    • Yapay zekanın çıktısını olduğu gibi kabul etmeyin; referans olarak kullanın (yapay zeka sadece token tahmini yapar; daha yararlı olduğunu söylemesi bunun gerçekten öyle olduğu anlamına gelmez)
    • Birden fazla prompt aynı anda analiz edilirse anlamlı içgörüler elde edilebilir

Rate Limiting ve Circuit Breakers

  • Token bazlı maliyet çıkaran harici platformlar kullanılıyorsa Rate Limiting zorunludur
  • Rate Limit uygulanması gereken yerler
    • Yapay zeka etkileşimini tetikleyen müşteriyle temas eden aksiyonlar
    • Backend sunucusunun gönderebildiği yapay zeka etkileşimleri
  • Race condition nedeniyle aynı sürecin tekrar tekrar başlaması ve aynı çağrıyı defalarca tetiklemesi önlenmelidir (cache token kullanılsa bile maliyet oluşur)
  • Anomali tespiti
    • Belirli bir zaman aralığında normalin 10 katı yapay zeka token kullanımı olursa uyarı alma ve durdurma mekanizması bulunmalıdır
  • Circuit Breaker uygulaması
    • Uygulamadaki tüm yapay zeka işlevleri veya belirli bölümler için genel bir circuit breaker
    • Laravel komutu ya da yönetici arayüzünden aç/kapat yapılabilen özellik toggle’ları
    • "Harika ayar oluştur" düğmesi gibi self-onboarding işlevleri de açılıp kapanabilir olmalı
    • Biri otomasyon kurup saatte yüzlerce dolar maliyet oluşturursa toggle ile anında kesilebilmeli
  • Özellik toggle’larını frontend’de değil backend’de uygulayın (kontrol gerçek olayın gerçekleştiği yerde olmalı)
  • Yapay zeka taramaları kullanımı
    • Agentic coding araçlarıyla kodu tarayarak yapay zeka çağrılarının kötüye kullanılabileceği noktaları bulun ve toggle eklenmesi gereken yerleri belirleyin
  • Tüm yapay zeka kullanımı backend sistemi üzerinden geçmelidir
    • Client-side’da token kullanarak yapay zeka platformunu doğrudan çağırmayın (zaten kötü bir yöntemdir)
    • Backend üzerinden gidildiğinde işlevleri açıp kapatmak ve yüksek kullanım uyarıları almak mümkün olur
  • Kurulan güvenlik katmanları
    • Tüm özelliklerde Rate limits
    • Frontend kullanıcı Rate limits
    • Backend Rate limits
    • Özellik toggle’ları
    • Özellik kötüye kullanım uyarıları (hesap bazında, abone türüne göre, IP bazında)
  • Gelecekte araç ve framework’lerde varsayılan özellik olarak gelmesi bekleniyor; ancak bugün bunları kendiniz uygulamanız gerekir

Temel ders: değişime hazır sistem kurmak

  • Yapay zeka ortamı sürekli değiştiği için (model, API, fiyat değişimleri) her şeyi yakalamak imkânsızdır
  • Yapay zeka operasyonunun özünde en yeni model değil, değişim olduğunda uyum sağlayabilecek sistem tasarımı vardır
  • Gerekli bileşenler:
    • Migrasyon deseni
    • Servis katmanı optimizasyonu
    • Prompt cache’leme
    • Rate limiting
    • Circuit breakers
  • Bunlar nice-to-have değil, prodüksiyonda yapay zekayı işletirken kaybı önleyen temel altyapıdır
  • Yapay zekayı prodüksiyonda kullanmaya başladığınız anda, maliyet ve istikrar teknik bir sorun olmaktan çıkar, mimari bir soruna dönüşür

"Build for Change" değişim için temel oluşturun

Henüz yorum yok.

Henüz yorum yok.