Input vs Output Token: 5× Pahalı Olan Hangisi ve Bunu Neden Bilmen Senin İçin Para Kazandırır?
Tüm büyük LLM'ler input token'ı output token'dan 3-5× daha ucuz fiyatlandırıyor. Bu fark teknik bir tesadüf değil — temelde GPU ekonomisi var ve mühendislik kararlarını doğrudan şekillendiriyor. 'Çok input, az output' tasarımı %40-60 tasarruf demek.
Şükrü Yusuf KAYA
18 dakikalık okuma
Orta⚖️ Bir maliyet asimetrisi
OpenAI: input 30/M. Anthropic: input 15/M. Gemini: input 5/M. Output her zaman 3-5× pahalı. Niye? Ve bu asimetriden nasıl faydalanırız?
Fiyat tablosu — Asimetri çıplak gözle#
| Model | Input ($/M) | Output ($/M) | Oran (out/in) |
|---|---|---|---|
| Opus 4.7 | $15 | $75 | 5.0× |
| Sonnet 4.6 | $3 | $15 | 5.0× |
| Haiku 4.5 | $1 | $5 | 5.0× |
| GPT-5 | $10 | $30 | 3.0× |
| GPT-5-mini | $0.40 | $1.60 | 4.0× |
| Gemini 2.5 Pro | $1.25 | $5 | 4.0× |
| Gemini 2.5 Flash | $0.075 | $0.30 | 4.0× |
| DeepSeek V3.5 | $0.27 | $1.10 | 4.1× |
| Llama 3.3 70B (Groq) | $0.59 | $0.79 | 1.3× |
| Llama 3.3 70B (Together) | $0.88 | $0.88 | 1.0× |
İlginç anomali: self-host modellerinin (Llama, Mistral) inference servisleri sıkça eşit fiyat veriyor. Sebebi: bu sağlayıcılar kendi marjlarını kendi ekonomilerine göre kuruyor. Frontier lab'lar (OpenAI, Anthropic, Google) ise asimetri uygular.
Niye?
Sebep: Prefill vs Decode — GPU Ekonomisi 101#
LLM inference iki fazda çalışır:
Faz 1 — Prefill (Input işleme)#
Modele input verdiğinde, tüm input token'larını paralel olarak işler. GPU'lar paralel işleme harika. 4.000 token'lık bir prompt'u bir batch'te işlemek ~50ms.
Ana sınır: GPU memory bandwidth ve compute. Genelde compute-bound.
Faz 2 — Decode (Output üretme)#
Output token'larını tek tek üretir. Her token üretmek için tüm önceki token'ların KV cache'ini okur, attention hesaplar, bir sonraki token'ı çıkarır.
Ana sınır: GPU memory bandwidth. Genelde memory-bound.
Bu çok kritik bir fark. Decode fazı GPU'yu çok daha az verimli kullanır — paralelizm yok, memory'yi sürekli okur.
Maliyet etkisi#
Bir A100 GPU saatlik $1.50 maliyetli olsa:
- Prefill: saatte ~4M token (paralel)
- Decode: saatte ~800K token (sıralı)
5× verim farkı. Bu yüzden 5× fiyat farkı.
🧠 Anahtar içgörü
Output 'token başına 5× pahalı' demek 'token başına 5× zor' demek. Bu, hile değil; gerçek bir mühendislik kısıtının fiyata yansıması. Ama biz mühendisler için bir kaldıraçtır — "output yerine input kullan" tasarımı = tasarruf.
Tasarım Pattern 1 — "Verbose Input, Concise Output"#
Bu pattern asimetrinin doğrudan kullanımı:
Input'a istediğin kadar bilgi koy (ucuz). Output'u minimum tut (pahalı).
Anti-pattern#
USER: "Detaylı bir özet üret." MODEL: 800 token cevap üretir
Doğru pattern#
USER: "Sadece ana 3 noktayı bullet-point olarak yaz. Her bullet 1 cümle." MODEL: 80 token cevap üretir
Aynı bilgi içerik — input'ta biraz daha fazla talimat (ucuz), output dramatik daha az (pahalı). %75-90 output tasarrufu, kalite kaybı sıfır.
Tasarım Pattern 2 — Few-shot examples (cheap)#
Few-shot learning klasik bir teknik. Ama maliyet açısından da harika: 5 örnek ekle (5 × 100 token = 500 input token), output kalitesi yükselsin, post-processing maliyeti düşsün.
SİSTEM: "Aşağıdaki örneklere bakarak benzer formatta cevap ver: Örnek 1: ... Örnek 2: ... ... Örnek 5: ..."
500 input token × 0.0015 ek maliyet.
Karşılığı: output formatı doğru, retry yok, post-processing yok.
Aynı işi 1500 output token'ında retry yapsan: $0.0225 — 15× pahalı.
Tasarım Pattern 3 — max_tokens ile hard cap#
max_tokensAPI çağrılarında parametresi var. Modelin maksimum kaç output token üretebileceğini söyler.
max_tokensresponse = openai.chat.completions.create( model="gpt-4o", messages=[...], max_tokens=200, # ← bunu MUTLAKA koy )
Neden hayati: Modeller bazen "verbose mode"a girer, 4.000 token cevap üretir. koymadıysan ödediğin para budur. Koyduysan, modeli erkenden keser.
max_tokensPro tip: 'ı kullanıcı senaryosuna göre dinamik ayarla:
max_tokens- Yes/no cevap:
max_tokens=10 - Kısa özet:
max_tokens=150 - Detaylı analiz:
max_tokens=800 - Hiçbir zaman koymadan çağırma.
max_tokens
⚠️ max_tokens tuzakları
max_tokens çok düşük olursa cevap ortasında kesilir — kullanıcı deneyimi felaket. Yapılması doğru olan: model'in tipik output uzunluğunu logla (Langfuse ile), %95 percentile'ın üzerine biraz tampon ekle. Modül 3'te bu logging'i kuracağız.
Tasarım Pattern 4 — Structured output (JSON mode)#
response_format={"type": "json_object"}tools=[{...}]Karşılaştırma#
SERBEST CEVAP (400 output token): "Tabii ki, ilgili bilgileri aşağıda sıralıyorum: 1. ... 2. ... 3. ... Eğer ek bilgi isterseniz lütfen sorun." STRUCTURED OUTPUT (180 output token): {"items": ["...", "...", "..."]}
%55 daha az output token, parse etmesi daha kolay, post-processing yok.
Modern API'lerin neredeyse hepsi structured output destekliyor:
- OpenAI:
response_format - Anthropic: (tool_use forçalanır)
tools - Gemini:
response_mime_type: "application/json" - Together/Groq: (çoğu modelde)
response_format
"Düşünme Token'ları" Tuzağı — Yeni Bir Maliyet Sınıfı#
2024 sonu / 2025 başında bir yeni model sınıfı çıktı: reasoning modelleri. OpenAI o1/o3, Claude extended thinking, Gemini Deep Think, DeepSeek-R1.
Bunlar, cevap vermeden önce "düşünüyor" — yani modelin iç monolog token'ları üretiyor, bunlar görünmüyor ama output olarak faturalandırılıyor.
Maliyet etkisi#
| Görev | Standard model | Reasoning model |
|---|---|---|
| Basit cevap | 200 output token | 200 + 0 thinking |
| Orta zorluk | 400 output | 400 + 2.000 thinking |
| Karmaşık matematik | 800 output | 800 + 15.000 thinking |
15.000 thinking token × 0.225 / istek**. Standard model'le aynı görevi 5× daha pahalı çözüyor — ama doğruluk %40 daha yüksek olabilir.
Karar çerçevesi#
Reasoning model ne zaman değer?
- ✅ Matematik, kod, multi-step planning
- ✅ Doğruluk hata-toleranslı değil (medical, legal, finance)
- ❌ Basit cevaplar
- ❌ Yaratıcı yazım (genelde daha kötü)
- ❌ Hızlı UX gerekli yer (latency yüksek)
💡 Pro tip: thinking budget ayarla
Claude'da parametresi ile maksimum düşünme uzunluğunu sınırlayabilirsin. OpenAI'da benzer kontrol. Default'u "medium" yapmak iyi başlangıç.
thinking.budget_tokens=2000reasoning_effort: "low|medium|high"Vaka: Bir RAG cevabı 2× nasıl ucuzlatılır?#
Baseline: Bir RAG cevap pipeline'ı
- Input: 4K tokens (prompt + retrieved chunks + soru)
- Output: ortalama 600 tokens (verbose cevap)
- Maliyet: 4000×15/M = 0.009 = $0.021/istek
Optimizasyonlar:#
Adım 1 — max_tokens=400:
- Output ortalama 350 tokens (model erken kesilir, gereksiz kapanış yok)
- Maliyet: 0.00525 = $0.01725 (−18%)
Adım 2 — Structured output:
- Output 200 tokens (JSON, "Lütfen sorun varsa..." cümleleri yok)
- Maliyet: 0.003 = $0.015 (−29%)
Adım 3 — "Be terse" sistem prompt:
- Output 150 tokens (model bilinçli kısa konuşuyor)
- Maliyet: 0.00225 = $0.01425 (−32%)
Adım 4 — Input 3K'ya sıkıştır (Modül 5):
- Input 3000, output 150
- Maliyet: 0.00225 = $0.01125 (−46%)
Toplam tasarruf: %46. Pipeline tasarımıyla.
Bu asimetrinin sana verdiği fırsatlar — özet#
- Verbose input, concise output — input'a yatırım yap, output'u kontrol et
- Few-shot examples — input maliyeti küçük, output kalitesini artırır
- max_tokens her zaman — sınırsız output = sınırsız fatura
- Structured output — daha az gevezelik, daha az token
- Reasoning modellerine dikkat — gizli thinking token'ları büyük fatura kalemi
Bu 5 prensip Modül 5'te (prompt optimizasyonu) detaylı uygulanacak. Şimdi temeli oturmuş olsun.
▶️ Sıradaki ders
1.5 — Context Window Ekonomisi. 200K, 1M, 10M token bağlam pencereli modeller artık her yerde. Ama büyük bağlam ucuz değil — gerçek maliyet nedir, ne zaman değer, nasıl yönetilir?
Sık Sorulan Sorular
Streaming response'larda son chunk'tan sonra `usage` objesi gelir (OpenAI ve Anthropic'te). Eğer Stream'i yarıda kesersen (kullanıcı tab'ı kapattı), o ana kadar üretilen output token'lar faturalanır. Modül 3'te streaming + token counting nuance'lerini detaylı işleyeceğiz.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
İlgili İçerikler
Modül 0: Neden Maliyet, Neden Şimdi?
AI Maliyet Patlaması: 2022'den 2026'ya Token Fiyatları Neden %96 Düştü Ama Faturalar Neden 40 Kat Arttı?
Öğrenmeye BaşlaModül 0: Neden Maliyet, Neden Şimdi?
Birim Ekonomisi Sözlüğü: COGS, Gross Margin, $/User, Contribution Margin — Mühendisin Bilmesi Gereken 9 Finansal Kavram
Öğrenmeye BaşlaModül 0: Neden Maliyet, Neden Şimdi?