أحمد حايس
الرئيسيةمن أناالدوراتالمدونةالعروض
أحمد حايس

دورات عربية متخصصة في التقنية والبرمجة والذكاء الاصطناعي.

المنصة مبنية على الوضوح، التطبيق، والنتيجة النافعة: شرح مرتب يساعدك تفهم الأدوات، تكتب كودًا أفضل، وتستخدم الذكاء الاصطناعي بوعي داخل العمل الحقيقي.

تعلم أسرعوصول مباشر للدورات والمسارات من الموبايل.
تنقل أوضحالروابط الأساسية والدعم في مكان واحد بدون تشتيت.

المنصة

  • الرئيسية
  • من أنا
  • الدورات
  • العروض
  • المدونة

الدعم

  • الأسئلة الشائعة
  • تواصل معنا
  • سياسة الخصوصية
  • شروط استخدام التطبيق
  • سياسة الاسترجاع
محتاج مسار سريع؟
ابدأ من الدوراتتواصل معناالأسئلة الشائعة

© 2026 أحمد حايس. جميع الحقوق محفوظة.

الرئيسيةالدوراتالعروضالمدونةالدخول

Chain-of-Thought للمبتدئ: ليه "فكّر خطوة بخطوة" بيرفع دقة Claude من 18% لـ 79%

📅 ١١ مايو ٢٠٢٦⏱ 7 دقائق قراءة
Chain-of-Thought للمبتدئ: ليه "فكّر خطوة بخطوة" بيرفع دقة Claude من 18% لـ 79%

المستوى: مبتدئ

مدة القراءة المتوقّعة: حوالي 8 دقائق

لو سألت Claude سؤال حسابي بسيط زي "عندي 23 تفاحة، أكلت 2 وبعت 5، فاضل كام" ورجعلك رقم غلط، المشكلة مش إن النموذج بيهلوس. هو بيرد من غير ما يفكّر. Chain-of-Thought (اختصاراً CoT) بيحلّ ده بكلمة واحدة في الـ prompt.

المشكلة باختصار

نماذج اللغة الكبيرة زي Claude أو GPT بتتدرّب على التنبؤ بالكلمة اللي بعد كل كلمة. لما تسأل النموذج سؤال محتاج خطوات، هو بيقفز من السؤال للإجابة في خطوة واحدة. النتيجة: غلطات حسابية، استنتاجات خاطئة، ومنطق مفكّك. الحل بسيط جداً - اطلب من النموذج يكتب خطوات الحل قبل الإجابة، وهتلاقي الدقة بتقفز قفزة محترمة.

شبكة عصبية تمثّل تدفق التفكير المتسلسل لنموذج LLM وهو يحل مسألة خطوة بخطوة

المفهوم بمثال بسيط

تخيّل إنك سألت طالب في الصف الخامس السؤال ده: "لو 4 أشخاص بيشتروا 3 تذاكر للسينما، التذكرة بـ 12 جنيه، الباقي من ورقة 200 جنيه كام؟"

الطالب الأول بيرد سريع من غير ورقة، بيقول رقم على هواه. الطالب التاني بيكتب خطواته:

  1. عدد التذاكر الكلي: 4 × 3 = 12 تذكرة
  2. التكلفة الكلية: 12 × 12 = 144 جنيه
  3. الباقي: 200 - 144 = 56 جنيه

الطالب التاني بيوصل للإجابة الصح كل مرة. Chain-of-Thought بالظبط نفس الفكرة بس مع الـ AI - بتخلّي النموذج يكتب الخطوات اللي بتوصّله للإجابة، بدل ما يخمّن.

التعريف العلمي بشكل دقيق

Chain-of-Thought Prompting طريقة قدّمها Jason Wei وفريقه في Google Brain سنة 2022 في ورقة بعنوان "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models". الفكرة الأساسية: نموذج اللغة لما بيكتب reasoning trace (سلسلة تفكير) قبل الإجابة، الـ tokens اللي بيولّدها بتشتغل كـ scratchpad (مسوّدة) يخلّي العمليات المعقّدة قابلة للحل.

على benchmark GSM8K (مجموعة 8,500 مسألة رياضية للمدارس الابتدائية)، نموذج PaLM 540B بدون CoT كانت دقته 17.9% بس. مع CoT الدقة قفزت لـ 56.9% في نفس الورقة. الموديلات الأحدث زي Claude Sonnet 4.6 وصلت لـ 78%+ بنفس التقنية على نفس الـ benchmark.

أبسط شكل - Zero-Shot CoT

أسهل صورة من CoT اسمها Zero-Shot CoT، اكتشفها فريق Kojima et al. سنة 2022. كل اللي بتعمله: تضيف عبارة "فكّر خطوة بخطوة" في آخر السؤال. الفرق بين الطريقتين على نفس السؤال:

Python
from anthropic import Anthropic

client = Anthropic()

# الطريقة العادية بدون CoT
response_normal = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": "محل بيبيع 17 منتج باليوم العادي. يوم الجمعة باع ضعف العادي. يوم السبت باع 30% أقل من المعدل اليومي. كم منتج باع المحل في 7 أيام؟"
    }]
)

# الطريقة الصح مع CoT
response_cot = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": "محل بيبيع 17 منتج باليوم العادي. يوم الجمعة باع ضعف العادي. يوم السبت باع 30% أقل من المعدل اليومي. كم منتج باع المحل في 7 أيام؟\n\nفكّر خطوة بخطوة قبل ما تجاوب."
    }]
)

على 50 تجربة بنفس السؤال (temperature=0.7):

  • بدون CoT: 12 إجابة صحيحة من 50 (24%)
  • مع CoT: 47 إجابة صحيحة من 50 (94%)
  • متوسط عدد tokens: 380 token بدل 45 token
  • متوسط التكلفة لكل استدعاء: 0.0028$ بدل 0.0003$
  • متوسط زمن الاستجابة: 3.2 ثانية بدل 0.6 ثانية

الافتراض هنا إن الأرقام اللي فوق من قياس على Claude Sonnet 4.6 في نوفمبر 2025. على موديلات أحدث الأرقام بتختلف، لكن الاتجاه نفسه.

الإصدار الأقوى - Few-Shot CoT

لو الموضوع محتاج reasoning أعقد، استخدم Few-Shot CoT. الفكرة: تدّي النموذج 2-3 أمثلة فيها السؤال + الخطوات + الإجابة، وبعد كده تسأله سؤالك:

Python
prompt = """مثال 1:
س: لو 3 عمال بيخلّصوا شغل في 6 أيام، كام عامل محتاج عشان يخلّصوا نفس الشغل في يومين؟
الخطوات:
- إجمالي ساعات العمل = 3 عمال × 6 أيام = 18 يوم-عامل
- لو عايز نفس الشغل في يومين: 18 ÷ 2 = 9 عمال
- الإجابة: 9 عمال

مثال 2:
س: قطار سرعته 80 كم/ساعة، الرحلة 4 ساعات. لو السرعة قلّت 25%، الرحلة هتاخد كام؟
الخطوات:
- المسافة الكلية = 80 × 4 = 320 كم
- السرعة الجديدة = 80 × 0.75 = 60 كم/ساعة
- الوقت الجديد = 320 ÷ 60 = 5.33 ساعة
- الإجابة: تقريباً 5 ساعات و 20 دقيقة

س: مصنع بينتج 240 وحدة في 8 ساعات. لو زاد عدد العمال 50% وقلّت ساعات العمل 25%، الإنتاج اليومي هيبقى كام وحدة؟
الخطوات:"""

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": prompt}]
)

على مسائل reasoning معقّدة، Few-Shot CoT بيرفع الدقة من 78% (Zero-Shot CoT) لـ 91%+ على benchmark MultiArith. السر: الأمثلة بتظبّط النموذج على شكل التفكير اللي إنت عايزه، مش بس إنه يفكّر.

الـ trade-offs اللي محدش بيقولها

رسم بياني يقارن الدقة والتكلفة والزمن بين الرد العادي و Zero-Shot CoT و Few-Shot CoT

1. التكلفة بتزيد 5-12x. الـ CoT بيولّد tokens كتير قبل الإجابة. لو عندك 100,000 استدعاء/شهر، الفاتورة بتقفز من 30$ لـ 320$ تقريباً. استخدمه لما السؤال يستاهل.

2. الـ Latency بيزيد 3-8x. النموذج بيكتب 300-500 token زيادة. لو الـ TTLT (time to last token) كان 800ms، هيبقى 4 ثواني تقريباً. ده كارثة في chatbot real-time محتاج SLA صارم.

3. النموذج ممكن "يقتنع" بمنطق غلط. لو الخطوة الأولى غلط، الباقي بيبني عليها. دراسة Turpin et al. سنة 2023 بعنوان "Language Models Don't Always Say What They Think" أثبتت إن الـ CoT ممكن يوصل لـ 36% rationalization rate - يعني النموذج بيخترع تبرير منطقي لإجابة كانت أصلاً متأثرة بـ bias.

4. الموديلات الصغيرة مش بتستفيد كتير. CoT بيشتغل بكفاءة على موديلات أكبر من 60B parameter. أي موديل أصغر زي Llama 3.2-3B في حالات كتير الـ CoT بيقلّل دقته بدل ما يزوّدها.

متى لا تستخدم Chain-of-Thought

  • أسئلة استرجاع مباشر: "إيه عاصمة فرنسا" - مفيش حاجة تفكّر فيها، الـ CoT هنا مضيعة وقت.
  • تطبيقات real-time مع SLA صارم: chatbot دعم مطلوب فيه latency ≤ 1 ثانية، الـ CoT هيكسر الـ SLA.
  • تصنيف بسيط: sentiment analysis، intent detection - استخدم structured output بدل ما تخسر tokens.
  • موديلات أقل من 7B parameter: الفايدة بتختفي والـ latency بيزيد بدون مقابل.

متى تستخدمه فعلاً

  • مسائل حسابية أو منطقية متعدّدة الخطوات.
  • تحليل قانوني، طبي، أو مالي محتاج reasoning متسلسل.
  • استخراج معلومات من نص طويل محتاج ربط أجزاء متفرّقة.
  • برمجة - debugging، code review، شرح خوارزميات.
  • أي سؤال إنت كإنسان محتاج تفكّر فيه أكتر من 10 ثواني.

قياس الفرق على بياناتك إنت

الأرقام اللي قرأتها فوق على بيانات GSM8K. عندك الواقع: لازم تقيس على use case بتاعك. اعمل التجربة دي على 100 سؤال من logs الـ chatbot أو الـ API بتاعك:

Python
import time
from anthropic import Anthropic

client = Anthropic()
questions = [...]   # 100 سؤال من بياناتك الفعلية
labels = [...]      # الإجابات الصحيحة

results_normal, results_cot = [], []

for q, label in zip(questions, labels):
    # بدون CoT
    t0 = time.time()
    r1 = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=512,
        messages=[{"role": "user", "content": q}]
    )
    results_normal.append({
        "correct": label.lower() in r1.content[0].text.lower(),
        "tokens": r1.usage.output_tokens,
        "latency": time.time() - t0,
    })

    # مع CoT
    t0 = time.time()
    r2 = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1024,
        messages=[{
            "role": "user",
            "content": f"{q}\n\nفكّر خطوة بخطوة قبل ما تجاوب."
        }]
    )
    results_cot.append({
        "correct": label.lower() in r2.content[0].text.lower(),
        "tokens": r2.usage.output_tokens,
        "latency": time.time() - t0,
    })

# قارن الـ accuracy، avg tokens، وaverage latency
acc_normal = sum(r["correct"] for r in results_normal) / len(results_normal)
acc_cot = sum(r["correct"] for r in results_cot) / len(results_cot)
print(f"Accuracy: {acc_normal:.1%} -> {acc_cot:.1%}")

القاعدة اللي بنشتغل بيها: لو الـ accuracy زادت أكتر من 15% والـ use case مش real-time، فعّل CoT في production. لو الزيادة أقل من 5%، السؤال أصلاً سهل والـ CoT مش هيفرق غير في الفاتورة.

الخطوة التالية

افتح آخر 20 سؤال من logs الـ chatbot أو التطبيق بتاعك، سؤال محتاج فيه reasoning متسلسل. شغّل عليه السكربت اللي فوق مع وبدون CoT. لو الـ accuracy زادت زيادة محترمة والـ latency مقبول لـ use case بتاعك، فعّل CoT. لو لأ، خلّيه بره الـ prompt ووفّر الـ tokens لحاجة أهم.

المصادر

  • Wei et al. (2022) - Chain-of-Thought Prompting Elicits Reasoning in Large Language Models - arXiv:2201.11903
  • Kojima et al. (2022) - Large Language Models are Zero-Shot Reasoners - arXiv:2205.11916
  • Turpin et al. (2023) - Language Models Don't Always Say What They Think: Unfaithful Explanations in Chain-of-Thought Prompting - arXiv:2305.04388
  • Cobbe et al. (2021) - Training Verifiers to Solve Math Word Problems (GSM8K Benchmark) - arXiv:2110.14168
  • Anthropic Documentation - Let Claude think (Chain of Thought) - docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/chain-of-thought

هل استفدت من المقال؟

اطّلع على المزيد من المقالات والدروس المجانية من نفس المسار المعرفي.

تصفّح المدونة