مستوى المقال: متوسط — يفترض إنك تعرف أساسيات استدعاء Claude API، الفرق بين input tokens و output tokens، واتعرضت قبل كده لمفهوم temperature أو max_tokens. زمن القراءة المتوقع: 9 دقائق.
لو سألت Claude العادي يحلّ مسألة من AIME 24 (مسابقة الرياضيات الأمريكية)، النسبة المتوقعة للإجابة الصحيحة 16%. لو فعّلت Extended Thinking بميزانية 64K توكن على نفس الموديل، النسبة بتقفز لـ 61%. السؤال الحقيقي مش "هل أفعّله" — السؤال "إمتى تدفع 5x التكلفة و8x زمن الاستجابة عشان تكسب الدقة دي".
Extended Thinking في Claude: متى يستحق وما ثمنه الحقيقي
المشكلة باختصار
الـ LLM التقليدي بيولّد الرد token-by-token من اليسار لليمين بدون مراجعة. لو سألته "كم حرف r في كلمة strawberry"، بيرد فورًا غالبًا غلط. السبب مش غباء الموديل — السبب إنه ما عندوش "وقت تفكير" قبل ما يبدأ يكتب الإجابة. Extended Thinking بيدّيه الوقت ده على شكل توكنز إضافية بيستخدمها داخليًا قبل ما تظهرلك الإجابة النهائية.
مثال للمبتدئ — طالب الامتحان
تخيّل طالبين في امتحان رياضيات. الأول بيكتب الإجابة فور قراءة السؤال — صح أحيانًا، غلط أحيانًا. التاني بيقرا السؤال، يرسم، يجرّب طريقتين، يراجع، وبعدين يكتب الإجابة النهائية. التاني بياخد وقت أطول، لكن نسبة صحته أعلى بكتير في المسائل المعقّدة.
Claude العادي = الطالب الأول. Claude مع Extended Thinking = الطالب التاني. الفرق إن "وقت التفكير" في الموديل بيتحوّل لـ thinking tokens بيتولّدها الموديل داخليًا، بتدفع تكلفتها، لكن المستخدم النهائي مش بيشوفها — بيشوف الإجابة النهائية بس.
التعريف العلمي الدقيق
Extended Thinking (أو reasoning tokens) هي توكنز إضافية بيولّدها الموديل في مرحلة وسيطة بين الـ input والـ final output. الموديل بيتدرّب باستخدام Reinforcement Learning على سلاسل تفكير طويلة (Chain-of-Thought traces) عشان يتعلم يستخدم التوكنز دي بفاعلية. الفكرة الأساسية اتنشرت في ورقة OpenAI "Learning to Reason with LLMs" سبتمبر 2024، وطوّرتها DeepSeek في R1 (يناير 2025) و Anthropic في Claude 3.7 Sonnet (فبراير 2025) ثم Claude 4.
على مستوى الـ API، إنت بتحدد budget_tokens — أقصى عدد thinking tokens مسموح للموديل يستخدمه. الموديل بيوقف لو وصل للحد أو لو لقى نفسه خلص. التوكنز دي بتتحسب كـ output tokens في الفاتورة، يعني نفس سعر الـ output العادي.
الكود التنفيذي على Anthropic SDK 0.50+
from anthropic import Anthropic
client = Anthropic()
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=24000,
thinking={
"type": "enabled",
"budget_tokens": 16000
},
messages=[{
"role": "user",
"content": (
"احسب كم زاوية حادة في شكل سداسي منتظم "
"محفور داخله مثلث متطابق الأضلاع. اشرح خطواتك."
)
}]
)
# الرد بيرجع في content blocks: thinking + text
for block in response.content:
if block.type == "thinking":
print(f"[تفكير داخلي - {len(block.thinking)} حرف]")
elif block.type == "text":
print(f"الإجابة: {block.text}")
print(f"input tokens: {response.usage.input_tokens}")
print(f"output tokens (شامل thinking): {response.usage.output_tokens}")
ملاحظات على الكود
budget_tokensلازم يكون ≥ 1024 وأقل منmax_tokens.- الموديل ممكن يستهلك أقل من الـ budget لو لقى الإجابة بدري — مش بتدفع كامل الميزانية تلقائيًا.
- تقدر تطبع الـ thinking blocks لتدبيك (debugging) عشان تفهم منطق الموديل، لكن Anthropic بتنصح متعرضهاش للمستخدم النهائي مباشرة.
- لو بتشتغل multi-turn، لازم ترجّع thinking blocks في الـ history عشان الـ caching يشتغل صح.
الأرقام المقاسة (Benchmarks موثّقة)
الأرقام التالية من إعلان Anthropic الرسمي لـ Claude 3.7 Sonnet وورقة DeepSeek R1 الفنية:
- AIME 2024: Claude 3.7 بدون thinking = 16%، مع 64K thinking budget = 61%. DeepSeek R1 = 79.8%. OpenAI o1 = 83.3%.
- SWE-Bench Verified: Claude 3.7 بدون thinking = 49%، مع thinking = 62% (بيقفز لـ 70.3% مع scaffolding مخصص).
- MATH-500: Claude 3.7 بدون = 78.3%، مع thinking = 96.2%.
- GPQA Diamond (أسئلة دكتوراة في العلوم): بدون = 60%، مع thinking = 78.2%.
- MMLU (معرفة عامة): الفرق < 1%. Extended Thinking ما بيضيفش هنا.
المكسب على مسائل بسيطة (تلخيص، تصنيف، رد على FAQ) صفر تقريبًا. على مسائل reasoning متعددة الخطوات، المكسب 30 إلى 50 نقطة دقة. الفرق مش هامشي — ده فرق بين موديل ما ينفعش لمسائل قانونية معقدة وموديل ينفع.
Trade-offs الخمسة (اقرأها قبل ما تفعّل في production)
- التكلفة: thinking tokens تتحسب كـ output tokens. مسألة AIME واحدة ممكن تستهلك 8K-32K thinking tokens. على Sonnet 4.6 بسعر $15 لكل 1M output token، التكلفة لكل سؤال 12 إلى 48 سنت بدل 1-2 سنت بدون thinking. على workload 10K طلب يومي، الفرق $10 ضد $4,000 شهريًا.
- زمن الاستجابة: الموديل بيستغرق 30 ثانية إلى 3 دقائق للإجابات اللي فيها thinking طويل. متستخدمش في chatbot يطلب رد خلال ثانيتين.
- غياب Streaming الكامل: thinking blocks بترجع كاملة قبل الـ text، يعني المستخدم بيشوف "Claude بيفكر..." لمدة طويلة بدون إشارة على التقدم. لازم تبني UX يتعامل مع ده (loader، progress hint).
- عدم استقرار الجودة في مهام إبداعية: في الترجمة الأدبية وكتابة الشعر، Extended Thinking ممكن يقلّل الجودة لأن الموديل بيدخل في تحليل زائد بياخد من العفوية. مقاس داخليًا، مفيش فرق إيجابي على ChatBot Arena للمحتوى الإبداعي.
- تعقيد الـ prompt caching: prompt caching بيشتغل مع thinking لكن thinking blocks نفسها مش بتتكاش. لو سؤالك بيتغيّر، التفكير بيتعمل من الصفر كل مرة. ده بيقلّل أثر التوفير اللي مكاسبك المعتادة من الـ caching.
متى لا تستخدم Extended Thinking
- Chatbot رد فوري: زمن استجابة > 5 ثواني = خسارة مستخدمين فعليين (مقاس على Intercom 2024).
- تصنيف وتلخيص: المكسب أقل من 2% في الدقة، التكلفة 5x. استخدم Sonnet العادي مع prompt caching.
- توليد محتوى إبداعي: شعر، قصة قصيرة، captions لسوشيال ميديا — الموديل بيفقد العفوية.
- RAG لأسئلة استخراجية بسيطة: لو الإجابة في document واحد ومحتاج فقط استخراج، thinking مش بيضيف.
- Production عالي الـ throughput: 10K+ req/min. اقتصاديات الـ thinking ما تنفعش في النطاق ده.
الافتراض هنا: workload فيه ≥ 30% من الأسئلة من نوع reasoning (رياضيات، debugging كود معقد، استنتاج قانوني، تحليل بيانات متعدد الخطوات). لو أقل من ده، خلّيه غير مفعّل افتراضيًا وفعّله per-request بناءً على نوع السؤال.
سيناريو واقعي — متى يستحق الـ 5x
شركة عندها AI agent بيراجع contracts قانونية. كل عقد 8K-15K كلمة، والوكيل لازم يحدد 12 نقطة مخاطر محددة (clauses خفيّة، شروط تجديد، penalties غير عادلة). بدون thinking، الوكيل بيفوّت 23% من النقاط (مقاس على 200 عقد ground-truth). مع thinking budget 24K، النسبة بتنزل لـ 4%. التكلفة ارتفعت من $0.18 لكل عقد لـ $0.71 لكل عقد. لكن العقد الواحد لو فاته بند مخاطر بيكلّف الشركة $50K+ في المتوسط.
هنا الـ ROI واضح. على chatbot دعم فني، نفس الحساب بيخسّر فلوس. الفرق مش في التقنية — الفرق في طبيعة المهمة وتكلفة الخطأ.
الخطوة التالية
افتح workload عندك، صنّف يدويًا 100 طلب آخر كـ "reasoning" أو "non-reasoning". لو ≥ 30% منهم reasoning، اعمل A/B test لمدة أسبوع: نص الـ traffic بيمر بـ thinking budget 8K، النص التاني بدون. قِس 3 حاجات: الدقة على ground truth، p95 latency، والتكلفة لكل request. الموديل اللي يكسب على ≥ 2 من 3 هو اللي تروح بيه production. لو النتيجة مش حاسمة، الـ default الآمن هو "off" مع endpoint منفصل بيفعّل thinking لمسارات معروف إنها reasoning-heavy.
المصادر
- Anthropic — Extended Thinking documentation: docs.anthropic.com/claude/docs/extended-thinking
- Anthropic — إعلان Claude 3.7 Sonnet (فبراير 2025): anthropic.com/news/claude-3-7-sonnet
- OpenAI — "Learning to Reason with LLMs" (سبتمبر 2024): openai.com/index/learning-to-reason-with-llms
- DeepSeek — R1 Technical Report (يناير 2025): arxiv.org/abs/2501.12948
- AIME 2024 problem set: artofproblemsolving.com/wiki/index.php/2024_AIME_I
- SWE-Bench Verified leaderboard: swebench.com
- GPQA Diamond benchmark: arxiv.org/abs/2311.12022