Karşılaştırma: Anthropic vs OpenAI vs Gemini — Karar Matrisi
Üç sağlayıcının caching mekanizmalarını yan yana koyup hangi senaryoda hangisinin seçileceğini somutlaştırıyoruz. Fiyat, kontrol, ölçeklenebilirlik, ekosistem boyutlarında karar matrisi.
Şükrü Yusuf KAYA
14 min read
IntermediateÜç Provider Yan Yana
Bu derste karar verme yeteneğini kazandıracağız. Yeni bir proje başlattığında "hangi provider'ın caching'i benim için doğru?" sorusunu sistematik cevaplayacaksın.
Tablonun Tablosu#
| Özellik | Anthropic | OpenAI | Gemini |
|---|---|---|---|
| Caching tipi | Explicit (cache_control) | Implicit (otomatik) | Explicit + persistent |
| Min token | 1024 (2048 Haiku) | 1024 | 32.768 (!) |
| TTL kontrolü | 5m veya 1h, sen seçersin | Otomatik (~5-10m) | Manuel (saatlerce) |
| Cache write | 1.25× (5m) / 2× (1h) input | Yok (ücretsiz) | Saatlik storage ücreti |
| Cache read indirim | %90 | %50 | %75 + storage |
| Min cache savings | Çok yüksek (read agresif) | Orta | Yüksek ama storage maliyetli |
| Breakpoint sayısı | Maks 4 | Otomatik (1 implicit) | 1 explicit cache |
| Multi-tenant cache leak | Yok (per-account) | Yok (per-org) | Yok (per-project) |
| Hierarchical caching | Evet (4 katman) | Evet (otomatik) | Hayır (tek cache obje) |
| Telemetri detayı | Yüksek (write/read ayrı) | Orta (cached_tokens) | Yüksek (token breakdown) |
| Max context | 200K (1M Claude 4.7) | 128K (1M GPT-4.1) | 1M (2M Gemini Pro) |
| Cache kontrol API'si | Yok (TTL ile sınırlı) | Yok | create/get/update/delete |
| Streaming destek | Evet | Evet | Evet |
| Open-source modeller | Hayır | Hayır | Hayır (Vertex AI ayrı) |
| TR ekosistemde popüler | Yüksek (Anthropic ana model) | Yüksek (legacy) | Orta (yeni) |
Karar Akışı#
Senaryo Bazlı Tavsiyeler#
Önerilen: Anthropic Claude Sonnet 4.6 + 4 breakpoint caching
Sebep:
- Multi-turn'de incremental caching (history her turn'de tekrar yazılmadan)
- 4 breakpoint (KB, tools, system, history) ile %90+ hit rate
- Streaming + cost dengesi optimum
- Türkçe kalitesi en iyi
Cost Calculator (Pratik)#
Her senaryoda fiyatı hesaplamak için 3 boyut önemli:
- Cache-able token kütle (KB + system + tools)
- Cache hit rate (yüksek trafik → yüksek hit)
- TTL refresh sıklığı (5m sürer mi yoksa hep yenilemeli mi?)
python
def estimate_monthly_cost( provider: str, cacheable_tokens: int, dynamic_tokens_per_query: int, output_tokens_per_query: int, queries_per_month: int, cache_hit_rate: float = 0.90,) -> float: """Aylık tahmini maliyet.""" prices = { "anthropic_sonnet": { "input": 3.0, "output": 15.0, "cache_write_5m": 3.75, "cache_read": 0.30, }, "openai_gpt4o": { "input": 2.5, "output": 10.0, "cache_write": 0, # ücretsiz "cache_read": 1.25, }, "gemini_pro": { "input": 1.25, "output": 10.0, "cache_write": 0, # storage ayrı "cache_read": 0.31, "storage_per_hour": 0.31, }, } p = prices[provider] hits = queries_per_month * cache_hit_rate misses = queries_per_month * (1 - cache_hit_rate) if provider == "gemini_pro": # Storage 24 saat tut sayıyoruz, 30 gün storage = cacheable_tokens / 1e6 * p["storage_per_hour"] * 24 * 30 else: storage = 0 cost = ( misses * ( cacheable_tokens / 1e6 * p.get("cache_write_5m", p.get("cache_write", 0) or p["input"]) + dynamic_tokens_per_query / 1e6 * p["input"] + output_tokens_per_query / 1e6 * p["output"] ) + hits * ( cacheable_tokens / 1e6 * p["cache_read"] + dynamic_tokens_per_query / 1e6 * p["input"] + output_tokens_per_query / 1e6 * p["output"] ) + storage ) return cost # Senaryo: 50K KB, 50K queries/month, 90% cache hitscenarios = [ ("anthropic_sonnet", "Claude Sonnet 4.6"), ("openai_gpt4o", "GPT-4o"), ("gemini_pro", "Gemini 2.5 Pro"),] print(f"{'Provider':<25} {'Aylık (USD)':>12} {'Aylık (TL)':>12}")print("─" * 55)for code, name in scenarios: cost = estimate_monthly_cost( provider=code, cacheable_tokens=50_000, dynamic_tokens_per_query=200, output_tokens_per_query=500, queries_per_month=50_000, cache_hit_rate=0.90, ) print(f"{name:<25} ${cost:>10.2f} {cost*33.5:>10,.2f}")Provider seçicisi — kendi senaryonu gir, en ucuz neyi söylesin
Hesapla, Varsayma
Bu örnek senaryoda Gemini Pro 2× ucuz — 50K KB için. Ama 5K KB'de farklı sonuç çıkar. Senaryona göre hesapla, varsayım yapma.
✓ Pekiştir#
Bir Sonraki Derste#
Final lab: aynı uygulamayı üç provider'da yan yana implement edip A/B/C cost karşılaştırması yapacağız.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
Related Content
1. Temeller — Context Penceresi Ekonomisi
Bu Eğitim Hakkında ve Prompt Caching Neden Önemli?
Start Learning1. Temeller — Context Penceresi Ekonomisi
Token Ekonomisi 101: Input vs Output Cost Asimetrisi
Start Learning1. Temeller — Context Penceresi Ekonomisi