LLM Sağlayıcınız Modelinizi Sessizce Düşürebilir ve Kimse Size Bunu Söylemez
Kaynak: dev.to

İçindekiler 2 başlık
Ekim 2026'da Çinli yapay zeka topluluklarında tekrarlayan "performans düşüşü paniği" dalgaları yaşandı. Ücretli katmanlardaki kullanıcılar, modellerinin hiçbir bildirim, kontrol paneli göstergesi veya değişiklik günlüğü (changelog) olmadan sessizce değiştirildiğini ya da kısıtlandığını fark etti. İnsanlar kendi tespit ritüellerini icat ettiler: modelden SVG olarak bisiklet süren bir pelikan çizmesini istemek, şeker sayma soruları, "Japonya'nın mevcut başbakanı kimdir" parmak izi testleri ve hatta gizli hesap kısıtlamalarını kontrol etmek için destek sohbetlerine hata mesajları yazmak.
Tek seferlik parmak izi web siteleri mevcut olsa da kimse gerçek bir referans noktası (baseline) ve maliyet muhasebesi ile sürekli kanarya izlemesi (canary monitoring) yapmıyordu. Bu ihtiyacı çözmek için geliştirilen model-canary, uç noktanızı (endpoint) belirli bir takvimde yoklayan ve bir şeyler değiştiğinde size haber veren sıfır bağımlılıklı bir Python gözcüsüdür. Yazılım geliştiriciler için bu yaklaşım, dış API bağımlılıklarına körü körüne güvenmek yerine üretim ortamında sürekli doğrulama yapmanın önemini gösterir.
Nasıl Çalışır?#
Farklı hata modlarını yakalayan dört kanarya yoklaması (probe) bulunur:
- identity-svg (Kimlik): Bisiklet süren pelikan SVG testi — topluluğun altın standardıdır. Sessizce değiştirilen bir model, fark edilir derecede farklı bir resim çizer.
- candy-arithmetic (Akıl Yürütme): "3 şeker var, 1'ini al" — kalitesi düşürülmüş bir model en basit akıl yürütmede bile tökezler.
- instruction-repeat (Talimat): "Mavi" kelimesini beş kez tekrarla — talimatlara uyma becerisindeki bozulmayı yakalar.
- factual-anchor (Olgusal): Sabit olgusal soru — buradaki sinyal mutlak doğruluk değil, kendi referans noktanıza göre yaşanan sapmadır (drift).
Aracı kurup çalıştırmak için şu komutlar kullanılır:
pip install model-canary
model-canary init --endpoint https://api.openai.com/v1 --model gpt-6.1-sol
model-canary run # yoklamalar çalışır, ilk çalışmada referans (baseline) yazılır
model-canary check # çıkış kodu (exit code) sonucu bildirir
model-canary report # markdown formatında sapma raporu üretir
run ve check komutlarını cron üzerine (saatlik yeterlidir) ekleyebilirsiniz. Bir sorun olduğunda check sıfır olmayan bir kodla çıkar:
- 0 (ok / warn / baselining): Her şey yolunda veya hala referans örnekleri toplanıyor.
- 2 (degraded): Yüksek güvenilirlikli sinyal: model değiştirildi, kalite düştü veya hesap işaretlendi.
- 3 (probe_failed): İletişim koptu — asla model bozulması olarak raporlanmaz.
- 4 (throttled): Sağlayıcı hız sınırı (rate-limit) uyguladı — bu da model bozulması değildir.
Her çalıştırma token kullanımını da kaydeder, böylece report komutu gözcünün kendisinin ne kadara mal olduğunu tam olarak gösterir. Maliyetini karşılayamayacağınız bir izleme aracı, sonunda kapatacağınız bir araçtır.
Önemli Tasarım Kararları#
Üretim ortamında LLM izleme sistemleri tasarlarken şu üç mühendislik ilkesi kritik pratik çıkarımlar sunar:
- Uyarı verirken hata-açık (Fail-open) davranmak: Çökmüş bir ağ, kalitesi düşmüş bir model demek değildir. İletişim hataları (çıkış 3) ve hız kısıtlamaları (çıkış 4) kendi ayrı sonuç ve çıkış kodlarını alır. Sadece açık hesap düzeyi işaretleyicileri (
subscription_sharing_user_not_eligiblegibi)account_flaguyarısını tetikler. Alt dizeler (substring) yerine yapılandırılmışerror.code/error.typealanları eşleştirilir; aksi takdirde "capacity" kelimesini aramak internetin yarısındaki 503 hatalarını yanlışlıkla işaretlerdi. - Tek örnekle karar vermemek:
run --samples 5(varsayılan) birden fazla örnek alır;checkise son çalıştırmaların bir penceresine bakar ve k/n doğrulaması arar. Çoğu sağlayıcıdatemperature=0determinizmi garanti etmez ve bazı yönlendiriciler (router) trafiğin bir kısmını daha küçük modellere gönderir — tek bir örnek bu iki durumu da yakalayamaz. - Referans (Baseline) hijyeni: Referans noktasının güvenilir kabul edilmesi için en az 5 örneğe (
n≥5) ihtiyacı vardır. Referanslar model/uç nokta/istem-özeti (prompt-hash) meta verilerini taşır; model değiştirirseniz yanlış bir sapma alarmı yerinebaseline_staleuyarısı alırsınız. Temsili örnek son çalıştırma değil, medoid'dir. Referansı yeniden oluşturmak, halihazırda sapma gösteren çalıştırmaları hariç tutar, böylece bozulmuş bir dönem kendi referansını zehirleyemez.
Orijinal makaleye buradan ulaşabilirsiniz.
Bu konuyu derinlemesine öğrenmek isterseniz: Model Monitoring ve Drift Tespiti modülüne göz atın.
Kaynak ve atıf
Bu yazı, dev.to üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- dev.to/haoli/your-llm-provider-can-quietly-downgrade-your-model-and-nothing-will-tell-you-1ggg