Chain of Thought (CoT) prompting היא טכניקה שמשפרת באופן דרמטי את ביצועי הבינה המלאכותית במשימות חשיבה מורכבות על ידי בקשה מהמודל להציג את עבודתו צעד אחר צעד.

<Callout type="info" title="הראה את העבודה שלך">
בדיוק כמו מורה למתמטיקה שמבקש מתלמידים להראות את עבודתם, CoT prompting מבקש מהבינה המלאכותית להפוך את תהליך החשיבה שלה לגלוי.
</Callout>

## הבעיה ש-CoT פותר

מודלים של בינה מלאכותית עלולים להתקשות בחשיבה רב-שלבית כאשר מבקשים מהם לקפוץ ישירות לתשובה.

<Compare 
  before={{ label: "תשובה ישירה (לעתים קרובות שגויה)", content: "Question: A store sells apples for $2 each. If you buy 5 or more, you get 20% off. How much do 7 apples cost?\n\nAnswer: $14 ❌" }}
  after={{ label: "Chain of Thought (נכון)", content: "Question: A store sells apples for $2 each. If you buy 5 or more, you get 20% off. How much do 7 apples cost?\n\nLet's work through this step by step:\n1. Regular price per apple: $2\n2. Number of apples: 7\n3. Since 7 ≥ 5, the discount applies\n4. Regular total: 7 × $2 = $14\n5. Discount: 20% of $14 = $2.80\n6. Final price: $14 - $2.80 = $11.20\n\nAnswer: $11.20 ✓" }}
/>

## הנחיות CoT בסיסיות

### ביטויי הפעלה פשוטים

הוסיפו אחד מאלה להנחיות שלכם:

<div className="my-4 grid gap-2">
  <div className="p-3 bg-muted/50 rounded-lg font-mono text-sm">"Let's think step by step."</div>
  <div className="p-3 bg-muted/50 rounded-lg font-mono text-sm">"Think through this carefully."</div>
  <div className="p-3 bg-muted/50 rounded-lg font-mono text-sm">"Work through this problem methodically."</div>
  <div className="p-3 bg-muted/50 rounded-lg font-mono text-sm">"Show your reasoning at each step."</div>
  <div className="p-3 bg-muted/50 rounded-lg font-mono text-sm">"Explain your thought process."</div>
</div>

### בקשת שלבים מפורשת

<TryIt 
  title="נסו Chain of Thought"
  description="בקשו מהבינה המלאכותית לפתור בעיה צעד אחר צעד."
  prompt={`Solve this problem:

A car rental costs $40 per day plus $0.25 per mile. If someone rents a car for 3 days and drives 200 miles, what is the total cost?

Before giving your final answer:
1. Identify what information is given
2. Determine what we need to find
3. Plan your approach
4. Execute each step, showing work
5. Verify your answer`}
/>

## Zero-Shot לעומת Few-Shot CoT

ישנן שתי גישות עיקריות ל-Chain of Thought prompting, כל אחת עם פשרות שונות בין פשטות לשליטה.

### Zero-Shot CoT

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

<TryIt 
  compact
  title="Zero-Shot CoT"
  prompt={`If John has 3 apples and gives half to Mary, then buys 4 more, how many does he have?

Let's think step by step.`}
/>

**פלט לדוגמה:**
```
Let's think step by step.
- John starts with 3 apples
- Half of 3 is 1.5, but we can't split apples
- If we round down: John gives 1 apple, keeps 2
- After buying 4 more: 2 + 4 = 6 apples

Answer: 6 apples
```

### Few-Shot CoT

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

<TryIt 
  compact
  title="Few-Shot CoT"
  prompt={`Example 1:
Q: A baker has 24 cupcakes. She puts them equally into 4 boxes. Then she eats 2 cupcakes from one box. How many cupcakes total remain?

A: Let's work through this:
- Total cupcakes: 24
- Cupcakes per box: 24 ÷ 4 = 6
- After eating 2 from one box: 6 - 2 = 4 cupcakes in that box
- Total remaining: (3 boxes × 6) + 4 = 18 + 4 = 22 cupcakes

Example 2:
Q: A train travels at 60 mph for 2 hours, then 40 mph for 3 hours. What is its average speed?

A: Let's work through this:
- Distance at 60 mph: 60 × 2 = 120 miles
- Distance at 40 mph: 40 × 3 = 120 miles
- Total distance: 120 + 120 = 240 miles
- Total time: 2 + 3 = 5 hours
- Average speed: 240 ÷ 5 = 48 mph

Now solve:
Q: A store sells notebooks for $3 each. If you buy 10 or more, you get 25% off. How much do 12 notebooks cost?`}
/>

**פלט לדוגמה:**
```
A: Let's work through this:
- Regular price: $3, Quantity: 12
- Since 12 ≥ 10, the 25% discount applies
- Regular total: 12 × $3 = $36
- Discount: 25% of $36 = $9
- Final price: $36 - $9 = $27
```

## פורמטים מובנים של CoT

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

### פורמט BREAK

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

<BREAKFramework />

### תבנית החשיבה

מבנה פורמלי יותר שמפריד בין קלטים, מטרות וביצוע. מצוין לבעיות טכניות שבהן נדרש תיעוד ברור של תהליך הפתרון.

<TryIt 
  compact
  title="תבנית חשיבה"
  prompt={`Use this template to solve the problem:

GIVEN: [List known information]
GOAL: [What we need to find]
APPROACH: [Strategy we'll use]
STEPS:
  1. [First step with reasoning]
  2. [Second step with reasoning]
  ...
VERIFICATION: [Check the answer]
ANSWER: [Final answer]

Problem: A car uses 8 liters of fuel per 100 km. If the tank holds 45 liters and fuel costs $1.50 per liter, how much does it cost to drive 300 km?`}
/>

**פלט לדוגמה:**
```
GIVEN: 8L/100km, tank 45L, $1.50/L, drive 300km
GOAL: Calculate fuel cost
APPROACH: Fuel needed × cost per liter
STEPS:
1. Fuel = (300 ÷ 100) × 8 = 24 liters
2. Cost = 24 × $1.50 = $36
VERIFICATION: 24L < 45L tank ✓
ANSWER: $36
```

## CoT לסוגי בעיות שונים

סוגי בעיות שונים נהנים מגישות CoT שונות. להלן דפוסים מותאמים לתרחישים נפוצים.

### חשיבה מתמטית

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

<TryIt 
  compact
  title="מתמטיקה עם CoT"
  prompt={`A company's revenue was $1.2M in Q1. It grew 15% in Q2, declined 10% in Q3, and grew 25% in Q4. What was the total annual revenue?

Think through each quarter, showing your calculations clearly.`}
/>

**פלט לדוגמה:**
```
Q1: $1,200,000 (given)
Q2: $1,200,000 × 1.15 = $1,380,000
Q3: $1,380,000 × 0.90 = $1,242,000
Q4: $1,242,000 × 1.25 = $1,552,500

Total: $5,374,500
```

### חשיבה לוגית

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

<TryIt 
  compact
  title="חידת לוגיקה"
  prompt={`Three friends—Alice, Bob, and Carol—each have different pets (cat, dog, fish) and different jobs (teacher, engineer, doctor).

Clues:
1. Alice doesn't have a cat
2. The engineer has a dog
3. Bob is a teacher
4. Carol doesn't have a fish

Who has which pet and job? Reason through this systematically, testing hypotheses and verifying against all clues.`}
/>

**פלט לדוגמה:**
```
From clue 3: Bob = teacher
→ Alice and Carol are engineer/doctor

If Carol = engineer:
- Carol has dog (clue 2)
- Alice = doctor, has fish (clue 1)
- Bob has cat

Verify: All 4 clues satisfied ✓
Answer: Alice (doctor, fish), Bob (teacher, cat), Carol (engineer, dog)
```

### איתור באגים בקוד

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

<TryIt 
  compact
  title="איתור באגים עם CoT"
  prompt={`This function should return the sum of even numbers in a list, but it's returning wrong values. Debug step by step by tracing through with the input [2, 3, 4, 6]:

def sum_evens(numbers):
    total = 0
    for n in numbers:
        if n % 2 == 0:
            total += 1
    return total

Trace each step, find the bug, and provide the fix.`}
/>

**פלט לדוגמה:**
```
Trace [2, 3, 4, 6]:
n=2: total += 1 → 1 (wait, adding 1 not n!)
n=3: skip (odd)
n=4: total = 2
n=6: total = 3

BUG: "total += 1" should be "total += n"
Expected: 12, Got: 3
Fix: Change to "total += n"
```

## Self-Consistency עם CoT

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

<TryIt 
  compact
  title="Self-Consistency"
  prompt={`Solve this problem 3 different ways, then give your final answer based on which solution appears most correct:

Problem: A farmer has chickens and cows. Together they have 30 heads and 74 legs. How many chickens and how many cows does the farmer have?

Approach 1: Algebra
Approach 2: Guess and check
Approach 3: Logical reasoning

Then compare and give your final answer.`}
/>

**פלט לדוגמה:**
```
Approach 1 (Algebra): c + w = 30, 2c + 4w = 74 → c=23, w=7
Approach 2 (Guess): Try 23/7 → 46 + 28 = 74 ✓
Approach 3 (Logic): 30 chickens = 60 legs, need 14 more → 7 cows

All agree: 23 chickens, 7 cows
```

## CoT לקבלת החלטות

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

<TryIt 
  compact
  title="ניתוח החלטות"
  prompt={`Should we adopt microservices architecture for our application?

Context:
- Monolithic application with 50,000 lines of code
- Team of 5 developers
- 100 daily active users
- Planning for 10x growth in 2 years

Think through this systematically:
1. List the current state
2. Identify factors to consider (team size, scale, velocity, future growth)
3. Weigh each factor as for/against
4. Give a recommendation with reasoning`}
/>

**פלט לדוגמה:**
```
FACTORS:
- Team size (5): Too small for microservices ❌
- Scale (100 DAU): No scaling need ❌  
- Velocity: Monolith = faster iteration ❌
- Future growth: Uncertain timeline ⚠️

WEIGHING: 3 strong against, 1 weak for

RECOMMENDATION: Stay monolith, use clear module 
boundaries to ease future transition.
```

## מתי להשתמש ב-CoT

<div className="my-6 grid md:grid-cols-2 gap-4">
  <div className="border rounded-lg bg-green-50/50 dark:bg-green-950/20 border-green-200 dark:border-green-900">
    <p className="text-sm font-semibold text-green-700 dark:text-green-400 px-4 pt-3 flex items-center gap-2 m-0!"><IconCheck className="h-4 w-4" /> השתמשו ב-CoT עבור</p>
    <div className="text-sm p-4 pt-2 space-y-1">
      <p className="m-0!">**בעיות מתמטיות** — מפחית שגיאות חישוב</p>
      <p className="m-0!">**חידות לוגיקה** — מונע דילוג על שלבים</p>
      <p className="m-0!">**ניתוח מורכב** — מארגן את החשיבה</p>
      <p className="m-0!">**איתור באגים בקוד** — עוקב אחר הביצוע</p>
      <p className="m-0!">**קבלת החלטות** — שוקל פשרות</p>
    </div>
  </div>
  <div className="border rounded-lg bg-red-50/50 dark:bg-red-950/20 border-red-200 dark:border-red-900">
    <p className="text-sm font-semibold text-red-700 dark:text-red-400 px-4 pt-3 flex items-center gap-2 m-0!"><IconX className="h-4 w-4" /> דלגו על CoT עבור</p>
    <div className="text-sm p-4 pt-2 space-y-1">
      <p className="m-0!">**שאלות ותשובות פשוטות** — עומס מיותר</p>
      <p className="m-0!">**כתיבה יצירתית** — עלול להגביל יצירתיות</p>
      <p className="m-0!">**חיפוש עובדות** — לא נדרשת חשיבה</p>
      <p className="m-0!">**תרגום** — משימה ישירה</p>
      <p className="m-0!">**סיכום** — בדרך כלל פשוט</p>
    </div>
  </div>
</div>

## מגבלות CoT

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

1. **שימוש מוגבר בטוקנים** — יותר פלט משמעו עלויות גבוהות יותר
2. **לא תמיד נדרש** — משימות פשוטות לא נהנות מכך
3. **עלול להיות מילולי** — ייתכן שתצטרכו לבקש תמציתיות
4. **החשיבה עלולה להיות שגויה** — CoT לא מבטיח נכונות

## סיכום

<Callout type="tip" title="נקודות מפתח">
CoT משפר באופן דרמטי חשיבה מורכבת על ידי הפיכת שלבים מרומזים למפורשים. השתמשו בו למתמטיקה, לוגיקה, ניתוח ואיתור באגים. הפשרה: דיוק טוב יותר תמורת יותר טוקנים.
</Callout>

<Quiz 
  question="מתי לא כדאי להשתמש ב-Chain of Thought prompting?"
  options={[
    "בעיות מתמטיות הדורשות מספר שלבים",
    "שאלות עובדתיות פשוטות כמו 'מהי בירת צרפת?'",
    "איתור באגים בקוד עם לוגיקה מורכבת",
    "ניתוח החלטה עסקית"
  ]}
  correctIndex={1}
  explanation="Chain of Thought מוסיף עומס מיותר לשאלות ותשובות פשוטות. עדיף לשמור אותו למשימות חשיבה מורכבות כמו מתמטיקה, חידות לוגיקה, איתור באגים בקוד וניתוח שבהם הצגת העבודה משפרת את הדיוק."
/>

בפרק הבא, נחקור few-shot learning—ללמד את המודל באמצעות דוגמאות.
