يُعد التعلم بالأمثلة القليلة (Few-shot learning) من أقوى تقنيات كتابة الأوامر. من خلال تقديم أمثلة على ما تريده، يمكنك تعليم النموذج مهام معقدة دون أي ضبط دقيق.

<Callout type="info" title="التعلم بالأمثلة">
تماماً كما يتعلم البشر من رؤية الأمثلة، يمكن لنماذج الذكاء الاصطناعي تعلم الأنماط من الأمثلة التي تقدمها في أمرك.
</Callout>

## ما هو التعلم بالأمثلة القليلة؟

يُظهر التعلم بالأمثلة القليلة للنموذج أمثلة من أزواج المدخلات والمخرجات قبل طلب تنفيذ نفس المهمة. يتعلم النموذج النمط من أمثلتك ويطبقه على المدخلات الجديدة.

<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 />

الأمثلة توصل:
- **التنسيق**: كيف يجب أن يكون هيكل المخرجات
- **الأسلوب**: النبرة، الطول، المفردات
- **المنطق**: نمط التفكير الذي يجب اتباعه
- **الحالات الحدية**: كيفية التعامل مع المواقف الخاصة

## النمط الأساسي للتعلم بالأمثلة القليلة

يتبع الهيكل الأساسي للتعلم بالأمثلة القليلة نمطاً بسيطاً: اعرض الأمثلة، ثم اطلب المهمة الجديدة. الاتساق في التنسيق بين الأمثلة أمر بالغ الأهمية. يتعلم النموذج من النمط الذي تحدده.

```
[مثال 1]
المدخل: [مدخل 1]
المخرج: [مخرج 1]

[مثال 2]
المدخل: [مدخل 2]
المخرج: [مخرج 2]

[مثال 3]
المدخل: [مدخل 3]
المخرج: [مخرج 3]

الآن نفّذ هذا:
المدخل: [مدخل جديد]
المخرج:
```

## التعلم بالأمثلة القليلة للتصنيف

يُعد التصنيف من أقوى حالات استخدام التعلم بالأمثلة القليلة. من خلال عرض أمثلة من كل فئة، تحدد الحدود بين الفئات بدقة أكبر مما يمكن أن تحققه التعليمات وحدها.

### تحليل المشاعر

<Callout type="info" title="ما هو تحليل المشاعر؟">
تحليل المشاعر يصنف النص حسب النبرة العاطفية: إيجابي، سلبي، محايد، أو مختلط. يُستخدم على نطاق واسع لتعليقات العملاء ومراقبة وسائل التواصل الاجتماعي وتتبع تصور العلامة التجارية.
</Callout>

يستفيد تصنيف المشاعر من عرض أمثلة لكل نوع من المشاعر، خاصة الحالات الحدية مثل المشاعر "المختلطة" التي قد تكون غامضة.

<TryIt compact prompt={`صنّف مشاعر مراجعات العملاء هذه.

المراجعة: "هذا المنتج تجاوز كل توقعاتي! سأشتريه مرة أخرى."
المشاعر: إيجابي

المراجعة: "وصل مكسوراً وخدمة العملاء لم تكن مفيدة."
المشاعر: سلبي

المراجعة: "يعمل بشكل جيد، لا شيء مميز لكنه يؤدي الغرض."
المشاعر: محايد

المراجعة: "الجودة رائعة لكن الشحن استغرق وقتاً طويلاً."
المشاعر: مختلط

الآن صنّف:
المراجعة: "أحب التصميم لكن عمر البطارية مخيب للآمال."
المشاعر:`} />

### تصنيف المواضيع

للتصنيف متعدد الفئات، قم بتضمين مثال واحد على الأقل لكل فئة. هذا يساعد النموذج على فهم تصنيفك المحدد، الذي قد يختلف عن فهمه الافتراضي.

<TryIt compact prompt={`صنّف تذاكر الدعم هذه.

التذكرة: "لا أستطيع تسجيل الدخول إلى حسابي، إعادة تعيين كلمة المرور لا تعمل"
الفئة: المصادقة

التذكرة: "كيف أقوم بالترقية إلى الخطة المميزة؟"
الفئة: الفوترة

التذكرة: "التطبيق يتعطل عندما أحاول تصدير البيانات"
الفئة: تقرير خلل

التذكرة: "هل يمكنكم إضافة الوضع الداكن للتطبيق المحمول؟"
الفئة: طلب ميزة

الآن صنّف:
التذكرة: "تم رفض دفعتي لكنني أرى الرسوم على بطاقتي"
الفئة:`} />

## التعلم بالأمثلة القليلة للتحويل

مهام التحويل تحول المدخلات من شكل إلى آخر مع الحفاظ على المعنى. الأمثلة ضرورية هنا لأنها تحدد بالضبط ما يعنيه "التحويل" لحالة استخدامك.

### إعادة كتابة النص

يتطلب تحويل الأسلوب أمثلة تُظهر التغيير الدقيق في النبرة الذي تريده. التعليمات المجردة مثل "اجعله رسمياً" تُفسَّر بشكل مختلف. الأمثلة تجعلها ملموسة.

<TryIt compact prompt={`أعد كتابة هذه الجمل بنبرة رسمية.

عامي: "مرحباً، أردت فقط التحقق إذا استلمت بريدي الإلكتروني؟"
رسمي: "أردت المتابعة بخصوص بريدي الإلكتروني السابق."

عامي: "هذا مهم جداً ويجب إنجازه فوراً!"
رسمي: "هذا الأمر يتطلب اهتماماً عاجلاً وإجراءً سريعاً."

عامي: "آسف على الرد المتأخر، كنت مشغولاً جداً!"
رسمي: "أعتذر عن التأخر في الرد. كان لدي جدول مزدحم بشكل خاص."

الآن أعد الكتابة:
عامي: "لا أستطيع حضور الاجتماع، حصل شيء ما."
رسمي:`} />

### تحويل التنسيق

تستفيد مهام تحويل التنسيق من الأمثلة التي تُظهر الحالات الحدية والمدخلات الغامضة. يتعلم النموذج اصطلاحاتك المحددة للتعامل مع الحالات الصعبة.

<TryIt compact prompt={`حوّل هذه التواريخ باللغة الطبيعية إلى تنسيق ISO.

المدخل: "يوم الثلاثاء القادم"
المخرج: 2024-01-16 (بافتراض أن اليوم هو 2024-01-11، الخميس)

المدخل: "بعد غد"
المخرج: 2024-01-13

المدخل: "آخر يوم في هذا الشهر"
المخرج: 2024-01-31

المدخل: "بعد أسبوعين من الآن"
المخرج: 2024-01-25

الآن حوّل:
المدخل: "أول يوم إثنين في الشهر القادم"
المخرج:`} />

## التعلم بالأمثلة القليلة للتوليد

مهام التوليد تُنشئ محتوى جديداً يتبع نمطاً متعلَّماً. الأمثلة تحدد الطول والهيكل والنبرة والتفاصيل التي يجب إبرازها. هذه أمور يصعب تحديدها في التعليمات وحدها.

### أوصاف المنتجات

يستفيد النص التسويقي بشكل كبير من الأمثلة لأنها تلتقط صوت العلامة التجارية والتركيز على الميزات والتقنيات الإقناعية التي يصعب وصفها بشكل مجرد.

<TryIt compact prompt={`اكتب أوصاف المنتجات بهذا الأسلوب:

المنتج: سماعات رأس لاسلكية بتقنية Bluetooth
الوصف: انغمس في صوت نقي كالكريستال مع سماعاتنا اللاسلكية الخفيفة. تتميز ببطارية تدوم 40 ساعة، وإلغاء الضوضاء النشط، ووسائد أذن من الإسفنج الذاكر الناعم للراحة طوال اليوم.

المنتج: زجاجة مياه من الفولاذ المقاوم للصدأ
الوصف: حافظ على ترطيبك بأناقة مع زجاجتنا المعزولة مزدوجة الجدران. تحافظ على المشروبات باردة لمدة 24 ساعة أو ساخنة لمدة 12 ساعة. تتميز بغطاء مانع للتسرب وتناسب حاملات الأكواب القياسية.

المنتج: كرسي مكتب مريح
الوصف: حوّل مساحة عملك مع كرسينا المريح القابل للتعديل. ظهر شبكي قابل للتنفس ودعم للظهر ودوران 360 درجة يجتمعون لإبقائك مرتاحاً خلال جلسات العمل الطويلة.

الآن اكتب:
المنتج: شاحن هاتف محمول
الوصف:`} />

### توثيق الكود

<Callout type="info" title="لماذا نوثق الكود؟">
التوثيق الجيد يشرح ما يفعله الكود ومعاملاته وقيم الإرجاع وأمثلة الاستخدام. سلاسل التوثيق المتسقة تمكّن من إنشاء مستندات API تلقائياً وتساعد بيئات التطوير على توفير إكمال كود أفضل.
</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]

التوثيق:`} />

## التعلم بالأمثلة القليلة للاستخراج

مهام الاستخراج تسحب معلومات منظمة من نص غير منظم. الأمثلة تحدد الكيانات المهمة وكيفية تنسيق المخرجات وكيفية التعامل مع الحالات التي تكون فيها المعلومات مفقودة أو غامضة.

### استخراج الكيانات

<Callout type="info" title="ما هو التعرف على الكيانات المسماة؟">
التعرف على الكيانات المسماة (NER) يحدد ويصنف الكيانات المسماة في النص إلى فئات مثل الأشخاص والمنظمات والمواقع والتواريخ والمنتجات. وهو أساسي لاسترجاع المعلومات ورسوم المعرفة البيانية.
</Callout>

يستفيد التعرف على الكيانات المسماة من الأمثلة التي تُظهر أنواع كياناتك المحددة وكيفية التعامل مع الكيانات التي قد تناسب فئات متعددة.

<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 مساءً في قاعة المؤتمرات ب لمناقشة ميزانية الربع الرابع. يرجى إحضار حاسوبك المحمول."

الاجتماع:
- التاريخ: [تاريخ الغد]
- الوقت: 3:00 مساءً
- الموقع: قاعة المؤتمرات ب
- الموضوع: مناقشة ميزانية الربع الرابع
- المتطلبات: إحضار الحاسوب المحمول

البريد الإلكتروني: "تم نقل اجتماع الفريق إلى الجمعة الساعة 10 صباحاً، سنستخدم Zoom بدلاً من ذلك. الرابط في دعوة التقويم. 30 دقيقة كحد أقصى."

الاجتماع:
- التاريخ: الجمعة
- الوقت: 10:00 صباحاً
- الموقع: Zoom (افتراضي)
- الموضوع: اجتماع الفريق
- المدة: 30 دقيقة

الآن استخرج من:
البريد الإلكتروني: "هل يمكننا إجراء مكالمة سريعة صباح الإثنين حوالي الساعة 9:30 لمراجعة عرض العميل؟ سأرسل رابط Teams."

الاجتماع:`} />

## تقنيات متقدمة للتعلم بالأمثلة القليلة

بالإضافة إلى التعلم الأساسي بالأمثلة القليلة، هناك عدة تقنيات يمكنها تحسين النتائج للمهام المعقدة.

### أمثلة متنوعة

التنوع في الأمثلة أكثر قيمة من الكمية. غطِّ سيناريوهات مختلفة وحالات حدية وغموضات محتملة بدلاً من عرض أمثلة متشابهة بشكل متكرر.

<TryIt compact prompt={`رد على شكاوى العملاء.

مثال 1 (مشكلة في المنتج):
العميل: "وصل طلبي تالفاً."
الرد: "أعتذر بصدق عن التسليم التالف. سأرسل فوراً بديلاً دون أي رسوم. لا تحتاج إلى إرجاع المنتج التالف. هل يمكنني تأكيد عنوان الشحن الخاص بك؟"

مثال 2 (مشكلة في الخدمة):
العميل: "كنت في الانتظار لمدة ساعتين!"
الرد: "أنا آسف جداً على وقت الانتظار الطويل. هذا غير مقبول. أنا هنا الآن وسأضمن شخصياً حل مشكلتك. كيف يمكنني مساعدتك اليوم؟"

مثال 3 (مشكلة في الفوترة):
العميل: "خصمتم مني مرتين لنفس الطلب!"
الرد: "أعتذر عن هذا الخطأ في الفوترة. لقد تحققت من الرسوم المكررة وبدأت استرداد مبلغ XX.XX دولار إلى طريقة الدفع الأصلية. يجب أن تراه خلال 3-5 أيام عمل."

الآن رد على:
العميل: "المنتج لا يتطابق مع ما كان معروضاً على الموقع."
الرد:`} />

### الأمثلة السلبية

<Callout type="tip" title="التعلم التباينيّ">
إظهار أمثلة "جيدة" مقابل "سيئة" يُسمى التعلم التباينيّ. وهو يساعد النموذج على فهم ليس فقط ما تريده، بل ما يجب تجنبه. هذا مفيد بشكل خاص لأحكام الأسلوب والجودة.
</Callout>

أحياناً يكون إظهار ما *لا* يجب فعله بنفس قيمة إظهار الأمثلة الصحيحة. الأمثلة السلبية تساعد النموذج على فهم الحدود وتجنب الأخطاء الشائعة.

<TryIt compact prompt={`اكتب عناوين بريد إلكتروني موجزة.

جيد: "تقرير الربع الثالث جاهز للمراجعة"
سيء: "مرحباً، انتهيت من ذلك الشيء الذي تحدثنا عنه"

جيد: "إجراء مطلوب: الموافقة على الإجازة بحلول الجمعة"
سيء: "أحتاج منك أن تفعل شيئاً من فضلك اقرأ هذا"

جيد: "تم إعادة جدولة الاجتماع: مزامنة المشروع ← الخميس 2 مساءً"
سيء: "تغيير في الخطط!!!!!"

الآن اكتب عنواناً لـ:
بريد إلكتروني حول: طلب ملاحظات على مسودة اقتراح
العنوان:`} />

### أمثلة الحالات الحدية

الحالات الحدية غالباً ما تحدد ما إذا كان الحل يعمل في الإنتاج. تضمين مدخلات غير عادية في أمثلتك يمنع النموذج من الفشل على بيانات العالم الحقيقي التي لا تناسب "المسار السعيد".

<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: `"تجاوز التوقعات!" ← إيجابي
"مكسور عند الوصول" ← سلبي
"يعمل بشكل جيد، لا شيء مميز" ← محايد
"جودة رائعة لكنه غالي الثمن" ← مختلط

✓ سيناريوهات متنوعة
✓ حدود واضحة
✓ يغطي الحالات الحدية` 
  }}
/>

## الجمع بين التعلم بالأمثلة القليلة والتقنيات الأخرى

يتكامل التعلم بالأمثلة القليلة بقوة مع تقنيات الأوامر الأخرى. الأمثلة توفر "ماذا" بينما التقنيات الأخرى يمكنها إضافة السياق أو التفكير أو الهيكل.

### التعلم بالأمثلة القليلة + الدور

إضافة دور يعطي النموذج سياقاً عن *لماذا* يقوم بالمهمة، مما يمكن أن يحسن الجودة والاتساق.

```
أنت مراجع عقود قانونية.

[أمثلة على تحليل بنود العقود]

الآن حلّل: [بند جديد]
```

### التعلم بالأمثلة القليلة + سلسلة التفكير

الجمع بين التعلم بالأمثلة القليلة وسلسلة التفكير (Chain of Thought) يُظهر ليس فقط *أي* إجابة يجب تقديمها، بل *كيفية* التفكير للوصول إلى تلك الإجابة. هذا قوي للمهام التي تتطلب حكماً.

```
صنّف واشرح التفكير.

المراجعة: "ميزات رائعة لكنه غالي الثمن"
التفكير: تذكر المراجعة جوانب إيجابية ("ميزات رائعة") 
لكن أيضاً سلبية كبيرة ("غالي الثمن"). يبدو أن السلبي 
يفوق الإيجابي بناءً على أداة الربط "لكن".
التصنيف: مختلط-سلبي

[المزيد من الأمثلة مع التفكير]

الآن صنّف مع التفكير:
المراجعة: "بالضبط ما احتجته، وصل أسرع من المتوقع"
```

## الملخص

<Callout type="tip" title="النقاط الرئيسية">
التعلم بالأمثلة القليلة يُعلّم من خلال العرض وغالباً ما يكون أكثر فعالية من التعليمات وحدها. استخدم 2-5 أمثلة متنوعة وصحيحة واجمعها مع تقنيات أخرى للحصول على أفضل النتائج.
</Callout>

<Quiz 
  question="كم عدد الأمثلة التي يجب تقديمها عادةً في التعلم بالأمثلة القليلة؟"
  options={[
    "أكبر عدد ممكن (10+)",
    "مثال واحد فقط يكفي دائماً",
    "2-5 أمثلة متنوعة وصحيحة",
    "الأمثلة غير ضرورية إذا كانت التعليمات واضحة"
  ]}
  correctIndex={2}
  explanation="عادةً ما تعمل 2-5 أمثلة متنوعة وصحيحة بشكل أفضل. القليل جداً قد لا يلتقط النمط، بينما الكثير جداً يهدر الرموز وقد يربك النموذج. الجودة والتنوع أهم من الكمية."
/>

في الفصل التالي، سنستكشف التحسين التكراري: فن تحسين الأوامر من خلال المحاولات المتتالية.
