Bir geliştiricinin CLI kullanımı günde $6’a mal oluyor. Gayet iyi. Bunu gece boyunca gözetimsiz ajanlar çalıştıran 50 geliştiriciyle çarpın ve aylık API faturanız bir bütçe sahibi ve sert bir tavan gerektiren bir kalem haline gelir.
Tek bir geliştirici Claude CLI kullandığında, maliyetler sezgiseldir — faturayı görür ve ayarlarsınız. On geliştirici günde binlerce API çağrısı çalıştırdığında, maliyetler bir sistem tasarım problemi haline gelir. Bu bölüm, üretim iş yüklerini öngörülebilir ve uygun fiyatlı tutan bütçeleme, model seçimi ve optimizasyon stratejilerini kapsar.
Çağrı başına fiyatlandırma ve cache ekonomisi için Ne Kadara Mal Olur bölümüne bakın.
Başlatma Token Ek Yükü
Her claude oturumu, siz tek bir kelime yazmadan 30.000-40.000 token tüketir. Bu “başlatma vergisi” şunları içerir:
- Sistem istemi: ~14.000 token (araç tanımları, güvenlik kuralları, çıktı biçimlendirme)
- CLAUDE.md dosyaları: 1.000-10.000+ token (hiyerarşideki tüm dosyalar yüklenir)
- MCP araç tanımları: 0-50.000+ token (her araç = 200-500 token; 20 sunucu 20K+ ekleyebilir)
Opus fiyatlandırmasında bu, sadece başlamak için oturum başına $0.02-0.06 anlamına gelir. Pro plan kullanıcıları için, başlatma tek başına günlük kotanızın %1-3’ünü tüketir. Bu maliyet görünmezdir — result alanında görünmez, yalnızca usage.cache_read_input_tokens ve usage.cache_creation_input_tokens dökümünde.
Azaltma stratejileri:
- Kullanılmayan MCP sunucularını devre dışı bırakın — kaldırılan her sunucu çağrı başına 200-500 token tasarrufu sağlar
- Saf metin görevleri için
--tools ""kullanın — araç tanımlarını sistem isteminden çıkarır - CLAUDE.md’yi 10.000 kelimenin altında tutun — monorepo yapılandırmalarını alt dizin dosyalarına bölün
- İlgili çağrıları gruplandırın — başlatma ek yükünde cache isabetlerini maksimize eder
Pro planında tek bir oturum başlatma, siz bir şey sormadan günlük kotanızın %1-3’ünü tüketir. 30-40K token yüklüyken (sistem istemi + araçlar + CLAUDE.md), görünmez başlatma maliyeti kabaca kısa bir konuşmaya eşdeğerdir. Bu ek yükü en aza indirmek için kullanılmayan MCP sunucularını devre dışı bırakın ve CLAUDE.md’yi yalın tutun.
Ekip Maliyet Referans Değerleri
Organizasyonel bütçeler belirlemeden önce, bir temel çizgiye ihtiyacınız var. Bireysel maliyetler model seçimi, görev karmaşıklığı, cache davranışı ve MCP sunucu yapılandırmasına bağlı olarak önemli ölçüde değişir.
Ekip Maliyet Referans Değerleri
| Metrik | Değer | Planlama Notu |
|---|---|---|
| Geliştirici başına günlük ortalama | $6 | Ekipler arasında medyan |
| 90. yüzdelik günlük | $12 | Bu eşikte uyarılar ayarlayın (aynı veriden 90. yüzdelik) |
| Geliştirici başına aylık tahmin | $100-200 | Günde $5-9’dan 22 iş günü |
| 10 kişilik ekip aylık | $1.000-2.000 | Ani artışları karşılamak için $2.500 bütçeleyin |
| 50 kişilik ekip aylık | $5.000-10.000 | Bu katmanda hacim fiyatlandırması görüşün |
Bu rakamlar, cache etkinleştirilmiş Opus ve Sonnet kullanımının bir karışımını varsayar. Cache’siz, 3-5x ile çarpın. Cache’siz 100 turlu bir Opus oturumu $50-100’e, cache’li $10-19’a mal olur — bu fark bir ekip genelinde hızla biririr.
100 geliştiricili bir ekip, tek bir haftada $1.200’lık bir artış bildirdi — üç geliştirici bütçe tavanları olmadan agresif oturum döngüleri çalıştırıyordu. Çözüm basitti: sarmalayıcı betiklerde zorunlu --max-budget-usd ve $15’te geliştirici başına günlük uyarılar.
—output-format json ile geliştirici başına harcamayı takip edin ve çağrılar arasında total_cost_usd’yi toplayın. ccusage gibi araçlar bunu organizasyonunuz genelinde otomatikleştirebilir.
Görev başına gerçek maliyetinizi ölçün. Aynı istemi tek bir oturumda 3 kez çalıştırın ve maliyetleri takip edin:
for i in 1 2 3; do claude -p “Summarize this repo” —output-format json | jq ‘{run: ‘$i’, cost: .total_cost_usd, cached: .usage.cache_read_input_tokens}’; done
Sonraki çağrılarda cache_read_input_tokens’ın nasıl arttığını izleyin. 3. çalıştırma 1. çalıştırmaya kıyasla ne kadar daha ucuz?
Optimizasyon Öncelikleri
Bu bölüm ekip referans değerlerini ve maliyet temel çizgisini kapsar. Uygulanabilir optimizasyon stratejileri için derinlemesine bölümlere bakın:
- Optimizasyon Stratejileri — model yönlendirme (Sonnet vs Opus), efor seviyeleri, iki geçişli stratejiler, istem cache’leme, toplu işleme, oturum yönetimi ve cache TTL farkındalığı
Kısa versiyon: derin muhakeme gerektirmeyen her şey için Sonnet kullanın. Kod inceleme, biçimlendirme, özetler — Sonnet bunları kalite düşüşü olmadan 4-8 kat daha düşük maliyetle ele alır.
Öncelik sırası (tipik tasarrufa göre sıralı):
- Basit görevler için Sonnet (lint/format/özetleme için Opus’a kıyasla %70 maliyet azaltma)
- Bütçe tavanları (
--max-budget-usdaşırı döngüleri önler) - Cache yeniden kullanımı (kararlı sistem istemleri, oturum devam ettirme)
- Sıkıştırma (eski turları budayın, daha küçük CLAUDE.md)
- Haiku deneyleri (önemsiz görevler için 10 kat daha ucuz, iş yüklerinin %20’sinden azı için çalışır)
500+ inceleme arasında cost_usd, turns ve cache_read_tokens’ı takip eden SQL panolarıyla gerçek inceleme başına maliyet analitiğini ($0.04-0.08 ort.) görün — MR İnceleyici Oluşturun, Bölüm 6: Hataları Yönetin ve Maliyetleri Takip Edin.
Bir otomasyon betiğine maliyet takibi ekleyin: COST=$(claude -p ”…” —output-format json | jq ‘.total_cost_usd’) ve bir dosyaya kaydedin. Bir hafta sonra, görev başına gerçek maliyetlerinizi bileceksiniz — ölçekte bütçelemenin ilk adımı.
Bütçe Kontrolleri
Bir geliştiricinin gece boyunca çalışan ajanı, uyurken 200 API çağrısı yapar. Organizasyon çapında bütçe tavanı yok, bu yüzden biri fark etmeden fatura $400’e ulaşır. Bütçe kontrolleri bireysel çağrılarla ilgili değildir — ölçekte organizasyonel politika uygulamasıyla ilgilidir.
Tek bir geliştirici Claude CLI kullandığında, maliyetler sezgiseldir — faturayı görür ve ayarlarsınız. On geliştirici günde binlerce API çağrısı çalıştırdığında, maliyetler bir sistem tasarım problemi haline gelir. Bu bölüm, üretim iş yüklerini öngörülebilir tutan bütçeleme kontrolleri ve organizasyonel politikaları kapsar.
Çağrı Başına Bütçeler
--max-budget-usd bayrağı, tek bir çağrıya harcama limiti koyar:
# Bir kod incelemesini $2 ile sınırlaclaude -p "Review this PR for issues" --output-format json --max-budget-usd 2.00
# Hızlı bir aramayı $0.10 ile sınırlaclaude -p "What does this function do?" --output-format json --max-budget-usd 0.10Gözetimsiz çalışan betiklerde her zaman bir bütçe ayarlayın. Olmadan, çok turlu bir ajan döngüsü birisi fark etmeden dolarlar yakabilir.
Bütçe, turlar arasında kontrol edilir, üretim ortasında değil. Tek bir tur bütçeyi 100 kat veya daha fazla aşabilir. Bütçeleri beklenen tur başına maliyetinizin en az 10 katına ayarlayın. Opus için $0.10 minimum pratiktir; $0.02’nin altındaki herhangi bir şey yalnızca sistem isteminden dolayı her zaman bir bütçe hatası tetikler.
Bütçe ve Minimum Taban
Her Opus çağrısının minimum maliyeti ~$0.02-0.05’tir (sistem istemi + bir tur). Bu tabanın altında ayarlanan bütçeler anlamsızdır — ilk tur her zaman tamamlanır.
Farklı Seviyelerde Bütçe Davranışı
| Bütçe | Gerçek Maliyet | Ne Olur |
|---|---|---|
| $0.02’nin altında | $0.02 - $0.05 | Her zaman aşar — sistem istemi tabanı bütçeden yüksek |
| $0.05 - $0.10 | ~$0.02 - $0.05 | Tek turlu görevler için çalışır, çok turlu için sıkı |
| $0.50+ | Bütçeye yakın | Bütçe kontrolleri beklendiği gibi çalışır |
Pratik minimum, tek turlu Opus görevleri için $0.10 ve çok turlu oturumlar için $0.50+‘dır. $0.02’nin altında, bütçe uygulamasını değil — sistem istemi tabanını test ediyorsunuz.
Tek bir çağrıda bütçe uygulamasını test edin:
claude -p “Write a 1000-word essay about testing” —max-budget-usd 0.50 —output-format json | jq ‘{subtype, cost: .total_cost_usd}’
Çağrı bütçe dahilinde tamamlandı mı? Şimdi tabanı çalışırken görmek için —max-budget-usd 0.01’i deneyin.
Oturum Başına Bütçeler
Bir konuşmayı devam ettirmek için --resume kullanırken, bütçe o oturumdaki tüm çağrılar arasında kümülatif maliyeti takip eder:
# İlk çağrı -- $5 bütçenin bir kısmını kullanırclaude -p "Analyze the codebase" --output-format json --max-budget-usd 5.00
# Devam eden çağrı -- aynı $5 bütçeyi paylaşırclaude -p "Now refactor the auth module" --resume $SESSION_ID --max-budget-usd 5.005 devam eden çağrı arasında paylaşılan $5 bütçe, çağrı başına ortalama yaklaşık $1’dir. Oturum başına bütçenizi bireysel turlar etrafında değil, beklediğiniz toplam iş etrafında planlayın.
Organizasyonel Limitler
Ekipler için çağrı başına bütçeler yeterli değildir. Organizasyonel politikayı uygulayan bir sarmalayıcıya ihtiyacınız var:
#!/bin/bash# team-claude.sh -- organizasyon çapında günlük limitleri uygulayan sarmalayıcıDAILY_LIMIT=15.00DAILY_LOG="/tmp/claude-cost-$(whoami)-$(date +%Y%m%d).log"
# Bugünkü harcamayı toplaSPENT=$(awk '{sum += $1} END {printf "%.4f", sum}' "$DAILY_LOG" 2>/dev/null || echo "0")
REMAINING=$(echo "$DAILY_LIMIT - $SPENT" | bc)if (( $(echo "$REMAINING <= 0" | bc -l) )); then echo "Daily budget exhausted ($DAILY_LIMIT). Resets tomorrow." >&2 exit 1fi
# Kalan bütçeyi tavan olarak kullanarak çalıştırRESULT=$(claude -p "$@" --output-format json --max-budget-usd "$REMAINING")COST=$(echo "$RESULT" | jq -r '.total_cost_usd // 0')echo "$COST" >> "$DAILY_LOG"echo "$RESULT"Bu kalıp, bireysel çağrıların altında daha ince kontrol için hala --max-budget-usd kullanmasına izin verirken, geliştirici başına günlük bir tavan sağlar.
Maliyet İzleme
Çağrılar Arasında Maliyetleri Toplama
Her JSON yanıtı total_cost_usd içerir. Gerçek zamanlı maliyet takibi için bunu pipeline adımları arasında toplayın:
#!/bin/bash# ci-cost-tracker.sh -- bir CI pipeline'ı arasında maliyetleri toplaCOST_LOG="/tmp/ci-costs-$BUILD_ID.log"
run_claude_tracked() { local label="$1"; shift RESULT=$(claude -p "$@" --output-format json) COST=$(echo "$RESULT" | jq -r '.total_cost_usd // 0') echo "$label: $COST" >> "$COST_LOG" echo "$RESULT"}
# Birden fazla adım çalıştırrun_claude_tracked "lint-review" "Check for lint violations" --max-budget-usd 0.50run_claude_tracked "security-review" "Review for security issues" --max-budget-usd 1.00run_claude_tracked "doc-gen" "Generate API docs" --max-budget-usd 0.50
# Toplamı raporlaTOTAL=$(awk -F': ' '{sum += $2} END {printf "%.4f", sum}' "$COST_LOG")echo "Total pipeline cost: \$$TOTAL"Bütçe Uyarı Eşikleri
Ekip maliyet referans değerlerine dayalı kademeli uyarılar ayarlayın:
Bütçe Uyarı Eşikleri
| Eşik | Eylem | Kim Bilgilendirilir |
|---|---|---|
| Geliştirici günde $12’yı aşarsa | Slack bildirimi | Geliştirici + ekip lideri |
| Ekip aylık bütçenin %80’ini aşarsa | Uyarı e-postası | Ekip lideri + finans |
| CI pipeline çalıştırma başına $5’i aşarsa | Pipeline notu | PR yazarı |
| Tek çağrı $2’yı aşarsa | Denetim kaydı girişi | Otomatik inceleme |
Bütçe kontrolleri harcamayı sınırlar. Harcamayı da azaltmak için, görevleri daha ucuz modellere yönlendirme ve cache isabetlerini maksimize etme konularında Optimizasyon Stratejileri bölümüne bakın.
Bir sonraki otomasyon çalıştırmanıza —max-budget-usd 0.50 ayarlayın. Yanıttaki subtype alanını kontrol edin — “success” olarak mı tamamlandı yoksa “error_max_budget_usd“‘ye mi ulaştı? Bu en basit bütçe kontrolüdür: aşırı harcamayı önleyen çağrı başına bir tavan.