Extended Thinking, Claude חושב לפני שמשיב

📚 פיתוח עם Claude, Claude Code & API ⏱️ 14 דק׳ 🎓 מתקדם ✓ חינם לגמרי
Extended Thinking, Claude חושב לפני שמשיב

למה Claude לפעמים עוצר ו'חושב'?

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

זה נקרא Extended Thinking, ומאז 2025 הגרסה המומלצת היא Adaptive Thinking: Claude עצמו מחליט כמה לחשוב לפי מורכבות הבקשה, במקום שאתה תגדיר budget קבוע. על שאלת בירה, דלג על חשיבה. על ארכיטקטורת microservices, חשוב לעומק.

ב-Claude Opus 4.7 (המודל החזק ביותר נכון לאפריל 2026), Adaptive Thinking הוא הדרך היחידה לגשת לחשיבה מורחבת. הגישה הישנה עם budget_tokens מחזירה שגיאת 400.

Adaptive Thinking, ה-API

הגדרה בסיסית, פשוטה מאוד:

import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=16000,
    thinking={"type": "adaptive"},   # Claude מחליט כמה לחשוב
    messages=[{
        "role": "user",
        "content": "תכנן ארכיטקטורת microservices לסטארטאפ בתל אביב עם 50K משתמשים"
    }]
)

for block in response.content:
    if block.type == "thinking":
        print(f"[חשיבה]: {block.thinking[:300]}...")
    elif block.type == "text":
        print(f"[תשובה]: {block.text}")

כדי לשלוט בעומק החשיבה, משתמשים בפרמטר effort:

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=8000,
    thinking={"type": "adaptive"},
    output_config={"effort": "high"},  # low / medium / high / xhigh / max
    messages=[{"role": "user", "content": "..."}]
)

טבלת ה-effort levels

רמה התנהגות מתי להשתמש
low ממזער חשיבה; דולג לשאלות פשוטות chatbot, FAQ, שאלות עובדתיות
medium חשיבה מתונה; מדלג על פשוטות ניתוח בינוני, קוד לא-trivial
high (ברירת מחדל) תמיד חושב; עומק גבוה ארכיטקטורה, debugging, ניתוח רב-משתני
xhigh חשיבה עמוקה מורחבת (Opus 4.7 בלבד) בעיות אופטימיזציה, מחקר, תכנון ארוך-טווח
max ללא מגבלת חשיבה batch processing, לא אינטראקטיבי

מה ה-API מחזיר, ו-display: omitted

ב-Claude Opus 4.7, ברירת המחדל של display היא "omitted", כלומר: Claude חושב מאחורי הקלעים, אבל לא מחזיר את טקסט החשיבה. המחשבה מוצפנת ב-signature לצרכי multi-turn.

אם רוצים לראות את תוכן החשיבה (לדיבוג, ללמידה), צריך לבקש במפורש:

thinking={
    "type": "adaptive",
    "display": "summarized"  # מחזיר סיכום החשיבה
}

חשוב: גם עם display:"omitted", אתה משלם על כל טוקני החשיבה. omit מפחית latency, לא עלות.

דוגמה ישראלית, אגף המחקר של סטארטאפ ת"א

צוות מחקר בחברת SaaS ב-Rothschild Boulevard בונה כלי לניתוח תחרות. הם שולחים ל-Claude פרופיל חברה מתחרה (150 עמודים) ושואלים: "האם כדאי לנו להיכנס לשוק ה-SMB בגרמניה?"

ללא Adaptive Thinking, Claude עונה בצורה שטחית. עם effort:"xhigh", Claude מנתח market sizing, regulation, TAM, לקחים מחברות דומות, ומגיע למסקנה מנומקת. זמן המחשבה: ~8 שניות. שווה את זה על שאלה שמשפיעה על תקציב שנתי.

Multi-turn ו-Tool Use, כלל אחד שאסור לשכוח

כשמשלבים Adaptive Thinking עם tools (כגון database query, web search), חייבים להעביר חזרה את בלוקי ה-thinking בכל turn. זה לא אופציונלי:

# שלב 1, שליחה ראשונה
response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=8000,
    thinking={"type": "adaptive", "display": "summarized"},
    tools=[search_tool],
    messages=[{"role": "user", "content": "מה המחיר הממוצע של דירה בתל אביב ב-2025?"}]
)

# שלב 2, שמור את כל response.content (כולל thinking block!)
messages.append({"role": "assistant", "content": response.content})

# שלב 3, הוסף tool result והמשך
messages.append({"role": "user", "content": [{
    "type": "tool_result",
    "tool_use_id": tool_id,
    "content": "ממוצע: 3.2M שקל, 4 חדרים"
}]})

Adaptive Thinking מאפשר Interleaved Thinking אוטומטי, Claude חושב בין tool call לtool call, מה שהופך אותו לסוכן הרבה יותר חכם.

שני טעויות נפוצות

טעות 1, להפעיל Adaptive Thinking על כל בקשה: שאלות פשוטות לא משתפרות מחשיבה. "מה הבירה של צרפת?" עם effort:high בוזבז עלות וlatency. השתמש ב-effort:low לchatbots ו-FAQ.

טעות 2, לבנות קוד עם budget_tokens על Opus 4.7: זה שינוי שבור קריטי. הפרמטר הישן מחזיר 400 Bad Request. קוד שעובד על Sonnet 4.6 לא עובד on Opus 4.7, חייבים migration לAdaptive.

Claude חושב בצורה מוגבלת לפי הbudget שניתן
הבקשה עובדת אבל Claude מתעלם מהbudget
הAPI מחזיר שגיאת 400, Opus 4.7 תומך רק ב-Adaptive Thinking
הבקשה עובדת אבל ללא חשיבה

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

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