Skip to content

Optimizasyon Stratejileri

Model yonlendirme stratejileri -- maliyet verimliligi icin Haiku, Sonnet veya Opus ne zaman kullanilmali

11 dk okuma

Her gorev icin Opus kullaniyorsunuz — JSON biclmlendirme ve sablondan kod olusturma dahil. Sonnet bunlari ayni kalitede daha dusuk maliyetle halleder. Model yonlendirme, kaliteden odun vermeden API faturanizi kesmenin en hizli yoludur.

Bu bolumu nasil kullanmali: Modelleri anlamak icin bir kez okuyun, ardindan maliyetleri optimize ederken referans olarak yer imine ekleyin. Asagidaki tablolar ve matrisler, gorev yonlendirme kararlarinda hizli arama icin tasarlanmistir.

Ise yarayan bolunme: Karmasik yeniden duzenleme ve mimari kararlar icin Opus, kod inceleme, biclmlendirme ve rutin gorevler icin Sonnet. Bu genellikle basit islerde kalite kaybi olmadan maliyetleri %40-60 dusurur.

Model secimi, olcekte maliyet uzerinde en buyuk etkiye sahiptir. Sonnet, token basina Opus’tan yaklasik %40 daha ucuzdur — milyon girdi/cikti basina $3/$15’a karsi $5/$25. Gorevleri dogru modele ve efor seviyesine yonlendirmek, kalitenin onemli oldugu yerlerde fedakarlik etmeden faturanizi onemli olcude dusurabilir.

Butce sinirlamalari ve takim harcama politikalari icin Butce Kontrolleri sayfasina bakin. cache seviyesinde optimizasyon icin asagidaki Cache ve Istem Optimizasyonu bolumune bakin.

Model Secim Rehberi

Model Secim Rehberi

Gorev TipiModelNedenBizim Secimimiz
Kod biclmlendirme, lint duzeltmelericlaude-sonnet-4-6Mekanik donusumler; Sonnet bunlari ayni iyi hallederSonnet — basit gorevler
Test olusturmaclaude-sonnet-4-6Net sablonlarla oruntu izleyen calismaSonnet — basit gorevler
Ozetleme, dokumantasyonclaude-sonnet-4-6Hizin derinlikten daha onemli oldugu metin senteziSonnet — genel kullanim
Karmasik yeniden duzenlemeclaude-opus-4-6Mimari sonuclari olan dosyalar arasi akil yurumeOpus — karmasik akil yurume
Hata teshisiclaude-opus-4-6Durum ve yan etkiler hakkinda derin akil yurume gerektirirOpus — karmasik akil yurume
Mimari kararlarclaude-opus-4-6Genis baglam anlayisi gerektiren odunlesim analiziOpus — karmasik akil yurume

Modeller arasi gecis --model bayragi ile yapilir:

Terminal window
# Rutin gorevler icin Sonnet -- yaklasik $0.005/cagri
claude -p "Add JSDoc comments to this file" --model claude-sonnet-4-6
# Karmasik akil yurume icin Opus -- minimum yaklasik $0.016/cagri
claude -p "Find the race condition in this auth flow" --model claude-opus-4-6
Try This

Ayni gorevde model maliyetlerini karsilastirin:

claude -p “Format this JSON: {a:1,b:2}” —output-format json | jq ‘{model: “opus”, cost: .total_cost_usd}’

claude -p “Format this JSON: {a:1,b:2}” —model claude-sonnet-4-6 —output-format json | jq ‘{model: “sonnet”, cost: .total_cost_usd}’

Bu gorev icin Opus ciktisi daha mi iyi? Yoksa ayni sonuc icin sadece daha mi fazla odediniz?

Iki Gecisli Strateji

CI pipeline’larinda varsayilan olarak Sonnet kullanin ve yalnizca Sonnet ciktisi dogrulama veya kalite kontrollerinden gecemezse Opus’a yukseltme yapin. Iki gecisli bir strateji — Sonnet taslak olusturur, yalnizca gerektiginde Opus inceler — pipeline maliyetlerini %60-80 dusureblilir.

Gercek tasarruflar: Gunluk bir rapor olusturma gorevini, istemi yapilandirilmis veri cikartmaya odaklayarak calisma basina $0,40 (Opus) yerine $0,03 (Sonnet) dusurduk. 30 gunluk uretim calistirmalarinda sifir dogruluk kaybi. Anahtar nokta, “kapsamli analiz” ifadesinin yalnizca tablolu cikti gerektiginde Opus seviyesinde ayrintili ciktiyi tetikledigini fark etmekti.

#!/bin/bash
# two-pass.sh -- Ilk Sonnet, yalnizca gerekirse Opus
# Gecis 1: Sonnet taslagi
RESULT=$(claude -p "Review this PR for issues" \
--model claude-sonnet-4-6 \
--output-format json \
--max-budget-usd 0.25)
REVIEW=$(echo "$RESULT" | jq -r '.result')
# Sonnet karmasik bir sey isaret etti mi kontrol et
if echo "$REVIEW" | grep -qi "complex\|unclear\|needs deeper\|architecture"; then
# Gecis 2: Opus derin incelemesi
RESULT=$(claude -p "Provide a thorough review of this PR, \
focusing on architectural concerns and edge cases" \
--model claude-opus-4-6 \
--output-format json \
--max-budget-usd 1.00)
REVIEW=$(echo "$RESULT" | jq -r '.result')
fi
echo "$REVIEW"

Maliyet Karsilastirmasi

Iki Gecisli vs Tek Gecisli Maliyet

Strateji100 PR/gunAylik Maliyet
Tamami Opus100 x $0.05 = $5/gun$110
Tamami Sonnet100 x $0.01 = $1/gun$22
Iki gecisli (%20 yukseltme)100 x $0.01 + 20 x $0.05 = $2/gun$44

Iki gecisli strateji, tamami Opus’a gore %60 daha az maliyetlidir ve buna ihtiyac duyan PR’larda Opus kalitesinde incelemeler saglar.

Yedek Model Yalnizca 429 Hiz Limiti Hatalarinda Tetiklenir

KRITIK: —fallback-model YALNIZCA HTTP 429 hiz limiti hatalarinda tetiklenir, API hatalarinda, zaman asimlarinda veya butce asiminda degil. Genel bir hata isleyici degildir. Dayaniklilik icin yedege guveniyorsaniz, diger hata modlari icin acik yeniden deneme mantigi ile birlestirin. Tam kapsam icin CI/CD Dayaniklilik sayfasina bakin.

Akis davranisi: Cok turlu oturumlarda, bir akis Opus ile baslar ve 3. turda 429 alirsa, CLI sorunsuzca yedek modele (ornegin Sonnet) gecer ve akisi kesintisiz devam ettirir. JSON yanitindaki modelUsage alani her iki modelin de token sayilarini gosterir.

Tip

Bir sarmalayici betikte, varsayilan modeli gorev kategorisine gore ayarlayin. Biclmlendirme, lint ve sablondan kod olusturmayi otomatik olarak Sonnet’e yonlendirin. Opus’u acikca talep eden komutlar veya cok dosyali akil yurume gerektiren gorevler icin saklayin.

Efor Seviyeleri

--effort bayragi, Claude’un yanit vermeden once ne kadar dusunme yapacagini kontrol eder. Daha dusuk efor, daha az cikti token’i demektir ve bu dogrudan maliyeti dusurur.

Efor Seviyesi Karsilastirmasi

EforDavranisEn UygunGoreli Maliyet
lowMinimum dusunme, kisa yanitlarAramalar, basit donusumler, evet/hayir sorulari~0.5x
mediumDengeli dusunme ve ciktiStandart kod olusturma, aciklamalar~1x (temel)
highGenisletilmis akil yurume, kapsamli ciktiKarmasik hata ayiklama, cok adimli analiz~1.5-2x
maxMaksimum akil yurume derinligiEn zor problemler, mimari incelemeler~2-3x

Olcekte efor ayarlama birikir. Takiminizin cagrilarinin %70’i basit aramalar veya biclmlendirme gorevleriyse, bunlari --effort low ile yonlendirmek bu cagrilar icin toplam cikti token maliyetlerini neredeyse yarilayabilir:

Terminal window
# Basit gorevler icin dusuk efor
claude -p "What is the return type of this function?" --effort low
# Standart calisma icin varsayilan efor
claude -p "Write unit tests for the auth module"
# En zor problemler icin maksimum efor
claude -p "Diagnose why this distributed lock fails under contention" --effort max
Note

Efor cikti token sayisini etkiler, girdi token’larini degil. Sistem istemi ek yuku efor seviyesinden bagimsiz olarak aynidir. Girdi maliyetinin baskin oldugu cagrilarda (buyuk baglam, cok sayida dosya) efor ayarlamanin etkisi minimum duzeydedir. En cok uzun yanitlar olusturan cagrilarda onem kazanir.

Model + Efor Matrisi

Model secimini efor seviyeleriyle birlestirmek size ince ayarli bir maliyet kontrol matrisi sunar:

Model + Efor Maliyet Matrisi

YapilandirmaKullanim AlaniGoreli Maliyet
Sonnet + dusuk eforBiclmlendirme, basit aramalar~0.1x (en ucuz)
Sonnet + orta eforStandart kod olusturma, dokumanlar~0.2x
Opus + dusuk eforHizli uzman gorusleri~0.5x
Opus + orta eforStandart karmasik gorevler~1x (temel)
Opus + maksimum eforEn zor akil yurume gorevleri~2-3x (en pahali)

En ucuz yapilandirma (Sonnet + dusuk efor) en pahaliya (Opus + maksimum efor) gore kabaca 10 kat daha az maliyetlidir. Gunde 1.000 cagri islenen bir takim icin, %70’ini en ucuz katmana yonlendirmek ayda binlerce dolar tasarruf saglayabilir.


Cache ve Istem Optimizasyonu

Ayni sistem istemleriyle art arda yapilan iki cagri bir cache paylasmaliydi. Paylasmiyor — cunku ikinci cagriniz farkli bir bayrak kombinasyonu kullandi, cache’i gecersiz kildi ve tam girdi token fiyatini iki kez odedi. Onbellekleme otomatiktir, ancak gercekten cache isabetleri elde edip etmemeniz is yukunuzu nasil yapilandirdiginiza baglidir.

Onbellekleme Claude CLI’da otomatiktir, ancak is yukunuzu nasil yapilandirdiginiz, %90 tasarruf mi elde ettiginizi yoksa her cagri icin tam fiyat mi odediginizi belirler. Bu bolum, token maliyetlerinizi olcekte en aza indiren onbellekleme stratejilerini, toplu isleme kaliplarini ve oturum yonetimi tekniklerini kapsar.

Butce sinirlamalari ve takim politikalari icin Butce Kontrolleri sayfasina bakin.

Cache Nasil Calisir

Her Claude CLI cagrisi 30.000-40.000+ token’lik bir sistem istemi icerir (arac tanimlari, guvenlik kurallari, CLAUDE.md dosyalari). Iki cagri ayni sistem istemini paylastiginda, ikinci cagri tam fiyat odemek yerine cache’den girdi fiyatinin onda biri ile okur.

Opus icin cache fiyatlandirmasi:

  • Tam girdi: Milyon token basina $15
  • cache yazimi: Milyon token basina $18,75 (tam fiyatin 1,25 kati — ilk cagri bunu oder)
  • cache okuma: Milyon token basina $1,50 (tam fiyatin 0,1 kati — sonraki cagrilar)

Tasarruflar birikerek artar: ilk cagri cache’e yazidiktan sonra, ayni sistem istemine sahip her sonraki cagri girdi token’larinda %90 indirim alir.

Cache Economics — Same Prompt, Three Calls
$0.17 cache write Call 1 $0.02 Call 2 $0.02 Call 3 90% off cache read full price subsequent calls reuse cache
Try This

cache isabet oraninizi olcun. Ayni istemi iki kez calistirin:

claude -p “Explain caching” —output-format json | jq ‘{cache_read: .usage.cache_read_input_tokens, cache_create: .usage.cache_creation_input_tokens, cost: .total_cost_usd}’

Hemen tekrar calistirin. Ikinci cagrilarda cache_read_input_tokens ne kadar artti? Bu artis, %90 indirimle okudugunuz token’lari temsil eder.

Benzer Istemleri Topluca Isleyin

Ayni sistem istemini paylasan cagrilar cache okumalarindan fayda gorur. Farkli is yuklerini birbirine karistirmak yerine benzer gorevleri bir arada calistirin:

Terminal window
# Iyi: benzer gorevleri topluca isle -- ikinci cagri cache isabetleri alir
claude -p "Review src/auth.ts for security issues" --output-format json
claude -p "Review src/auth.ts for performance issues" --output-format json
# Israf: farkli sistem baglamlarini karistir
claude -p "Review src/auth.ts" --output-format json
claude -p "Format this JSON" --model claude-sonnet-4-6 --output-format json
claude -p "Review src/db.ts" --output-format json

Karistirmali kalip, cagrilar arasinda cache tahliyesini zorlar. Benzer gorevleri gruplama cache’i sicak tutar.

Toplu Isleme Betigi

Buyuk olcekli toplu islemler icin, ayni turdeki tum dosyalari birlikte isleyin:

#!/bin/bash
# batch-review.sh -- cache verimliligi icin tum dosyalari tek bir toplu islemde isle
BATCH_DIR="src/api"
BUDGET_PER_FILE=0.25
TOTAL_COST=0
echo "Reviewing all TypeScript files in $BATCH_DIR..."
for file in "$BATCH_DIR"/*.ts; do
RESULT=$(claude -p "Review $file for security issues" \
--output-format json \
--max-budget-usd "$BUDGET_PER_FILE" \
--no-session-persistence \
--permission-mode bypassPermissions)
COST=$(echo "$RESULT" | jq -r '.total_cost_usd // 0')
CACHE_READ=$(echo "$RESULT" | jq -r '.usage.cache_read_input_tokens // 0')
CACHE_WRITE=$(echo "$RESULT" | jq -r '.usage.cache_creation_input_tokens // 0')
echo "$file: \$$COST (cache read: $CACHE_READ, cache write: $CACHE_WRITE)"
TOTAL_COST=$(echo "$TOTAL_COST + $COST" | bc)
done
echo "Total batch cost: \$$TOTAL_COST"

Toplu islemdeki ilk dosya cache yazim maliyetini oder. Sonraki dosyalar fiyatin %10’uyla cache okumalari alir.

Oturumlari Surdur

Bir oturumu surdurmek sifirdan baslatmaktan daha ucuzdur. Her surdurulen tur, birikimli baglami yeniden almak yerine 0,1x oraninda cache’den okur:

Terminal window
# Bir oturum baslat
RESULT=$(claude -p "Analyze the codebase structure" --output-format json)
SESSION=$(echo "$RESULT" | jq -r '.session_id')
# Surdur -- baglam onbellekte, sonraki turlar daha ucuz
claude -p "Now focus on the API layer" --resume "$SESSION" --output-format json
claude -p "Suggest improvements" --resume "$SESSION" --output-format json

Ne Zaman Surdur, Ne Zaman Sifirdan Basla

Surdurme vs Yeni Oturum

SenaryoEn Iyi YaklasimNeden
Ayni konuda takip sorulariSurdurOnbellekteki baglam girdi token’larinda %90 tasarruf saglar
Ayni gorev, farkli dosyaYeni oturumEski baglam alakasiz gurultu — token israf eder
Uzun sureli analiz (10+ tur)Butce ile surdurBiriken baglam buyur — toplami sinirlamak icin butce ayarla
Paralel bagimsiz gorevlerAyri oturumlarPaylasilmis baglam yok — her oturum bagimsiz calisir

Cache Hesabi

Sayilari anlamak, oturum yonetimi hakkinda daha iyi kararlar vermenize yardimci olur:

10 Turlu Bir Opus Oturumunda Cache Etkisi

SenaryoHesaplamaMaliyet
Her seferinde taze cagri10 x 15K girdi token, $15/M fiyatla$2,25
Tamami onbellekten1 cache yazimi + 9 cache okuma$0,65
Tasarruf%71

Gunde 50 cagri yapan 10 gelistiriciden olusan bir takim icin, onbellekli ve onbelleksiz is yukleri arasindaki fark yaklasik gunluk $240 — yalnizca oturum yonetiminden ayda $5.000’den fazla tasarruf.

Gerekli Olmadiginda Araclari Devre Disi Birakin

Arac tanimlari sistem istemini sisirer. Saf metin gorevleri icin bunlari cikarmak girdi token’larini azaltir:

Terminal window
claude -p "Summarize this document" --tools ""

Bu, arac tanimlarini sistem isteminden cikarir ve cagri basina girdi token sayisini dusurur. Tasarruflar cagri basina mütevazi olmakla birlikte binlerce gunluk cagri boyunca birikir.

Cache TTL Farkindailigi

Gotcha

cache girisleri TTL’lere sahiptir — kisa omurlu cache’ler icin 5 dakika, uzatilmis cache’ler icin 1 saat. Gorevleri aralarinda uzun bosluklar birakarak topluca islerseniz, cache suresi dolabilir ve tekrar tam yazim maliyeti odersiniz. cache isabetlerini en ust duzeye cikarmak icin toplu calistirmalari siki tutun.

Cache TTL Icin Optimizasyon

CI pipeline’larinizi, Claude cagrilarini pipeline asamalarina yaymak yerine bir arada gruplama yapacak sekilde yapilandirin:

# Iyi: Claude cagrilari bir arada gruplanmis (cache sicak kalir)
jobs:
claude-review:
steps:
- run: claude -p "Lint check" --output-format json
- run: claude -p "Security check" --output-format json
- run: claude -p "Doc check" --output-format json
# Israf: Claude cagrilari asamalara yayilmis (cache aralarinda suresi dolar)
jobs:
lint:
steps:
- run: eslint .
- run: claude -p "Lint check" --output-format json # cache yazimi
test:
steps:
- run: npm test
- run: claude -p "Security check" --output-format json # cache suresi doldu, tekrar yaz

Cache Izleme

Optimizasyonunuzun calistigini dogrulamak icin JSON yanitindaki cache kullanimini kontrol edin:

Terminal window
RESULT=$(claude -p "Review this file" --output-format json)
# Cache metriklerini kontrol et
CACHE_READ=$(echo "$RESULT" | jq '.usage.cache_read_input_tokens')
CACHE_WRITE=$(echo "$RESULT" | jq '.usage.cache_creation_input_tokens')
INPUT=$(echo "$RESULT" | jq '.usage.input_tokens')
echo "Cache read: $CACHE_READ tokens"
echo "Cache write: $CACHE_WRITE tokens"
echo "Uncached input: $INPUT tokens"
# Cache isabet orani
TOTAL=$((CACHE_READ + CACHE_WRITE + INPUT))
if [ "$TOTAL" -gt 0 ]; then
RATIO=$(echo "scale=2; $CACHE_READ * 100 / $TOTAL" | bc)
echo "Cache hit ratio: ${RATIO}%"
fi

Saglikli bir uretim is yuku, girdi token’larinda %80’den fazla cache isabet orani gostermeli. Cogu cagri yuksek cache_creation_input_tokens gosteriyorsa, toplama stratejiniz ayar gerektiriyor demektir.

Sonraki Adimlar

Hem model yonlendirme hem de cache optimize edildiginde, temel maliyet kollariniz yerindedir: Butce Kontrolleri harcamayi sinirlar, model optimizasyonu cagri basina maliyeti dusurur ve cache optimizasyonu token basina maliyeti dusurur. Takim kiyas degerleri ve baslangic ek yuku dahil tam maliyet tablosu icin Olcekte Maliyet sayfasina bakin.

Now Do This

claude -p “Hello” —output-format json | jq ‘.usage’ komutunu art arda iki kez calistirin. Iki yanit arasindaki cache_read_input_tokens degerini karsilastirin — ikinci cagri onemli olcude daha fazla cache okuma gostermeli. Bu fark, islemeye baslayan %90 tasarruftur. Is yuklerinizi bunu en ust duzeye cikaracak sekilde yapilandirin.