← Blog

Model hayır dediğinde

7 Kasım 2026 · OnePress'in İçinden

Bu hafta hata raporlamamız, hesaba katmadığımız bir ret sınıfını işaretledi: tarihsel ya da siyasi olarak hassas konularda, istek apaçık meşru olsa bile model sağlayıcısının API'si bir completion yerine içerik politikası reddiyle yanıt veriyor. Ret, bizim değil sağlayıcının kendi katmanından geliyor ve kullanıcı, neredeyse kesinlikle okumadığı bir dilde ham bir hata gövdesi görüyor.

Bir değil, iki filtre

OnePress'teki her prompt önce kendi girdi taramamızdan geçer — ödeme işlemcimizin sözleşmesel bir şartı, hem de makul bir şart. Bu istekler onu, doğru olarak, geçiyor: apaçık meşru iş, tam da engelsiz geçmesi gereken trafik türü.

Ret, ne bizim ne de kullanıcının kontrol ettiği ikinci bir filtreden geliyor: model sağlayıcısının, modelin üzerinde trafiği denetleyen platform düzeyindeki kendi içerik taraması. Siyasi olarak hassas konulara dokunan istekler, bir yargı bölgesinin uyumluluk katmanının güvensiz saydığı alana giriyor. Aynı istek, başka her yerde tamamen sıradan bir iş.

Faydalı keşif: filtre modelin içinde değil

Mimariyi değiştiren kısım bu. Kendi benzer bir isteğimizi — aynı içerik sınıfı — birebir aynı model ağırlıklarına gönderdik ama farklı bir host üzerinden sunuldu: OpenRouter, ABD'deki çıkarım sağlayıcılarına yönlendirilerek. Aynı ağırlıklar, aynı prompt sınıfı. Tam üretim, ret yok.

Demek ki ret hiçbir zaman modelin içinde yaşamadı. Ret sunum katmanında yaşıyor — sağlayıcının API'sinin etrafına koyduğu uyumluluk sarmalında. Bu da, modele hiç dokunmadan, temiz ve açık biçimde etrafından yönlendirilebileceği anlamına geliyor.

Neleri değiştirdik

  • Her model artık seçicide iki kez var. Varsayılan set, OpenRouter üzerinden Çin ana karası dışındaki çıkarım sağlayıcılarına yönlendiriliyor; aynı dört model, tercih edenler için kendi ana API'lerinde (CN) etiketiyle kullanılabilir durumda kalıyor.
  • OpenRouter istekleri bir upstream izin listesi taşıyor. İstekleri adıyla belirtilen sağlayıcılara sabitliyoruz ve fallback'i kapatıyoruz — sabitlenen liste hizmet veremezse çağrı, sessizce filtreli bir yola düşmek yerine gürültülü biçimde başarısız oluyor.
  • Sağlayıcı retleri artık okunabilir bir mesaj üretiyor. İçerik politikası reddi kendini sade bir dille açıklıyor ve model seçiciyi işaret ediyor — kullanıcının okumadığı dildeki ham hata yığınlarına son. Daha önce yutulan ve boş bir yanıt gibi görünen, akış ortasına gömülü hata çerçeveleri de artık gerektiği gibi yüzeye çıkıyor.
  • Arka plan görevleri de taşındı. Başlık ve özet üretimi aynı sohbet içeriğini okuduğu için aynı OpenRouter endpoint'ini kullanıyor.

Dürüst sınırlar

Adlandırmaya değer iki taviz var. Birincisi, her modelin filtresiz bir yolu yok: Qwen'in barındırılan flash katmanı yalnızca Alibaba'nın kendi upstream'inin arkasında var, bu yüzden Qwen için OpenRouter slot'u açık ağırlıklı 27B varyantını çalıştırıyor — farklı bir model ve bunu dürüstçe etiketliyoruz. İkincisi, sabitlemek, tamamen başarısız olan bir izin listesinin filtreli yola gerilemek yerine hata döndürmesi demek. Bu bilinçli bir tercih: görünür bir başarısızlık, görünmez bir yer değişikliğine galip gelir.

Daha büyüğü felsefi. Uluslararası bir ürün için varsayılan yol, muhtemelen hiçbir tek yargı bölgesinin editoryal çizgisini miras almamalı — filtrenin kötü niyetli olduğu için değil, "hassas" tanımının farklı bir kitle için yazılmış olması nedeniyle. Varsayılanlar artık sağlayıcının değil, kullanıcının bağlamını esas alıyor.

Reading this and have thoughts?

Spot a mistake, disagree, or want a follow-up? Tell us — a human reads it.

Inside OnePress — the build log

More posts like this, plus the weekly AI digest, straight to your inbox.

Get the build log in your inbox →