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 Tipi | Model | Neden | Bizim Secimimiz |
|---|---|---|---|
| Kod biclmlendirme, lint duzeltmeleri | claude-sonnet-4-6 | Mekanik donusumler; Sonnet bunlari ayni iyi halleder | Sonnet — basit gorevler |
| Test olusturma | claude-sonnet-4-6 | Net sablonlarla oruntu izleyen calisma | Sonnet — basit gorevler |
| Ozetleme, dokumantasyon | claude-sonnet-4-6 | Hizin derinlikten daha onemli oldugu metin sentezi | Sonnet — genel kullanim |
| Karmasik yeniden duzenleme | claude-opus-4-6 | Mimari sonuclari olan dosyalar arasi akil yurume | Opus — karmasik akil yurume |
| Hata teshisi | claude-opus-4-6 | Durum ve yan etkiler hakkinda derin akil yurume gerektirir | Opus — karmasik akil yurume |
| Mimari kararlar | claude-opus-4-6 | Genis baglam anlayisi gerektiren odunlesim analizi | Opus — karmasik akil yurume |
Modeller arasi gecis --model bayragi ile yapilir:
# Rutin gorevler icin Sonnet -- yaklasik $0.005/cagriclaude -p "Add JSDoc comments to this file" --model claude-sonnet-4-6
# Karmasik akil yurume icin Opus -- minimum yaklasik $0.016/cagriclaude -p "Find the race condition in this auth flow" --model claude-opus-4-6Ayni 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 taslagiRESULT=$(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 etif 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
| Strateji | 100 PR/gun | Aylik Maliyet |
|---|---|---|
| Tamami Opus | 100 x $0.05 = $5/gun | $110 |
| Tamami Sonnet | 100 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.
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.
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
| Efor | Davranis | En Uygun | Goreli Maliyet |
|---|---|---|---|
low | Minimum dusunme, kisa yanitlar | Aramalar, basit donusumler, evet/hayir sorulari | ~0.5x |
medium | Dengeli dusunme ve cikti | Standart kod olusturma, aciklamalar | ~1x (temel) |
high | Genisletilmis akil yurume, kapsamli cikti | Karmasik hata ayiklama, cok adimli analiz | ~1.5-2x |
max | Maksimum akil yurume derinligi | En 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:
# Basit gorevler icin dusuk eforclaude -p "What is the return type of this function?" --effort low
# Standart calisma icin varsayilan eforclaude -p "Write unit tests for the auth module"
# En zor problemler icin maksimum eforclaude -p "Diagnose why this distributed lock fails under contention" --effort maxEfor 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
| Yapilandirma | Kullanim Alani | Goreli Maliyet |
|---|---|---|
| Sonnet + dusuk efor | Biclmlendirme, basit aramalar | ~0.1x (en ucuz) |
| Sonnet + orta efor | Standart kod olusturma, dokumanlar | ~0.2x |
| Opus + dusuk efor | Hizli uzman gorusleri | ~0.5x |
| Opus + orta efor | Standart karmasik gorevler | ~1x (temel) |
| Opus + maksimum efor | En 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 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:
# Iyi: benzer gorevleri topluca isle -- ikinci cagri cache isabetleri alirclaude -p "Review src/auth.ts for security issues" --output-format jsonclaude -p "Review src/auth.ts for performance issues" --output-format json
# Israf: farkli sistem baglamlarini karistirclaude -p "Review src/auth.ts" --output-format jsonclaude -p "Format this JSON" --model claude-sonnet-4-6 --output-format jsonclaude -p "Review src/db.ts" --output-format jsonKaristirmali 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.25TOTAL_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:
# Bir oturum baslatRESULT=$(claude -p "Analyze the codebase structure" --output-format json)SESSION=$(echo "$RESULT" | jq -r '.session_id')
# Surdur -- baglam onbellekte, sonraki turlar daha ucuzclaude -p "Now focus on the API layer" --resume "$SESSION" --output-format jsonclaude -p "Suggest improvements" --resume "$SESSION" --output-format jsonNe Zaman Surdur, Ne Zaman Sifirdan Basla
Surdurme vs Yeni Oturum
| Senaryo | En Iyi Yaklasim | Neden |
|---|---|---|
| Ayni konuda takip sorulari | Surdur | Onbellekteki baglam girdi token’larinda %90 tasarruf saglar |
| Ayni gorev, farkli dosya | Yeni oturum | Eski baglam alakasiz gurultu — token israf eder |
| Uzun sureli analiz (10+ tur) | Butce ile surdur | Biriken baglam buyur — toplami sinirlamak icin butce ayarla |
| Paralel bagimsiz gorevler | Ayri oturumlar | Paylasilmis 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
| Senaryo | Hesaplama | Maliyet |
|---|---|---|
| Her seferinde taze cagri | 10 x 15K girdi token, $15/M fiyatla | $2,25 |
| Tamami onbellekten | 1 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:
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
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 yazCache Izleme
Optimizasyonunuzun calistigini dogrulamak icin JSON yanitindaki cache kullanimini kontrol edin:
RESULT=$(claude -p "Review this file" --output-format json)
# Cache metriklerini kontrol etCACHE_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 oraniTOTAL=$((CACHE_READ + CACHE_WRITE + INPUT))if [ "$TOTAL" -gt 0 ]; then RATIO=$(echo "scale=2; $CACHE_READ * 100 / $TOTAL" | bc) echo "Cache hit ratio: ${RATIO}%"fiSaglikli 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.
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.