Yapay Zeka Modeliniz Bir Anda Kaybolduğunda: AI API'leri için Yük Devretme Tasarımı

Modeller kaybolur: kesintiler, ihracat kısıtlamaları, kullanımdan kaldırmalar. Yapay zeka API yük devretmesini geri dönüş zincirleri, kısıtlı çalışma modları, kontrat testleri ve geçiş kılavuzları ile tasarlayın.

Ashley Innocent

Ashley Innocent

2 July 2026

Yapay Zeka Modeliniz Bir Anda Kaybolduğunda: AI API'leri için Yük Devretme Tasarımı

Kurumsal İçin Apidog

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

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

12 Haziran 2026'da, ABD ihracat kontrolleri Anthropic'i Claude Fable 5'i neredeyse hiç uyarı vermeden çevrimdışına almaya zorladı ve model 1 Temmuz'da geri dönene kadar kapalı kaldı. Tek bir model dizesini sabit kodlamış ekipler on dokuz gün boyunca telaşlandı; yedekleme zinciri olan ekipler bir yapılandırma değerini değiştirdi ve işlerine geri döndü.

Ders, tek bir kesintiden daha büyük. Çoğu LLM destekli uygulama, model kullanılabilirliğini DNS veya yerçekimi gibi sabit bir değişken olarak ele alıyor. Bu mimari bir varsayım ve yanlış. Bir model, yasal sorumluluğu, kapasite tavanları, bir kullanımdan kaldırma takvimi ve onu geri çekebilecek bir güvenlik ekibi olan bir üründür. Bu rehber, yapay zeka API'leri için yedeklemeyi nasıl tasarlayacağınızı ele alıyor, böylece bir sonraki kaybolma, hangi sağlayıcıyı vurursa vursun, size bir olay köprüsü yerine bir yapılandırma değişikliğine mal olur.

düğme

Modeller neden kaybolur?

Modeller, çoğu ekibin planladığından daha fazla nedenden dolayı ortadan kaybolur:

Farklı nedenler, aynı belirti: kodunuzun bağlı olduğu model kimliği yanıt vermeyi durdurur. Nedeni ne olursa olsun çözüm aynıdır, bu yüzden yedekleme tasarımı olay müdahalesi yerine sürekli yapılan bir iştir.

Yedekleme hiyerarşisi

Yedekleme tek bir karar değildir. Üç seviyesi vardır ve olgun sistemler genellikle birden fazlasını uygular.

Seviye 1: Aynı sağlayıcı yedeği. Aynı satıcıdan kardeş bir modele yönlendirin, örneğin Fable 5 → Opus 4.8 → Sonnet 4.6. Aynı SDK, aynı kimlik doğrulama, aynı yanıt şekli, bu yüzden geçiş ucuz ve hızlıdır. Anthropic, aynı API çağrısı içinde reddedilen bir isteği yedek bir modelde yeniden deneyen bir yedekleme parametresi aracılığıyla bunu sunucu tarafında bile destekler. İhtiyacınız olmadan önce yedek çiftinizi bilin: Fable 5 ve Opus 4.8 karşılaştırması, sabah 3'te karşılığını veren türden bir ödevdir.

Seviye 2: Çapraz sağlayıcı yedeği. Tamamen farklı bir satıcıya yönlendirin. Bu, sağlayıcı genelindeki kesintilere, hesap askıya almalarına ve aynı sağlayıcı zincirinin hayatta kalamayacağı bölgesel kısıtlamalara karşı koruma sağlar. Maliyeti, ikinci bir SDK, ikinci bir faturalandırma ilişkisi, ikinci bir kimlik doğrulama yolu ve farklı davranan istemlerdir.

Seviye 3: Düşük mod. Hiçbir sınır modeli olmadan yararlı bir şey sunun: tekrarlanan sorgular için önbelleğe alınmış yanıtlar, sınıflandırma seviyesindeki görevler için küçük bir yerel model veya net bir mesajla devre dışı bırakılmış özellik. Özelliğin kötüleşmesi kabul edilebilir. Uygulamanın bozulması kabul edilemez.

Seviye Geçiş gecikmesi Kalite düşüşü Mühendislik maliyeti
Aynı sağlayıcı yedeği Saniyeler ila dakikalar; bir yapılandırma değişimi veya otomatik yeniden deneme Küçük ila orta; aynı model ailesi, tanıdık davranış Düşük; aynı SDK, kimlik doğrulama ve yanıt formatı
Çapraz sağlayıcı yedeği Dakikalar ila saatler; yönlendirme mantığı ve test edilmiş istemler gerektirir Orta; farklı tokenizörler, formatlar ve ret davranışı Orta ila yüksek; ikinci entegrasyon, faturalandırma ve izleme
Düşük mod Yapıldıktan sonra anında etkili Büyük ama öngörülebilir ve dürüst Orta; önbellek katmanı, yerel model veya özellik işaretleri

Çoğu ekip bu çeyrekte Seviye 1'i uygulamalı, Seviye 3'ü taban olarak tutmalı ve Seviye 2'yi ancak risk altındaki gelir ikinci bir entegrasyonu haklı çıkardığında eklemelidir.

Bir tasarım noktası daha: sadece hedefleri değil, tetikleme koşullarını da tanımlayın. Bir zincir, trafiği neyin aşağıya çekeceğine karar vermediğiniz sürece eksiktir. Mantıklı varsayılanlar: model kimliğinde bir 404 hemen yedeklemeye geçer, bir ret sonraki modelde bir kez yeniden dener, bir 429 yedeklemeye geçmeden önce geri çekilir ve art arda üç zaman aşımı o model için bir devre kesici açar. Bu kuralları yönlendirme katmanına kodlayın, böylece sabah 3 kararı önceden alınmış olur.

Yedeklemeyi ucuz hale getiren tasarım hamleleri

Yedekleme, herhangi bir kesintiden çok önce verdiğiniz kararlara bağlı olarak ucuz veya pahalıdır.

Model kimliklerini kodda değil, yapılandırmada tutun. Model dizeniniz için hızlı bir grep çalıştırın. Eğer tek bir yapılandırma dosyası yerine uygulama kodunda görünüyorsa, bir dağıtım yapmadan yedeklemeye geçemezsiniz. Yol başına öncelik listesi işe yarayan şekildir:

# config/model-routes.yaml
routes:
  chat-assist:
    primary: claude-fable-5
    fallbacks:
      - claude-opus-4-8
      - claude-sonnet-4-6
    degraded_mode: cached_answers
    max_output_tokens: 8192
    timeout_seconds: 120
  ticket-classifier:
    primary: claude-sonnet-4-6
    fallbacks:
      - claude-haiku-4-5
    degraded_mode: rules_engine

Yönlendirmeyi tek bir yerde yönetin. Bir ağ geçidi hizmeti veya yüz satırlık bir sarmalayıcı olsun, tam olarak bir modül bir isteğe hangi modelin hizmet vereceğine karar vermeli ve diğer her şey onu çağırmalıdır. Minimal bir versiyon şöyle görünür:

MODEL_CHAIN = ["claude-fable-5", "claude-opus-4-8", "claude-sonnet-4-6"]

def complete(prompt: str) -> str:
    last_error = None
    for model in MODEL_CHAIN:
        try:
            response = client.messages.create(
                model=model,
                max_tokens=8192,
                messages=[{"role": "user", "content": prompt}],
            )
            if response.stop_reason == "refusal":
                last_error = RefusalError(model)
                continue  # try the next model in the chain
            return response.content[0].text
        except (anthropic.NotFoundError, anthropic.RateLimitError,
                anthropic.APIStatusError) as err:
            last_error = err
            continue
    raise AllModelsUnavailable(MODEL_CHAIN) from last_error

Üretim versiyonları devre kesiciler ve model başına zaman aşımları ekler, ancak prensip her boyutta geçerlidir: çağrı yapanlar bir tamamlanma ister, bir model değil.

Yetenek düzeyli istemler yazın. Bir modelin tuhaflıklarına bağlı bir istem, yedekleme hikayenizi kurguya dönüştürür. Tüm yedekleme kümenizde kabul edilebilir çıktı üreten temel istemler yazın, ardından modele özgü hileleri (belirli bir düşünme yapılandırması, ayarladığınız bir biçimlendirme alışkanlığı) görevi bozmadan bırakılabilecek model başına katmanlara ayırın. Temel istemi en güçlü birincil modelinizde değil, en zayıf yedeğinizde test edin. Bu kulağa geldiğinden daha önemlidir: daha yeni sınır modelleri genellikle seyrek, hedef odaklı istemleri ödüllendirirken, daha küçük yedeklerin daha açık bir yapıya ihtiyacı vardır. Her şeyi birincil model için ayarlarsanız, yedekleme takip edemeyeceği talimatları miras alır; eğer her şeyi tüm küme için ayarlarsanız, birincil modelde biraz parlaklık kaybedersiniz ve uçtan uca çalışan bir zincir kazanırsınız.

İstek parametrelerini de taşınabilir tutun. İstemler, modele özgü tek yüzey değildir. Düşünme yapılandırması, örnekleme parametreleri ve çıktı sınırları model nesillerine göre farklılık gösterir ve birincil modelin kabul ettiği bir parametre, yedekte 400 hatası döndürebilir. Yapılandırmada model kimliklerinin yanına model başına parametre kümeleri depolayın ve yönlendirme katmanının bunları gönderme sırasında uygulamasını sağlayın. Geçersiz bir parametre hatası nedeniyle ölen bir yedekleme, sahip olmadığınız bir yedeklemedir.

Yanıtları sağlayıcıdan bağımsız olarak işleyin. Yönlendirme sınırında yanıtları kendi dahili şeklinize normalleştirin: metin dışarı, yapılandırılmış alanlar doğrulanmış, durma nedenleri kendi numaralandırmanıza eşlenmiş. On iki yerden sağlayıcıya özgü bir yanıt nesnesine ulaşan kod, sağlayıcıları değiştirdiğiniz gün bozulacaktır.

Maliyet ve limit farklılıkları için bütçe ayırın. Yedekleme modelleri, jeton başına fiyat, bağlam penceresi ve maksimum çıktı açısından farklılık gösterir. Fable 5'ten Opus 4.8'e düşmek jeton başına maliyeti yaklaşık yarı yarıya düşürürken, Sonnet 4.6 daha da ucuzdur ancak çıktıyı daha düşük bir seviyede sınırlar; hafızanızdaki sayılara güvenmek yerine mevcut model genel bakışına bakın. Yönlendirme katmanınız, model başına max_output_tokens ve kesme davranışını taşımalıdır, böylece bir yedekleme sessizce kesik yanıtlar veya sürpriz bir fatura üretmez.

Yedekleme kümenizde sözleşme testi

Asla kullanmadığınız yedekleme yolu, ihtiyacınız olduğunda başarısız olan yoldur. Yedekleme zincirinizi bir API sözleşmesi olarak ele alın ve onu öyle test edin.

İşe yarayan desen: kritik istemlerinizi yedekleme zincirindeki her modele karşı, düzenli olarak ve CI'da çalıştıran bir test senaryosunu Apidog'da tutun. Her model için üç şeyi doğrulayın:

Her model veya sağlayıcı için bir Apidog ortamıyla yapılandırın, uç nokta URL'sini, API anahtarını ve model kimliğini ortam değişkenleri olarak tutun. Aynı senaryo, ortamları değiştirerek `claude-fable-5`, `claude-opus-4-8` ve `claude-sonnet-4-6` üzerinde değişmeden çalışır ve zincire dördüncü bir model eklemek, yeni testler yazmak yerine bir ortam eklemek anlamına gelir.

İstem kümesini bilinçli olarak seçin. Yüzlerce vakaya ihtiyacınız yok; üretim trafiğinizi temsil eden on ila yirmi isteme ihtiyacınız var: gönderdiğiniz en uzun bağlam, ayrıştırdığınız en sıkı yapılandırılmış çıktı, bir zamanlar ayrıştırıcınızı bozan uç durum ve alanınızın hassas sınırına yakın en az bir istem, böylece ret kayması bir destek biletinde değil, bir test çalıştırmasında görünür. Bu küme sürümünü istemlerinizle birlikte tutun ve üretim sizi şaşırttığında, şaşırtıcı durumu pakete ekleyin.

Bir kesinti sırasında bir bonus var: bir ortamı kaydedilmiş yanıtları döndüren bir sahte sunucuya yönlendirin ve sağlayıcı kapalıyken CI'niz modelin aşağısındaki her şeyi doğrulamaya devam eder. Apidog, testlerinizin zaten kullandığı aynı API belirtiminden bu sahte sunucuyu oluşturabilir, böylece kesinti sürüm döngünüzü de engellemez.

12 Haziran'da, sakin ekipler ile panik içindeki ekipler arasındaki fark buydu. Bazıları, Opus 4.8 yollarının en iyi istemleri için geçerli çıktı ürettiğine dair geceleyin kanıtlara sahipti. Diğerleri ise umut besliyordu.

Operasyonel hazırlık

Mimari, size yedekleme yeteneği sağlar. Operasyonlar, kararın hızlı ve temiz bir şekilde alınmasını sağlar.

Fable 5 olayının özel olarak öğrettikleri

1 Temmuz'daki geri dönüş, etrafında politika oluşturmaya değer bir ayrıntı içeriyordu: Anthropic, yeniden eğitilmiş bir güvenlik sınıflandırıcısı ile Fable 5'i yeniden dağıttı. Aynı model kimliği, aynı API yüzeyi, ancak çevrimdışı olan model byte-byte aynı değildi. Ret sınırları değişti. Haziran başında sorunsuz çalışan istemler Temmuz'da farklı sonuçlar verebilir ve eskiden tetiklenen bazı retler artık tetiklenmedi.

Bundan çıkan kural: geri dönüşte yeniden test edin, yeniden etkinleştirmeyin. Bir modelin herhangi bir yokluktan dönmesi, ister askıya alma, ister geri alma, ister uzun bir kullanımdan kaldırma ertelemesi olsun, yeni bir model sürümü olarak ele alınmalıdır. Tam sözleşme paketini ona karşı çalıştırın. Ret ve kalite metriklerini yedek modelinizin sayılarıyla değil, kesinti öncesi temel seviyelerinizle karşılaştırın. Yükseltmeden önce kanarya testi yapın.

İkinci, daha sessiz bir ders var. On dokuz gün, yedeğinizin fiili temel seviyeniz haline gelmesi için yeterince uzun bir süredir. Kullanıcılar Opus 4.8'in davranışına adapte oldu; iç ekipler istemleri buna göre ayarladı. Bir geri dönüş sadece teknik bir olay değil, aynı zamanda bir ürün değişikliğidir ve bir ürün piyasaya sürmekle aynı özeni hak eder.

Sıkça Sorulan Sorular

Aynı sağlayıcı yedekleme zinciri yeterli mi, yoksa ikinci bir sağlayıcıya mı ihtiyacım var?

Aynı sağlayıcı ile başlayın. Kullanımdan kaldırmaları, kapasite olaylarını, güvenlik geri alımlarını ve modele özgü askıya almaları, mühendislik maliyetinin çok küçük bir kısmıyla kapsar ve Anthropic'in sunucu tarafı yedeklemeleri gibi özellikler, onu neredeyse ücretsiz hale getirir. Tam bir sağlayıcı kesintisi veya hesap düzeyindeki bir olay, ikinci bir entegrasyon sürdürmekten size daha pahalıya mal olacaksa, çapraz sağlayıcı bir yol ekleyin. Her iki durumda da düşük mod inşa etmeye değerdir.

Trafik daha küçük bir modele yönlendirildiğinde kullanıcılar bunu fark edecek mi?

Bu göreve bağlıdır, bu yüzden tahmin etmek yerine ölçün. Çıkarma ve sınıflandırma için, iyi yönlendirilmiş daha küçük bir model genellikle ayırt edilemez. Uzun biçimli akıl yürütme için boşluklar ortaya çıkar; Fable 5 ve Opus 4.8 karşılaştırmamız gibi kıyaslamalar size bir başlangıç haritası verir. Yetenek düzeyli istemler ve dürüst UI metni ("yanıtlar şu an daha kısa olabilir") algılanan boşluğu daha da daraltır.

Yedekleme yolu ne sıklıkla test edilmelidir?

Her gece düzenli olarak, istemlerde veya yönlendirme yapılandırmasında herhangi bir değişiklik olduğunda CI'da ve zincirinizi etkileyen herhangi bir sağlayıcı duyurusundan hemen sonra. İlk yirmi isteminizi üç modele karşı çalıştırmanın jeton maliyeti, bir kesinti sırasında bozuk bir yedekleme keşfetmeye kıyasla çok küçük bir miktardır.


Model kullanılabilirliği daha tahmin edilebilir olmayacak, aksine daha az tahmin edilebilir olacak: daha sıkı düzenlemeler, daha hızlı sürüm ve kullanımdan kaldırma döngüleri ve her lansmanla değişen kapasite. Bir sonraki Fable 5 anını atlatacak ekipler, modeli kalıcı bir parça olarak değil, test edilmiş bir yedekle değiştirilebilir bir bileşen olarak görenler olacaktır. İş, bir yapılandırma dosyasına, bir yönlendirme sarmalayıcısına ve her gece çalışan bir sözleşme paketine sığar. Apidog'u indirin ve yedekleme zincirinizi bugün zamanlanmış bir teste bağlayın; bir sonraki kesinti ne zaman olacak, sadece bir zaman meselesi.

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

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