Skip to content
cost 3 min
cost gotcha cli

Neden --max-budget-usd Kesin Bir Limit Degil

--max-budget-usd flag'i turlar arasinda kontrol ediliyor, uretim sirasinda degil. Tek bir pahali tur, herhangi bir limit devreye girmeden tamamlaniyor. Gercekte nasil calistigini anlatiyoruz.

Tuna Ozmen · · 3 dk okuma

Senaryo

Pahali bir prompt’a dusuk bir butce koyun:

Terminal window
claude -p "Write a 5000 word essay about the history of computing" \
--output-format json \
--max-budget-usd 0.05

Iki dakika sonra makalenin tamami geldi. Fatura: $0.152 — butcenin 3 kati. Claude butce kontrolu devreye girmeden uretimin tamamini bitirdi.

Neden Boyle Oluyor

--max-budget-usd flag’i kesin bir limit degil. Turlar arasi kontroldur. Gercek uygulama sirasi soyle:

  1. Claude bir yanit uretmeye baslar
  2. Tam yanit tamamlanir (bir tur)
  3. Sonra butce kontrol edilir
  4. Asilmissa, sonraki tur baslamaz

Sorun adim 2’de. Tek bir tur, herhangi bir butce kontrolu devreye girmeden tamamen calisir. O tur 126 saniye boyunca 5.446 output token uretirse, butce flag’i sadece izleyebilir.

Iste JSON yaniti:

{
"type": "result",
"subtype": "error_max_budget_usd",
"is_error": false,
"total_cost_usd": 0.1521415,
"modelUsage": {
"claude-opus-4-6": {
"outputTokens": 5446,
"cacheReadInputTokens": 14253,
"costUSD": 0.1521415
}
}
}

is_error degerinin false olduguna dikkat edin. Bu bir cokme degil. Para zaten harcandiktan sonra gerceklesen kontrolllu bir durma.

Minimum Taban

Her Claude CLI cagrisi, yalnizca system prompt’tan kaynaklanan minimum bir maliyete sahiptir. Opus icin bu taban yaklasik cagri basina $0.016 — Claude prompt’unuzu gormeden once okunan yaklasik 14.253 cache’lenmis token.

Bu tabanin altindaki her butcenin asilmasi garanti:

ButceGercek MaliyetNe Olur
$0.01$0.017System prompt tabani butceyi asiyor
$0.05$0.016 - $0.15Kisa yanitlarda isiyor, uzunlarda asiyor
$0.50$0.02 - $0.48Tek turlu gorevler icin guvenilir
$2.00+Butceye yakinButce kontrolleri beklendigi gibi calisiyor

Opus ile $0.02’nin altinda, butce flag’i sadece bir “bir kere calistir ve dur” mekanizmasi.

Cozum

Gercekci minimumlar belirleyin. Opus tek turlu gorevleri icin en az $0.10 kullanin. Cok turlu oturumlar icin $1.00 veya daha fazla.

Otomasyonda asimi tespit edin. Cikis kodunu ve subtype alanini kontrol edin:

Terminal window
RESULT=$(claude -p "Your prompt" --output-format json --max-budget-usd 1.00)
SUBTYPE=$(echo "$RESULT" | jq -r '.subtype')
COST=$(echo "$RESULT" | jq '.total_cost_usd')
if [ "$SUBTYPE" = "error_max_budget_usd" ]; then
echo "Budget exceeded: spent $COST"
fi

Kumulatif maliyetleri harici olarak takip edin. Butce flag’i oturum basina harcamayi takip eder, ancak yuzlerce cagri yapan CI/CD pipeline’lari icin cagrilar arasinda total_cost_usd biriktiren ve bir esik asildiginda pipeline’i durduran bir wrapper’a ihtiyaciniz var.

Ucuz gorevler icin Sonnet kullanin. Sonnet’in cagri basina minimum maliyeti $0.005 — Opus’tan yaklasik 3 kat ucuz. Formatlama, ozetleme ve basit sorular icin --model claude-sonnet-4-6 dogru secim.

Zihinsel Model

--max-budget-usd dusuncesini bir arabadaki hiz sinirlayi olarak dusunun, tugla duvar degil. Kac tur atacaginizi sinirlar, ama arabayi tur ortasinda durduramaz. Her tur (turn) tamamlanir ve sinirlayi yalnizca turlar arasinda kontrol eder.

Kesin gercek zamanli butce uygulamasi icin harici araclara ihtiyaciniz var. CLI’in butce flag’i faydali bir korkuluk, fatura garantisi degil.

Claude CLI maliyet kontrollerinde ustalas

Rehberin tamamını oku
Faydalı buldunuz mu? Ekibinizle paylaşın.
Paylaş