GUIDENEW

איך להשתמש ב-API של Claude

חמישה דפוסי קוד אמיתיים לעבודה עם ה-API של Claude: קריאה בסיסית, system prompt, שיחה מרובת תורות, extended thinking, ו-prompt caching להוזלת עלות.

מערכת בינה AI טופClaude8 בספטמבר 20263 min1 sources
מסך קוד כהה עם בלוק system prompt זוהר בסגול ותגובת מודל למטה
מסך קוד כהה עם בלוק system prompt זוהר בסגול ותגובת מודל למטה

יש הבדל בין לשלוח ל-Claude הודעה בודדת לבין לבנות איתו שיחה עם הקשר - וה-API סטטלס לגמרי, כלומר בכל קריאה חוזרת צריך לשלוח את כל היסטוריית השיחה מחדש, לא רק את ההודעה האחרונה. ההבדל הזה קובע גם איך בונים את הקוד וגם כמה זה עולה.

דפוס 1 - קריאה בסיסית

מתי: שאלה עצמאית בודדת, בלי הקשר קודם.

from anthropic import Anthropic
client = Anthropic()

response = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "מה ההבדל בין RAG ל-fine-tuning?"}]
)
print(response.content[0].text)

מה לשנות: model לפי המשימה (טבלה למטה), ו-max_tokens לפי אורך התשובה הצפוי - סיווג קצר צריך מעט, סיכום ארוך צריך יותר.

דפוס 2 - system prompt קבוע

מתי: אותה הנחיית התנהגות חוזרת על עצמה בהרבה קריאות - עוזר כתיבה, בוט תמיכה, מסווג.

response = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    system="אתה עוזר כתיבה שמסביר מושגי AI בעברית פשוטה, בלי ז'רגון מיותר.",
    messages=[{"role": "user", "content": "מה זה חלון הקשר?"}]
)

מה לשנות: את תוכן ה-system, אבל שומרים אותו קבוע בין קריאות - כך אפשר להשתמש ב-caching (דפוס 5) ולחסוך.

דפוס 3 - שיחה מרובת תורות

מתי: צ'אטבוט או כל ממשק שבו המשתמש שולח כמה הודעות ברצף וצריך זיכרון בין ביניהן.

messages = [{"role": "user", "content": "קוראים לי דנה."}]
r1 = client.messages.create(model="claude-sonnet-5", max_tokens=200, messages=messages)
messages.append({"role": "assistant", "content": r1.content[0].text})
messages.append({"role": "user", "content": "מה השם שלי?"})
r2 = client.messages.create(model="claude-sonnet-5", max_tokens=200, messages=messages)

מה לשנות: לשמור את messages בזיכרון או במסד נתונים לפי משתמש, ולצרף אליו כל תור חדש - זה מה שהופך קריאות בודדות לשיחה.

מסך קוד כהה עם בלוק system prompt זוהר בסגול ותגובת מודל למטה

דפוס 4 - extended thinking למשימות קשות

מתי: ניתוח מורכב, בעיית קוד רב-שלבית, או כל דבר שדורש "לחשוב לפני שעונים" ולא רק להשלים טקסט.

response = client.messages.create(
    model="claude-opus-5",
    max_tokens=4096,
    thinking={"type": "adaptive"},
    messages=[{"role": "user", "content": "נתח את הבאג הבא ומצא את הגורם השורשי: ..."}]
)

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

דפוס 5 - prompt caching לחיסכון בעלות

מתי: אותו system prompt ארוך או אותו מסמך רקע נשלח שוב ושוב בקריאות שונות.

response = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    system=[{"type": "text", "text": long_document, "cache_control": {"type": "ephemeral"}}],
    messages=[{"role": "user", "content": "סכם את המסמך"}]
)

טוקנים שנכתבים למטמון בקריאה הראשונה עולים כ-1.25 פעמים מהמחיר הרגיל, אבל קריאה חוזרת לאותו תוכן קרוב יותר לעשירית מהמחיר המקורי - חיסכון משמעותי בכל אפליקציה ששולחת את אותו הקשר שוב ושוב.

כמה זה עולה בפועל

מודלModel IDמחיר לכל מיליון טוקנים (קלט/פלט)מתאים ל
Claude Opus 5claude-opus-55$ / 25$ניתוח מורכב, קוד, משימות שדורשות דיוק מקסימלי
Claude Sonnet 5claude-sonnet-52$ / 10$רוב האפליקציות בפרודקשן
Claude Haiku 4.5claude-haiku-4-51$ / 5$סיווג, תיוג, משימות פשוטות בנפח גבוה

מחירים נכונים ל-8.9.2026 לפי עמוד המחירים הרשמי של Anthropic.

איפה זה נשבר

ה-API סטטלס באמת - שכחה לצרף את היסטוריית השיחה המלאה בכל קריאה גורמת ל-Claude "לשכוח" הכל, אפילו שם שנאמר משפט קודם. זו טעות נפוצה במיוחד כשעוברים מבדיקה בממשק אינטראקטיבי (שם ההיסטוריה נשמרת אוטומטית) לקוד עצמאי (ששם צריך לנהל אותה בעצמכם). גם caching לא עובד "סתם כי הגדרתם אותו" - אם משהו בתוך ה-prefix משתנה בין קריאה לקריאה (חותמת זמן, מזהה משתמש שמוזרק לתוך ה-system prompt), המטמון מתאפס בלי הודעת שגיאה, ורואים את זה רק כשבודקים את cache_read_input_tokens ומגלים שהוא תמיד אפס. ולבסוף - extended thinking על Claude Opus 5 מוסיף זמן תגובה משמעותי; בממשק שדורש תשובה מיידית (כמו צ'אט חי) עדיף Sonnet 5 בלי thinking, ולשמור את השילוב הכבד למשימות שרצות ברקע.

איך למדוד הצלחה

בודקים בשדה usage שמוחזר עם כל תשובה: input_tokens ו-output_tokens מראים בדיוק מה נספר, ו-cache_read_input_tokens אם הוא לא אפס אחרי כמה קריאות - זה הסימן שה-caching אכן עובד ולא רק מוגדר בקוד בלי להשפיע.

מה לנסות עכשיו

מתחילים עם דפוס 1 ו-Claude Haiku 4.5 כדי לוודא שהקריאה הבסיסית עובדת, עוברים ל-Sonnet 5 כשהמשימה דורשת יותר דיוק, ושומרים את Opus 5 ואת extended thinking למקרים שבהם באמת רואים שהמודל הזול טועה.

שווה גם להרגיל את עצמכם לקרוא את הודעת השגיאה במלואה כשקריאה נכשלת, לא רק את קוד הסטטוס. שגיאת 429 אומרת שחרגתם ממכסת הקצב ושכדאי לנסות שוב עם השהיה, ואילו שגיאת 400 כמעט תמיד מצביעה על בעיה במבנה הבקשה עצמה - למשל max_tokens שגדול מדי ביחס למודל, או שדה חסר. ההבדל בין השתיים קובע אם צריך לתקן קוד או פשוט להמתין ולנסות שוב.

שאלות נפוצות

מה ההבדל בין Sonnet, Opus ו-Haiku?

Opus הוא המודל היכולתי והיקר ביותר, Sonnet הוא איזון בין יכולת למחיר לרוב המשימות, ו-Haiku הזול והמהיר ביותר - מתאים למשימות פשוטות בנפח גבוה.

צריך להפעיל extended thinking בכל קריאה?

לא. הוא מיועד למשימות שדורשות שלבי חשיבה - ניתוח מורכב, קוד, מתמטיקה. לשאלה פשוטה או סיווג טקסט הוא רק מוסיף זמן תגובה ועלות בלי לשפר את התוצאה.

SOURCES

  1. Anthropic - Claude API Pricing · נבדק 8 בספטמבר 2026

קשור לזה