# Token Economy and Cost Optimization

> Source: https://sukruyusufkaya.com/en/learn/claude-ustaligi/token-ekonomisi
> Updated: 2026-05-13T11:36:56.690Z
> Category: Claude Ustalığı
> Module: 3. Advanced Prompting Techniques
**TLDR:** Produce the same quality at 50-90% lower cost using token economy: prompt caching, model tiering, output constraints, batching.

> **Maliyet optimizasyonunun mottosu**
>
> **Önce kaliteyi kilitle, sonra maliyeti optimize et.** Kalitesiz ucuzluk anlamsızdır.

# Token Ekonomisinin 5 Kaldıracı

1. **Prompt caching** — Aynı sistem prompt'u tekrarlanıyorsa cache'e al, %75-90 input tasarrufu.
2. **Model katmanlama** — Haiku → Sonnet → Opus zinciri.
3. **Output kısıtlama** — Gerekenden uzun cevap üretme.
4. **Batch API** — Async toplu işlemler %50 indirim.
5. **Kontekst budama** — Gereksiz geçmişi kes, RAG ile değiştir.

Aşağıda her birini sırayla işliyoruz.

![Maliyet kaldıraçları: caching, tiering, output trimming, batching, context pruning](/images/learn/claude-ustaligi/diagram-cost.svg)

_Token ekonomisinin 5 kaldıracı._

### 1) Prompt caching

Anthropic API `cache_control` flag'i ile sistem prompt'unu / büyük few-shot bloklarını / sabit dökümanları cache'e alabilirsin. İlk çağrı standart fiyat; sonraki çağrılar bu kısım için **%90'a varan tasarruf**.

```python
client.messages.create(
    model="claude-sonnet-4-6",
    system=[
        {
            "type": "text",
            "text": LONG_SYSTEM_PROMPT,
            "cache_control": {"type": "ephemeral"},  # ← cache
        },
    ],
    messages=[...],
)
```

Cache TTL kısa (genelde 5 dk); ama agent / chat oturumları için yeterlidir.

### 2) Model katmanlama

Aynı pipeline'da farklı adımlara farklı modeller:

- Haiku → niyet sınıflandırma, ön filtre
- Sonnet → ana cevap üretimi
- Opus → karmaşık edge case ve final review

Tek başına Sonnet kullansan da Haiku ön filtresi koyduğunda %30-50 maliyet düşürmek normal.

### 3) Output kısıtlama

Output token output input'tan 5x pahalıdır. Cevabı kısıtla:

- "max 100 kelime"
- "yalnızca JSON, açıklama yazma"
- "üç madde, her biri tek satır"

`max_tokens` parametresi de bir backstop'tur — modeli mecburen kesmeye zorlar.

### 4) Batch API

Hemen cevap gerekmiyorsa Batch API ile gönder. Anthropic 24 saat içinde işler ve **standart fiyatın %50'si** alınır. İdeal kullanım: gece çalışan toplu özetleme, kategori atama, eval üretme.

### 5) Kontekst budama

Konuşma uzadıkça context büyür. Çözümler:

- **Sliding window:** Sadece son N mesajı tut.
- **Summarization:** Her 20 mesajda bir geçmişi 200 kelimeye özetlet.
- **RAG:** Dokümanları context'e basmak yerine vektör DB'den ihtiyaç anında çek (Modül 11).

$$
C_{\text{aylık}} = D \cdot N_{\text{istek}} \cdot ( I \cdot p_i + O \cdot p_o ) - S_{\text{cache}} - S_{\text{batch}}
$$

```python
# Senaryo: 5,000 günlük istek, ortalama 800 input + 300 output token
# 1) Hep Sonnet
# 2) Haiku ön-filtre + %60 Haiku, %35 Sonnet, %5 Opus
SONNET = (3.0, 15.0)   # USD per 1M tokens (input, output)
HAIKU  = (0.25, 1.25)
OPUS   = (15.0, 75.0)

def cost(daily, in_tok, out_tok, mix):
    monthly = 0
    for model_price, share in mix:
        ip, op = model_price
        monthly_in = daily*30*in_tok*share/1e6 * ip
        monthly_out = daily*30*out_tok*share/1e6 * op
        monthly += monthly_in + monthly_out
    return round(monthly, 2)

senaryo_a = cost(5000, 800, 300, [(SONNET, 1.0)])
senaryo_b = cost(5000, 800, 300, [(HAIKU, 0.60),(SONNET, 0.35),(OPUS, 0.05)])

print("Senaryo A (hep Sonnet)         :", senaryo_a, "USD/ay")
print("Senaryo B (Haiku/Sonnet/Opus)  :", senaryo_b, "USD/ay")
print("Tasarruf                       :", round(senaryo_a - senaryo_b, 2), "USD/ay")
```

> **Cache hit'i izle**
>
> Üretimde her çağrının cache hit oranını izle. %50'nin altındaki cache hit oranı genelde sistem prompt'unun değişken parçaları olduğu anlamına gelir; statikleştir.

**Boşluk doldurma egzersizi (text):**
```text
Token ekonomisinin beş kaldıracı: caching, model _____ , output _____ , _____ API ve kontekst budama. Output token genelde input'tan _____ kat pahalıdır.
```

> ✋ Kontrol noktası: `q-305-mc1`

> 📝 İlgili quiz: `module-3-final`