דילוג לתוכן הראשי
חזרה למדריכים
Cost5 דק׳ קריאה

בקרת עלויות: איך למנוע מהחשבון של ה-LLM לזנק

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

ארבעת המונים על חשבון ה-API

כל חשבונית מורכבת מארבעה מונים, ומי שלא מכיר אותם משלם על דברים שלא ידע שקנה:

  1. קלט (input) — כל מה שאתם שולחים למודל.
  2. פלט (output) — תמיד יקר יותר מקלט, פי 3–5. כולל reasoning tokens אצל מודלים עם thinking — המחשבות הפנימיות מחויבות כפלט ויכולות להכפיל את עלות הקריאה.
  3. קלט cached — prefix שהספק כבר ראה, בהנחה גדולה (ראו בהמשך).
  4. Batch — אותה בקשה, אסינכרונית, בחצי מחיר.

ומלכודת מספר אפס שתופסת את כולם: אפליקציית צ'אט שולחת את כל היסטוריית השיחה בכל תור. שיחה של 20 הודעות משלם 20 פעמים על אותן הודעות ישנות. זה ההבדל בין החישוב שעשיתם בראש לחשבונית שקיבלתם.

מנוף 1: Model Routing — הגדול שבגדולים

הכיוון: המודל הקטן ביותר שמחזיק איכות מקובלת לכל תת-משימה. סיווג, חילוץ נתונים, ניסוח מחדש — שכבת הביניים או הננו. ניתוח מורכב והחלטות — הדגל. אין סיבה שבדיקת פורמט תרוץ על מודל שעולה דולרים למיליון טוקנים. ההשפעה: פקטור 5–10x כשזה רלוונטי.

מנוף 2: Prompt Caching — הנחה על חלק הקבוע

אם חלק ניכר מה-prompt שלכם קבוע (system prompt, הגדרות כלים, מסמך שאתם שואלים עליו שוב ושוב) — caching חותך את עלות הקלט שלו בחדות. בקירוב: אצל Anthropic, כתיבה ל-cache עולה 1.25x את מחיר הקלט ל-5 דקות (2x לשעה), וקריאה מה-cache עולה 0.1x — כלומר כל קריאה שנייה של אותו prefix כבר מרוויחה. אצל OpenAI ההנחה על cache hits בסדר גודל של 50% ומעלה, תלוי במודל. חשוב לזכור: ה-cache רגיש לשינויים — כל תו שמשתנה בprefix מבטל את ה-hit. אז system prompt קבוע בראש, דינמיקה בסוף.

מנוף 3: Batch API — חצי מחיר על כל מה שלא דחוף

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

מנוף 4: בקרת אורך פלט

Cap על max_tokens בנתיבים מהירים, structured output במקום פרוזה כשאפשר, והוראה מפורשת לקצר. הפלט יקר — חיתוך אורך פלט נותן 2–3x על רכיב הפלט.

מסגרת הבקרה עצמה — מספרים, לא כוונות

  • עלות לכל בקשה: כל קריאת API נרשמת עם מספר טוקנים בפועל מה-response ועלות מחושבת לפי מחירון. לא מעריכים — מודדים.
  • תקרה לכל ריצת סוכן: דולרים ספציפיים. חריגה = עצירה.
  • קווטה יומית ברמת האפליקציה, עם התראה ב-50% וב-80% — לא גילוי בסוף החודש.
  • תקציב לפי פיצ'ר: כמה הסוכן ווצאפ עולה מול הסוכן ניתוח? בלי חלוקה כזו אי אפשר לדעת מה לייעל.

השורה התחתונה מהשטח: שילוב של routing + caching + batch במקום "מודל דגל בזמן אמת לכל דבר" מוריד עלויות בפקטור של 10–50x. זה לא אופטימיזציה עדינה, זה ההבדל בין מוצר שמפסיד כסף לכל משתמש למוצר שרווחי.

רוצה להעמיק את הנושא אצלך בצוות?

סדנאות מעשיות והרצאות שמבוססות על הניסויים מהשטח — כולל קוד חי ותרגול.

בואו נדבר