0Pricing
AI Prompt Engineering · درس

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

آثار الانتباه المرتبطة بالموضع.

الضياع في المنتصف درس مجاني في AI Prompt Engineering على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Prompt Engineering، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.

تأثير الضياع في المنتصف

في نماذج السياق الطويل، تتبع دقة الاسترجاع منحنى على شكل U بحسب الموضع: إذ تُستدعى الحقائق الموجودة في بداية السياق ونهايته جيدًا، بينما تُستدعى الحقائق الموجودة في المنتصف بأقل كفاءة. وهذا هو تأثير «الضياع في المنتصف».

  • إنه خاصية ناتجة عن الانتباه والتدريب، وليس عشوائيًا.
  • ويستمر حتى عندما تكون الإجابة موجودة بوضوح لا لبس فيه.

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

لماذا يعاني المنتصف

تتراكم عدة ضغوط في المنتصف: إذ تفضّل الانحيازات الموضعية الرموز الأحدث والأولى، وتبالغ بيانات التدريب في تمثيل أنماط «الإجابة قرب البداية أو النهاية»، كما أن العدد الكبير من العناصر المشتتة المتنافسة في الجزء الداخلي يضعف الانتباه إلى أي حقيقة منفردة.

لا يمكنك إزالة هذا الانحياز من النموذج، لكن يمكنك التوقف عن مقاومته.

ضع المحتوى المهم عند الحواف

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

  • ابدأ بالمهمة والحقائق الأساسية.
  • كرّر التعليمات الأساسية في النهاية تمامًا («تذكير بمهمتك: ...»).
context = (
  TASK_INSTRUCTION +
  KEY_EVIDENCE +
  bulk_supporting_material +
  TASK_REMINDER  # restate at the tail
)

وضع المحتوى بحسب الصلة

عندما تتحكم في ترتيب الأجزاء المسترجعة، لا تضعها مباشرة من الأمام إلى الخلف وفق ترتيب درجة الاسترجاع. رتّبها بالتناوب بحيث تستقر الأجزاء الأكثر صلة عند كلتا الحافتين، وتملأ الأجزاء الأقل صلة المنتصف — مستفيدًا من منحنى U عمدًا.

يمكن لهذا «التحميل عند الحواف» أن يستعيد جزءًا كبيرًا من الفقد الناتج عن المواضع الوسطى.

def edge_load(chunks):
    # chunks sorted by relevance desc
    head, tail = [], []
    for i, c in enumerate(chunks):
        (head if i % 2 == 0 else tail).append(c)
    return head + list(reversed(tail))

قلّص كومة القش

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

تكاد مطالبة مركزة من 15 ألف رمز لا تحتوي على منتصف ضعيف؛ أما مطالبة من 600 ألف رمز فمعظمها يقع في المنتصف.

إضافة الإشارات والفهرسة

امنح النموذج خريطة. يتيح جدول محتويات في الأعلى، إلى جانب نقاط ارتكاز واضحة للأقسام، للنموذج الانتقال إلى المناطق ذات الصلة بدل الاعتماد على التذكّر الموضعي الخام.

  • رقّم الأقسام وأشر إليها في السؤال.
  • أضف نقاط ارتكاز صريحة مثل SECTION 7: PRICING يمكن للنموذج البحث عنها.

تحل البنية جزئيًا محل الموثوقية الموضعية.

# Top of prompt
# INDEX: [S1 Overview] [S2 Risks] [S3 Pricing] [S4 Appendix]
# Question: 'Using S3 only, what is the renewal fee?'

أجبر النموذج على المسح قبل الإجابة

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

«أدرج أولًا كل قسم يذكر رسم التجديد مع نقطة ارتكازه، ثم أجب.» يكشف المسح الصريح المحتوى الموجود في المنتصف، والذي قد يفوّته السؤال المباشر.

ask = (
  'Step 1: list all anchors mentioning the topic. '
  'Step 2: quote the relevant line from each. '
  'Step 3: answer using only those quotes.'
)

أعد السؤال مع تغيير الموضع

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

تدوير المواضع حيلة عملية لزيادة المتانة عندما يكون التخطيط الواحد غير موثوق.

التجزئة والدمج لتحقيق التغطية

في المهام الشاملة («اعثر على جميع المخالفات»)، ستفوّت تمريرة واحدة ضخمة العناصر الموجودة في المنتصف. قسّم المحتوى إلى نوافذ متداخلة صغيرة بما يكفي كي لا تحتوي على منتصف ضعيف، وشغّل كل نافذة، ثم ادمج النتائج وأزل التكرارات.

  • يمنع التداخل فقدان العناصر عند الحدود.
  • توفّق خطوة الدمج بين التكرارات والتعارضات.

تفضّل مهام التغطية تنفيذ تمريرات صغيرة متعددة بدل تمريرة واحدة ضخمة.

def coverage(doc, win, overlap):
    out = []
    for w in windows(doc, win, overlap):
        out += extract(w)
    return dedupe(out)

قِس منحنى U الخاص بك

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

صمّم النظام بناءً على السلوك المقاس، لا على المعتقدات الشائعة.

depths = [0.0, 0.25, 0.5, 0.75, 1.0]
recall = {d: probe_canary_at(d) for d in depths}
# Expect a dip around 0.5

دليل عملي للمتانة الموضعية

للتغلب على الضياع في المنتصف: قلّص كومة القش، وحمّل المحتوى الأكثر صلة عند الحواف، وأعد ذكر المهمة في النهاية، وأضف فهرسًا وأجبر النموذج على إجراء مسح لتحديد الموضع قبل الإجابة، ودوّر المواضع عند إعادة السؤال، واستخدم التجزئة والدمج لتحقيق التغطية الشاملة. وقبل كل شيء، قِس المنحنى الخاص بنموذجك وصمّم النظام وفقًا له.

اختبار سريع

لديك حقيقة واحدة يجب استخدامُها، وكمية كبيرة من السياق الداعم، وقد لاحظت أن النموذج يتجاهل الحقيقة أحيانًا.

مراجعة: تأثيرات الانتباه الموضعية

تذكّر السياق الطويل على شكل U: فالحواف موثوقة، أما المنتصف فليس كذلك. عالج ذلك بتقليص كومة القش، وتحميل الأجزاء الأكثر صلة عند الحواف، وإعادة ذكر المهمة في النهاية، وإضافة فهرس وإجبار النموذج على إجراء مسح لتحديد الموضع قبل الإجابة، وتدوير المواضع عند إعادة السؤال، واستخدام التجزئة والدمج لتحقيق التغطية الشاملة. قِس المنحنى الفعلي لنموذجك، وصمّم مواضع المحتوى وفقًا له بدلًا من افتراض أن التذكّر متجانس.

الأسئلة الشائعة

هل درس «الضياع في المنتصف» مجاني؟

نعم — نص درس «الضياع في المنتصف» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Prompt Engineering، انتقل إلى CoddyKit PRO. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.

ماذا ستتعلم في «الضياع في المنتصف»؟

آثار الانتباه المرتبطة بالموضع. تتمرن على AI Prompt Engineering مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AI Prompt Engineering؟

لا تُشترط خبرة سابقة. AI Prompt Engineering على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «الضياع في المنتصف»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AI Prompt Engineering هذا؟

نعم. كل درس في AI Prompt Engineering يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. نوافذ سياق بمليون رمز
  2. الضياع في المنتصف
  3. هيكلة التلقينات الضخمة
  4. تخزين البادئات الطويلة مؤقتًا
← العودة إلى AI Prompt Engineering