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

<Callout type="info" title="למידה מדוגמאות">
בדיוק כמו שבני אדם לומדים מצפייה בדוגמאות, מודלי בינה מלאכותית יכולים ללמוד דפוסים מהדוגמאות שאתם מספקים בהנחיה שלכם.
</Callout>

## מהי למידת Few-Shot?

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

<Compare 
  before={{ 
    label: "Zero-Shot (ללא דוגמאות)", 
    content: `סווג את הביקורת הזו כחיובית או שלילית:

"הסוללה מחזיקה לנצח אבל המסך חשוך מדי."

→ המודל עלול להיות לא עקבי במקרי קצה` 
  }}
  after={{ 
    label: "Few-Shot (עם דוגמאות)", 
    content: `"אהבתי!" → חיובי
"איכות נוראית" → שלילי  
"טוב אבל יקר" → מעורב

עכשיו סווג:
"הסוללה מחזיקה לנצח אבל המסך חשוך מדי."

→ המודל לומד את הקטגוריות המדויקות שלכם` 
  }}
/>

<div className="my-4 grid grid-cols-2 md:grid-cols-4 gap-2">
  <div className="p-3 bg-muted/50 rounded-lg text-center">
    <div className="text-2xl font-bold">0</div>
    <div className="text-xs text-muted-foreground">Zero-shot</div>
  </div>
  <div className="p-3 bg-muted/50 rounded-lg text-center">
    <div className="text-2xl font-bold">1</div>
    <div className="text-xs text-muted-foreground">One-shot</div>
  </div>
  <div className="p-3 bg-primary/10 rounded-lg text-center border-2 border-primary">
    <div className="text-2xl font-bold">2-5</div>
    <div className="text-xs text-muted-foreground">Few-shot</div>
  </div>
  <div className="p-3 bg-muted/50 rounded-lg text-center">
    <div className="text-2xl font-bold">5+</div>
    <div className="text-xs text-muted-foreground">Many-shot</div>
  </div>
</div>

## למה דוגמאות עובדות

<FewShotDemo />

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

## דפוס Few-Shot בסיסי

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

```
[דוגמה 1]
קלט: [קלט 1]
פלט: [פלט 1]

[דוגמה 2]
קלט: [קלט 2]
פלט: [פלט 2]

[דוגמה 3]
קלט: [קלט 3]
פלט: [פלט 3]

עכשיו עשה את זה:
קלט: [קלט חדש]
פלט:
```

## Few-Shot לסיווג

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

### ניתוח סנטימנט

<Callout type="info" title="מהו ניתוח סנטימנט?">
ניתוח סנטימנט מסווג טקסט לפי טון רגשי: חיובי, שלילי, ניטרלי או מעורב. הוא נמצא בשימוש נרחב למשוב לקוחות, מעקב ברשתות חברתיות ומעקב אחר תפיסת מותג.
</Callout>

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

<TryIt compact prompt={`סווג את הסנטימנט של ביקורות הלקוחות הבאות.

ביקורת: "המוצר הזה עלה על כל הציפיות שלי! אקנה שוב."
סנטימנט: חיובי

ביקורת: "הגיע שבור ושירות הלקוחות לא היה מועיל."
סנטימנט: שלילי

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

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

עכשיו סווג:
ביקורת: "אוהב את העיצוב אבל חיי הסוללה מאכזבים."
סנטימנט:`} />

### סיווג נושאים

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

<TryIt compact prompt={`קטגר את פניות התמיכה הבאות.

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

פנייה: "איך אני משדרג לתוכנית הפרימיום?"
קטגוריה: חיוב

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

פנייה: "אתם יכולים להוסיף מצב כהה לאפליקציה הניידת?"
קטגוריה: בקשת תכונה

עכשיו קטגר:
פנייה: "התשלום שלי נדחה אבל אני רואה את החיוב בכרטיס"
קטגוריה:`} />

## Few-Shot להמרה

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

### שכתוב טקסט

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

<TryIt compact prompt={`שכתב את המשפטים הבאים בטון מקצועי.

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

יומיומי: "זה סופר חשוב וצריך לעשות את זה כמה שיותר מהר!"
מקצועי: "עניין זה דורש תשומת לב דחופה ופעולה מיידית."

יומיומי: "סליחה על התגובה המאוחרת, הייתי טבוע בעבודה!"
מקצועי: "אני מתנצל על התגובה המאוחרת. היה לי לוח זמנים תובעני במיוחד."

עכשיו שכתב:
יומיומי: "לא יכול להגיע לפגישה, משהו צץ."
מקצועי:`} />

### המרת פורמט

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

<TryIt compact prompt={`המר את התאריכים בשפה טבעית לפורמט ISO.

קלט: "יום שלישי הבא"
פלט: 2024-01-16 (בהנחה שהיום הוא 2024-01-11, יום חמישי)

קלט: "מחרתיים"
פלט: 2024-01-13

קלט: "היום האחרון של החודש הזה"
פלט: 2024-01-31

קלט: "עוד שבועיים"
פלט: 2024-01-25

עכשיו המר:
קלט: "יום שני הראשון של החודש הבא"
פלט:`} />

## Few-Shot ליצירה

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

### תיאורי מוצרים

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

<TryIt compact prompt={`כתוב תיאורי מוצרים בסגנון הזה:

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

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

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

עכשיו כתוב:
מוצר: מטען נייד לטלפון
תיאור:`} />

### תיעוד קוד

<Callout type="info" title="למה לתעד קוד?">
תיעוד טוב מסביר מה הקוד עושה, את הפרמטרים שלו, ערכי החזרה ודוגמאות שימוש. מחרוזות תיעוד עקביות מאפשרות יצירה אוטומטית של תיעוד API ועוזרות ל-IDE לספק השלמת קוד טובה יותר.
</Callout>

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

<TryIt compact prompt={`כתוב הערות תיעוד לפונקציות הבאות:

פונקציה:
def calculate_bmi(weight_kg, height_m):
    return weight_kg / (height_m ** 2)

תיעוד:
"""
חשב מדד מסת גוף (BMI) ממשקל וגובה.

Args:
    weight_kg (float): משקל בקילוגרמים
    height_m (float): גובה במטרים

Returns:
    float: ערך BMI (משקל/גובה²)

Example:
    >>> calculate_bmi(70, 1.75)
    22.86
"""

עכשיו תעד:
פונקציה:
def is_palindrome(text):
    cleaned = ''.join(c.lower() for c in text if c.isalnum())
    return cleaned == cleaned[::-1]

תיעוד:`} />

## Few-Shot לחילוץ

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

### חילוץ ישויות

<Callout type="info" title="מהו זיהוי ישויות מכונות?">
זיהוי ישויות מכונות (NER) מזהה ומסווג ישויות מכונות בטקסט לקטגוריות כמו אנשים, ארגונים, מיקומים, תאריכים ומוצרים. זה יסודי לאחזור מידע וגרפי ידע.
</Callout>

NER מרוויח מדוגמאות שמראות את סוגי הישויות הספציפיים שלכם ואיך להתמודד עם ישויות שיכולות להתאים למספר קטגוריות.

<TryIt compact prompt={`חלץ ישויות מכונות מהמשפטים הבאים.

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

טקסט: "האיחוד האירופי קנס את Google ב-4.34 מיליארד אירו ב-2018."
ישויות:
- ארגון: האיחוד האירופי
- חברה: Google
- כסף: 4.34 מיליארד אירו
- תאריך: 2018

עכשיו חלץ מ:
טקסט: "SpaceX של אילון מאסק שיגרה 23 לווייני Starlink מקייפ קנוורל ב-3 בדצמבר."
ישויות:`} />

### חילוץ נתונים מובנים

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

<TryIt compact prompt={`חלץ פרטי פגישה לפורמט מובנה.

אימייל: "בוא ניפגש מחר ב-3 אחר הצהריים בחדר ישיבות ב' לדון בתקציב רבעון 4. בבקשה הבא עם הלפטופ."

פגישה:
- תאריך: [תאריך מחר]
- שעה: 15:00
- מיקום: חדר ישיבות ב'
- נושא: דיון בתקציב רבעון 4
- דרישות: להביא לפטופ

אימייל: "סנכרון הצוות הועבר ליום שישי 10 בבוקר, נשתמש ב-Zoom במקום. הקישור בהזמנה בלוח השנה. מקסימום 30 דקות."

פגישה:
- תאריך: יום שישי
- שעה: 10:00
- מיקום: Zoom (וירטואלי)
- נושא: סנכרון צוות
- משך: 30 דקות

עכשיו חלץ מ:
אימייל: "אפשר לעשות שיחה מהירה ביום שני בבוקר בסביבות 9:30 לעבור על מצגת הלקוח? אשלח קישור Teams."

פגישה:`} />

## טכניקות Few-Shot מתקדמות

מעבר ל-few-shot בסיסי, מספר טכניקות יכולות לשפר תוצאות למשימות מורכבות.

### דוגמאות מגוונות

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

<TryIt compact prompt={`הגב לתלונות לקוחות.

דוגמה 1 (בעיית מוצר):
לקוח: "ההזמנה שלי הגיעה פגומה."
תגובה: "אני מתנצל בכנות על המשלוח הפגום. אשלח מיד תחליף ללא חיוב. אין צורך להחזיר את הפריט הפגום. האם אוכל לאשר את כתובת המשלוח שלך?"

דוגמה 2 (בעיית שירות):
לקוח: "חיכיתי על הקו שעתיים!"
תגובה: "אני מצטער מאוד על זמן ההמתנה הארוך. זה בלתי מקובל. אני כאן עכשיו ואוודא באופן אישי שהבעיה שלך תיפתר. במה אוכל לעזור לך היום?"

דוגמה 3 (בעיית חיוב):
לקוח: "חייבתם אותי פעמיים על אותה הזמנה!"
תגובה: "אני מתנצל על טעות החיוב הזו. אימתתי את החיוב הכפול והתחלתי החזר של XX.XX ש"ח לאמצעי התשלום המקורי שלך. אתה אמור לראות אותו תוך 3-5 ימי עסקים."

עכשיו הגב ל:
לקוח: "המוצר לא תואם למה שהוצג באתר."
תגובה:`} />

### דוגמאות שליליות

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

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

<TryIt compact prompt={`כתוב שורות נושא תמציתיות לאימייל.

טוב: "דוח רבעון 3 מוכן לסקירה"
רע: "היי, סיימתי את הדוח ההוא שדיברנו עליו"

טוב: "נדרשת פעולה: אשר חופשה עד יום שישי"
רע: "אני צריך שתעשה משהו בשבילי בבקשה תקרא את זה"

טוב: "פגישה נדחתה: סנכרון פרויקט → יום חמישי 14:00"
רע: "שינוי תוכניות!!!!!"

עכשיו כתוב שורת נושא עבור:
אימייל על: בקשת משוב על טיוטת הצעה
נושא:`} />

### דוגמאות מקרי קצה

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

<TryIt compact prompt={`נתח שמות לפורמט מובנה.

קלט: "John Smith"
פלט: {"first": "John", "last": "Smith", "middle": null, "suffix": null}

קלט: "Mary Jane Watson-Parker"
פלט: {"first": "Mary", "middle": "Jane", "last": "Watson-Parker", "suffix": null}

קלט: "Dr. Martin Luther King Jr."
פלט: {"prefix": "Dr.", "first": "Martin", "middle": "Luther", "last": "King", "suffix": "Jr."}

קלט: "Madonna"
פלט: {"first": "Madonna", "last": null, "middle": null, "suffix": null, "mononym": true}

עכשיו נתח:
קלט: "Sir Patrick Stewart III"
פלט:`} />

## כמה דוגמאות?

<div className="my-4 grid gap-2">
  <div className="flex gap-3 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-40">סיווג פשוט</span>
    <span className="text-primary font-mono">2-3</span>
    <span className="text-muted-foreground">לפחות אחת לכל קטגוריה</span>
  </div>
  <div className="flex gap-3 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-40">פורמט מורכב</span>
    <span className="text-primary font-mono">3-5</span>
    <span className="text-muted-foreground">הראו וריאציות</span>
  </div>
  <div className="flex gap-3 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-40">סגנון מורכב</span>
    <span className="text-primary font-mono">4-6</span>
    <span className="text-muted-foreground">לכדו את הטווח המלא</span>
  </div>
  <div className="flex gap-3 p-3 bg-muted/50 rounded-lg">
    <span className="font-semibold min-w-40">מקרי קצה</span>
    <span className="text-primary font-mono">1-2</span>
    <span className="text-muted-foreground">לצד דוגמאות רגילות</span>
  </div>
</div>

## איכות הדוגמאות חשובה

<Compare 
  before={{ 
    label: "דוגמאות גרועות", 
    content: `"מוצר נחמד" → טוב
"שירות נחמד" → טוב
"מחיר נחמד" → טוב

✗ כולן דומות מדי
✗ אותה מילה חוזרת
✗ אין מקרי קצה` 
  }}
  after={{ 
    label: "דוגמאות טובות", 
    content: `"עלה על הציפיות!" → חיובי
"הגיע שבור" → שלילי
"עובד בסדר, שום דבר מיוחד" → ניטרלי
"איכות מעולה אבל יקר מדי" → מעורב

✓ תרחישים מגוונים
✓ גבולות ברורים
✓ מכסה מקרי קצה` 
  }}
/>

## שילוב Few-Shot עם טכניקות אחרות

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

### Few-Shot + תפקיד

הוספת תפקיד נותנת למודל הקשר ל*למה* הוא עושה את המשימה, מה שיכול לשפר איכות ועקביות.

```
אתה סוקר חוזים משפטיים.

[דוגמאות לניתוח סעיפי חוזה]

עכשיו נתח: [סעיף חדש]
```

### Few-Shot + CoT

שילוב few-shot עם שרשרת מחשבה מראה לא רק *איזו* תשובה לתת, אלא *איך* להגיע לתשובה הזו. זה עוצמתי למשימות שדורשות שיפוט.

```
סווג והסבר היגיון.

ביקורת: "תכונות נהדרות אבל יקר מדי"
חשיבה: הביקורת מזכירה היבטים חיוביים ("תכונות נהדרות") 
אבל גם שלילי משמעותי ("יקר מדי"). השלילי נראה 
כמשקל יותר מהחיובי בהתבסס על מילת הקישור "אבל".
סיווג: מעורב-שלילי

[עוד דוגמאות עם היגיון]

עכשיו סווג עם היגיון:
ביקורת: "בדיוק מה שהייתי צריך, הגיע מהר מהצפוי"
```

## סיכום

<Callout type="tip" title="נקודות מפתח">
למידת few-shot מלמדת באמצעות הדגמה ולעתים קרובות יעילה יותר מהוראות לבד. השתמשו ב-2-5 דוגמאות מגוונות ונכונות ושלבו עם טכניקות אחרות לתוצאות הטובות ביותר.
</Callout>

<Quiz 
  question="כמה דוגמאות כדאי בדרך כלל לספק בלמידת few-shot?"
  options={[
    "כמה שיותר (10+)",
    "רק דוגמה אחת תמיד מספיקה",
    "2-5 דוגמאות מגוונות ונכונות",
    "דוגמאות אינן נחוצות אם ההוראות ברורות"
  ]}
  correctIndex={2}
  explanation="2-5 דוגמאות מגוונות ונכונות בדרך כלל עובדות הכי טוב. מעט מדי עלולות לא ללכוד את הדפוס, בעוד שיותר מדי מבזבזות טוקנים ועלולות לבלבל את המודל. איכות ומגוון חשובים יותר מכמות."
/>

בפרק הבא, נחקור שיפור איטרטיבי: אמנות שיפור ההנחיות באמצעות ניסיונות עוקבים.
