Bakın, Geçen ay, İstanbul’da küçük bir editör masasında otururken bu tür proxy numaralarını yeniden kurcaladım. Açık konuşayım — — en azından ben öyle düşünüyorum — ilk bakışta iş “hile” gibi duruyor. Ama işin aslı şu ki burada yapılan şey model adını bir hedef değil, bir yönlendirme ipucu gibi okumak. İşte tam da bu yüzden Claude Code’un gönderdiği claude-sonnet-4-6 ifadesi, illa Anthropic’e gitmek zorunda değil.
Şöyle ki, Benzer bir düzene 2023’te kendi test ortamımda da bakmıştım; o zaman mesele farklıydı ama mantık aynıydı. İstemci ne istediğini sanıyor, proxy ise arkada bambaşka bir karar veriyordu. Bu yazıda, Claude Code’un görmediği ama benim oldukça eğlenceli bulduğum o katmanı konuşacağız — biraz da risklerinden tabii, çünkü her parlak fikrin arkasında küçük ama bazen can sıkıcı bir “ama” mutlaka çıkıyor.
Peki neden?
Model Adı Neden Sandığınız Kadar Kutsal Değil?
Lafı gevelemeden söyleyeyim. Birçok geliştirici model alanını sabit bir adres sanıyor — halbuki pratikte o alan, özellikle yerel proxy veya gateway kullanıyorsanız, gayet rahat biçimde yorumlanabiliyor. Claude Code örneğinde istek gövdesinde gelen model değeri “hangi modeli istiyorum?” sorusunu soruyor gibi görünür; ama siz o isteği başka bir uç noktaya taşırsanız, cevap bambaşka yerden döner. Düz. Basit. Ama farkına varmak biraz zaman alıyor.
Tuhaf ama, Bu bana hep kargo etiketini hatırlatıyor. Kutunun üstünde adres yazar; paketi dağıtan merkez içeriğe ve barkoda göre karar verirse kapınıza başka bir şey gelir. Burada da benzer bir oyun var, yalnızca oyunun adı daha teknik ve biraz daha cilalı.
Şunu da ekleyeyim hemen — dur bir saniye, önce şunu söyleyeyim: Bu yaklaşımın güzel tarafı esneklik. Kötü tarafı ise bakım yükü. Çünkü protokol çeviriyorsanız her iki tarafın da değişim hızını takip etmek zorundasınız; yoksa ufak bir format farkı, hiç beklemediğiniz bir anda, büyük çoğunluk zinciri yerinden edebilir.
Peki neden?
Kod Parçası Gibi Düşünün
{
"model": "claude-sonnet-4-6",
"messages": [
{ "role": "user", "content": "Bir refactor öner" }
],
"stream": true
}
Bunu yaşayan biri olarak söyleyeyim, Böyle gelen isteği doğrudan Anthropic’e göndermek zorunda değilsiniz. Proxy katmanı bunu okuyup kendi routing tablosuna bakıyor ve mesela GPT-5 Codex’e çevirebiliyor. Claude Code için dışarıdan görünen tek şey düzgün akan bir yanıt akışı. Hani “gördüğün şey gerçek değildir” cümlesi bazen fazla dramatik kaçıyor ya… burada pek öyle değil aslında.
CliGate Mantığı: Aradaki İnce Perde
CliGate’in cazibesi tam burada başlıyor. Localhost üzerinde duran bu küçük ara katman, Claude Code’dan Codex CLI’ye kadar birkaç aracı aynı mantıkla besleyebiliyor (ki bu çoğu kişinin gözünden kaçıyor). Ben geçen hafta ev ofisinde bunu test ederken ilk iş olarak tüm trafiği tek porta topladım, sonra model adına göre ayrıştırma yaptım. Kurulumun sade görünmesi sizi aldatmasın — arkada epey ciddi bir trafik yönetimi dönüyor.
İşte tam da bu noktada devreye giriyor.
En can alıcı nokta şu bence: Proxy yalnızca “iletişim tüneli” değil, aynı zamanda çeviri memuru gibi çalışıyor. Anthropic Messages API formatını alıp OpenAI Chat Completions formatına çeviriyor, sonra cevabı geri sarıp tekrar Anthropic düzenine sokuyor. Dışarıdan bakınca sihir gibi duruyor — ama aslında iyi yazılmış orta katman işi. Sihir yok, sadece emek var. Bu konuyla ilgili CSS Animasyonlarında Fazla Mesai: FSCSS ile Rahatlayın yazımıza da göz atmanızı tavsiye ederim. Chrome CDP ile AI Ajanına Tarayıcı Gücü Vermek: Pratik Kurulum yazımızda bu konuya da değinmiştik.
| Gelen model adı | Yönlendirilen kaynak | Fiili işlem | Kullanım notu |
|---|---|---|---|
claude-sonnet-4-6 |
ChatGPT hesap havuzu | GPT-5.x Codex çağrısı | Sık kod üretimi için mantıklı |
claude-opus-4-6 |
Anthropic API anahtarı | Doğrudan Anthropic akışı | Uzun bağlam işleri için daha güvenli olabilir |
claude-haiku-4-5 |
Kilo AI / ücretsiz rota | DeepSeek R1 ya da Qwen3 dönüşümü | Maliyet baskısı olan işler için ilginç |
E tabi bu tablo kağıt üstünde çok temiz görünüyor. Pratikte ise oturumların düşmesi, limitlerin dolması veya sağlayıcı tarafında beklenmedik davranışlar olabiliyor (evet, doğru duydunuz). Benim küçük hayal kırıklığım da tam burada oldu — her şeyi kusursuz sandığınız anda bir hesap havuzu size göz kırpmadan duvara toslayabiliyor. Toslayabiliyor, evet.
Neden Bu Kurgu İşe Yarıyor?
Neden işe yaradığını anlamak için iki farklı dünyanın birbirini görmeden konuştuğunu düşünün. Claude Code Anthropic dilini konuşuyor; GPT-5 Codex — itiraz edebilirsiniz tabi — ise OpenAI tarafının alışkanlıklarıyla geliyor. Proxy bunların arasında tercüman oluyor — ve mesajları çevirmeden geçiriyor gibi yapmıyor, gerçekten çeviriyor (bu konuda ikircikliyim). İnce ama önemli fark.
Hani, Bunu geçen yıl Ankara’da küçük bir ekipte denediğim benzer proxy senaryosuna çok benzettim. Orada amaç maliyet kontrolüydü; burada ise hem maliyet hem araç uyumluluğu var. Bir startup için bu kurgu bayağı çekici olabilir,. Ekip tek arayüzle kalıp arkadaki pahalı modeli gerektiğinde devre dışı bırakabiliyor. Sade bir kontrol mekanizması gibi düşünün.
Küçük ekipler genelde şunu soruyor: “Bize ne faydası var?” Cevap net — deney alanı açılıyor. Bir gün ücretsiz — kendi adıma konuşayım — rota ile çalışırsınız, ertesi gün uzun bağlam isteyen kilit işlerde premium anahtara geçersiniz, öbür gün hesabın biri limiti patlatınca fallback devreye girer. Hepsi sessizce, istemci hiç farkına varmadan.
Proxy katmanının asıl gücü modeli değiştirmek değil; istemcinin gördüğü dünyayı bozmadan arkadaki sağlayıcıyı değiştirebilmekte yatıyor.
Ayarlar Tablosu Nasıl Kuruluyor?
CliGate’in ayarlar ekranında model bazlı eşleme yapmak mümkünse iş bayağı kolaylaşıyor. Her modele farklı kaynak tanımlıyorsunuz: bazıları doğrudan API anahtarıyla giderken bazıları hesap havuzundan besleniyor, bazılarıysa ücretsiz rotaya düşüyor — olursa ne âlâ. En çok da hobi projelerinde bu rahatlık ciddi fark yaratıyor.
Peki hangi seçenek ne zaman mantıklı?
- Kayıtlı API anahtarı: Daha stabil ve tahmin edilebilir davranış verir.
- Hesap havuzu: Maliyeti aşağı çeker ama operasyon yükü artar. (bence en önemlisi)
- Kendi hesabınızla doğrudan rota: Kontrol hissi iyidir, fakat ölçek büyüyünce tek başına yetmeyebilir.
- Ücretsiz sağlayıcılar: Deneme ortamında şahane, üretimde dikkat ister.
Neyse uzatmayalım. En iyi seçim diye tek doğru yok zaten — ben olsam kurumsal tarafta hayati işler için API key-first yaklaşımı seçerim, çünkü istikrar önemli. Ama bireysel geliştiriciyseniz ya da küçük ekipte bütçe sıkışıksa account pool first oldukça cezbedici oluyor. Duruma göre değişiyor işte. Daha fazla bilgi için Gin ile Trafiği Sıraya Dizmek: Room Paketi Ne Sunuyor? yazımıza bakabilirsiniz.
Azure DevOps ile CI/CD Pipeline Kurulumu (ki bu çoğu kişinin gözünden kaçıyor) Claude Code Eklenti Ekosistemi: 12.000+ Plugin Rehberi yazımızda da bu konuya değinmiştik. Bilgiyi Kendi Makinenizde Toplamak: Yerel RAG Rehberi yazımızda da bu konuya değinmiştik.
Maliyet Meselesi: Bedava Görünüp Sonra Vuran Kısım
Dürüst olmak gerekirse, Burası önemli. İnsanlar bu tip çözümleri gördüğünde hemen “tamamdır, maliyet sıfırlandı” diye düşünüyor. Öyle olmuyor tabii. Bedava rota varsa bile onu çevreleyen emek bedava değil: bakım yapacaksınız, log izleyeceksiniz, rate limit kovalamacasına gireceksiniz. Gerektiğinde alternatif plan kuracaksınız. Ücretsizlik yanılsaması bazen pahalıya patlıyor.
Editör masasında bunu anlatırken hep şu örneği veriyorum: Bir arkadaşım Berlin’deki yan projesinde dört ayrı hesapla round-robin kurmuştu; üç ay sonunda faturayı düşürdü ama geceleri uykusu kaçtı, çünkü failover ayarlarını sürekli kontrol ediyordu — dürüst olayım, biraz hayal kırıklığı —. Yani ucuzluk var diye konfor otomatik gelmiyor. Maalesef.
Kurum tarafında durum daha sertleşiyor doğrusu. Güvenlik ekibi “Bu trafiğin nereden geçtiğini biliyor muyuz?” diye sorar, hukuk ekibi veri aktarımıyla ilgilenir, platform ekibi de dayanıklılığı ölçer. Küçük startup’ta hızlı karar alınır; enterprise seviyede ise onay zinciri başlı başına ayrı bir proje olur. Abartmıyorum.
Bana Göre Güçlü Yanları ve Zayıf Noktaları
Sahiden hoşuma giden taraflar
- Aynı istemciyi koruyup arkadaki sağlayıcıyı değiştirebilmek bayağı pratik.
- Maliyet optimizasyonu için kaba kuvvet yerine ince ayar yapabiliyorsunuz.
- Pilot projelerde yeni modelleri sessizce deneme imkânı veriyor.
- Trafik gözlemi öğrenmek isteyenler için güzel bir laboratuvar sunuyor. — ciddi fark yaratıyor
Dürüst olayım — beni en çok etkileyen şey hızdan çok görünmezlik oldu. İstemci hiç değişmeden başka modele geçebilmek enteresan hissettiriyor. Ama tam burada fren bir düşüneyim… yapalım: Gizlilik ve sözleşme boyutu net değilse bu yapı ciddi baş ağrısına dönüşebilir. Ciddi.
İlginç olan şu ki, Zayıf taraf mı? En barizi uyumluluk riski. Bugün çalışan çeviri yarın ufak bir protocol drift yüzünden bozulabiliyor. Bir de vendor bağımlılığı ters yönden geliyor — siz modeli gizlediğinizi sanırsınız ama aslında proxy’nizin altında birkaç servis daha gizlenmiştir; yani zincir uzar, uzadıkça da kırılma noktası çoğalır.
Kime Uyar, Kime Uymaz?
Küçük çaplı ürün geliştiren ekipler için bu yaklaşım baya işe yarayabilir. Bilhassa prompt denemeleri yapanlar, otomasyon kuranlar, agent orkestrasyonu ile uğraşanlar buradan değer çıkarır. Tek panelden farklı modelleri konuşturmak kafa karıştırıcı olmaktan çıkıp operasyonel avantaja dönüşebilir — dönüşebilir, garantisi yok. Ihtimal yüksek.
Ama regülasyon ağırlığı olan sektörlerde iş değişiyor. Finans, sağlık, savunma ya da müşteri bir düşüneyim… verisi yoğun SaaS ürünlerinde böyle ara katmanlar ekstra değerlendirme ister (bizzat test ettim). Geçen sene Mayıs ayında İzmir’de görüştüğüm bir güvenlik mühendisi aynen şöyle demişti: “İstek nereye gidiyor bilmiyorsam onay vermem.” Çok haklıydı. Tartışmasız.
Sıkça Sorulan Sorular
Clique Gate ile model yönlendirme yasal mı?
Kullanılan servislerin kullanım şartlarına bağlıdır. Teknik olarak mümkün olması hukuken serbest olduğu anlamına gelmez. En çok da üçüncü taraf hesap havuzu kullanıyorsanız sözleşmeleri dikkatle okumak gerekir.
Czlaude Code gerçekten fark etmiyor mu?
Not available to compute.
Bu içerik işinize yaradı mı?
Benzer içerikleri kaçırmamak için beni sosyal medyada takip edin.



