ניהול עלויות, Cost Management ו-Model Routing

📚 נושאים מתקדמים ⏱️ 10 דק׳ 🎓 מתקדם ✓ חינם לגמרי
ניהול עלויות, Cost Management ו-Model Routing

כמה עולה לך ה-AI שלך, באמת?

סטארטאפ ת"א שבנה chatbot שירות לקוחות קיבל חשבון של $1,200 בחודש הראשון. כשביקרו בקוד, גילו שכל שאלה, כולל "מה שעות הפתיחה?", עברה ל-claude-opus-4-5. שינוי אחד הוריד את החשבון ל-$140. אותה איכות, 88% פחות.

ניהול עלויות API הוא לא קמצנות, זה הנדסה. שלושה מנופים: בחירת מודל נכוןprompt caching, ו-batch API. יחד, הם יכולים לחתוך 70-95% מהחשבון.

הבסיס: איך Claude גובה תשלום?

Claude גובה לפי טוקנים, כ-4 תווים לטוקן באנגלית, קצת פחות בעברית. כל בקשה מחויבת על input tokens (מה שאתה שולח) ו-output tokens (מה שClaude מחזיר). output tokens יקרים בדרך כלל פי 5.

השוואת מחירי מודלים, טבלה עדכנית (אפריל 2026)

מודל Input $/MTok Output $/MTok Cache Read מתאים ל
claude-haiku-4-5 $1.00 $5.00 $0.10 סיווג, evals, routing, FAQ
claude-sonnet-4-6 $3.00 $15.00 $0.30 רוב משימות production
claude-opus-4-6 / 4-7 $5.00 $25.00 $0.50 ניתוח מורכב, reasoning עמוק
Batch API (כל מודל) -50% -50% עיבוד אצווה ללא urgency

עדכון חשוב: Opus 4.1 הישן עלה $15/$75, מי שעדיין משתמש בו יכול לחסוך 67% במעבר ל-4.6 ללא שינוי קוד משמעותי.

Model Routing, שלח כל משימה למודל הנכון

האסטרטגיה החזקה ביותר: Haiku מסווג את מורכבות הבקשה (ב-10 טוקנים), ואז הבקשה האמיתית הולכת למודל המתאים. עלות הסיווג עצמו: פחות מ-$0.00001 לבקשה, זניחה לחלוטין.

import anthropic

client = anthropic.Anthropic()

def classify_complexity(query: str) -> str:
    """Haiku מסווג מורכבות, עלות: ~$0.00001"""
    resp = client.messages.create(
        model="claude-haiku-4-5",
        max_tokens=10,
        system="Classify query. Reply ONLY: SIMPLE | MEDIUM | COMPLEX",
        messages=[{"role": "user", "content": query}]
    )
    return resp.content[0].text.strip().upper()

def smart_complete(query: str) -> str:
    complexity = classify_complexity(query)
    model_map = {
        "SIMPLE":  "claude-haiku-4-5",    # $1/MTok
        "MEDIUM":  "claude-sonnet-4-6",   # $3/MTok
        "COMPLEX": "claude-opus-4-6",     # $5/MTok
    }
    model = model_map.get(complexity, "claude-sonnet-4-6")
    resp = client.messages.create(
        model=model,
        max_tokens=1024,
        messages=[{"role": "user", "content": query}]
    )
    print(f"[{model} | {complexity}]")
    return resp.content[0].text

# chatbot שירות לקוחות לחברת ביטוח ישראלית:
print(smart_complete("מה שעות הפתיחה של המוקד?"))        # SIMPLE -> Haiku
print(smart_complete("כתוב אסטרטגיית pricing לפוליסה חדשה"))  # COMPLEX -> Opus

שימוש ב-70/20/10 split (Haiku/Sonnet/Opus) במקום all-Sonnet חוסך יותר מ-50% מהחשבון על workloads טיפוסיים.

Prompt Caching, החיסכון הכי גדול שרוב המפתחים מפספסים

אם יש לך system prompt גדול (הוראות, מסמכי חברה, קוד בסיס) שחוזר בכל בקשה, אתה משלם עליו שוב ושוב. Prompt caching מאחסן אותו פעם אחת. קריאות נוספות עולות 10% בלבד מהמחיר הרגיל.

# לפני caching, system prompt של 8,000 טוקן, 200 שיחות/יום, Sonnet:
cost_no_cache = 200 * 8000 * (3.00 / 1_000_000)  # = $4.80/יום

# עם caching (חלון 5 דקות):
cache_write = 1   * 8000 * (3.75 / 1_000_000)   # write פעם אחת = $0.03
cache_read  = 199 * 8000 * (0.30 / 1_000_000)   # 199 cache reads = $0.48
cost_cached = cache_write + cache_read            # = $0.48/יום

# חיסכון: 90%. שנתי: $1,570

# כיצד מפעילים:
client.messages.create(
    model="claude-sonnet-4-6",
    system=[
        {
            "type": "text",
            "text": "...system prompt ארוך, תקנון חברה, הנחיות מוצר...",
            "cache_control": {"type": "ephemeral"}  # זה כל השינוי
        }
    ],
    messages=[...]
)

מהמחקר: מפתח אחד דיווח על ירידה מ-$720 לחודש ל-$72, חיסכון של $648, רק בהוספת cache_control לsystem prompt. שינוי של שורה אחת בקוד.

client.messages.create(model="claude-sonnet-4-6", system="אתה עוזר מקצועי לחברת ביטוח. הכללים: [5,000 טוקנים של תקנון]...", messages=[{"role":"user","content":"מה שעות הפתיחה?"}])
client.messages.create(model="claude-sonnet-4-6", system=[{"type":"text","text":"אתה עוזר מקצועי לחברת ביטוח. הכללים: [5,000 טוקנים]...","cache_control":{"type":"ephemeral"}}], messages=[{"role":"user","content":"מה שעות הפתיחה?"}])

Batch API, 50% הנחה על עבודה שאינה דחופה

Batch API מאפשר לשלוח אלפי בקשות בבת אחת ולקבל תוצאות תוך עד 24 שעות, עם 50% הנחה על כל הטוקנים. מתאים ל: evals, דוחות לילה, עיבוד מסמכים, ניתוח surveys.

# דוגמה: אגף משאבי אנוש עם 500 קורות חיים לניתוח
import anthropic, json

client = anthropic.Anthropic()

cvs = [{"id": f"cv_{i}", "text": f"...קורות חיים {i}..."} for i in range(500)]

requests = [
    {
        "custom_id": cv["id"],
        "params": {
            "model": "claude-haiku-4-5",  # הכי זול
            "max_tokens": 200,
            "messages": [{"role": "user", "content": f"דרג מ-1 עד 10 ונמק בשתי משפטות: {cv['text']}"}]
        }
    }
    for cv in cvs
]

batch = client.messages.batches.create(requests=requests)
print(f"Batch ID: {batch.id}")  # מוכן תוך 24 שעות

דוגמה ישראלית: חברת SaaS ב-Series A

חברת SaaS ישראלית עם 3,000 לקוחות פעילים הריצה את כל הבקשות ב-Sonnet. חשבון חודשי: $4,200. לאחר אופטימיזציה:

chatbot שירות לקוחות בזמן אמת
ניתוח 500 חוזי שכירות שאין להם דדליין מיידי
streaming response לאפליקציה עם UX
שאילתות מחיר מהירות ב-API

רוצה ללמוד עם מעקב התקדמות, קוויזים ותעודה?

כל 130 השיעורים פתוחים בחינם, כולל נגן אינטראקטיבי, שמירת התקדמות ותעודה דיגיטלית בסיום.