المَحتويَات
إعداد: م. نور شوشرة
التّدقيق العلميّ: م. محمّد سرميني، م. ماريّا حماده
المقدّمة
أصبحت نماذج اللّغة الكبيرة LLMs هي المعيار الجديد في مجال معالجة اللّغة الطّبيعيّة NLP. يعتمد عليها الأشخاص في جميع أنحاء العالم في مهام مختلفة؛ بفضل أدائها المحسّن وقوّتها التّوليديّة. إلّا أنّها بالرّغم من ذلك، أثبتت أنّها تولّد إجابات غير صحيحة في بعض الأحيان، والّتي من الممكن تقليل فرصة الحصول عليها من خلال تقنيّةٍ تسمّى هندسة التّلقين prompt engineering [1]. في هذه المقالة، سنناقش بالتّفصيل ما هي هندسة التّلقين مع توضيح بعض التّقنيّات الّتي يمكن استخدامها.
في حال كنت جديدًا عزيزي القارئ في مجال نماذج اللّغة الكبيرة، إليك هذه المقالة المبسّطة عنها مقدمة في نماذج اللّغة الكبيرة.
ولكن قبل الغوص في هندسة التّلقين، يجب أن نفهم كيف تعمل النّماذج اللّغويّة الكبيرة LLMs وكيف تؤدّي مهامها. في الخلفيّة تعمل هذه النّماذج كأداةٍ لتوليد النّصوص، حيث تتنبّأ بالكلمات واحدةً تلو الأخرى باستخدام حساب الاحتمالات. في حالة شات جي بي تي ChatGPT ونماذج الذّكاء الإصطناعيّ التّوليدي الأخرى، تحاول النّماذج اللّغويّة الكبيرة مطابقة مدخلات المستخدم مع بيانات التّدريب. وبعد مطابقة البيانات، يتمّ إنتاج المخرجات، لذلك عندما يقدّم المستخدم مدخلًا جديدًا، “تتخيّل” النّماذج اللّغويّة الكبيرة ممّا يؤدّي إلى إنتاج مخرجاتٍ غير منطقيّةٍ أحيانًا. وللاستفادة الكاملة من إمكانيّات هذه النّماذج، نحتاج إلى فهم كيفيّة تحويل هذه المطابقات إلى مطابقةٍ في المجال المطلوب. وهذا بالضّبط ما تقوم به هندسة التّلقين [1].وأيضًا إليك مقالة مبسّطة عن كيفيّة عمل نماذج ChatGPT.
ما هي هندسة التّلقين؟
يمكن تعريف هندسة التّلقين بأنّها عمليّة الحصول على مخرجاتٍ مرغوبةٍ من نموذجٍ لغويٍّ كبيرٍ LLM عن طريق إعطاء مجموعةٍ من التّعليمات الواضحة حول النّتيجة المطلوبة. تساعد هندسة التّلقين على فهمٍ أفضل لقدرات وحدود النّماذج اللّغويّة الكبيرة. وهذه المقاربة تتجاوز مجرّد تصميم وتطوير الأوامر، فهي تشمل مجموعةً واسعةً من المهارات والتّقنيّات اللّازمة للتّفاعل مع هذه النّماذج وتطويرها واختبارها.
إنّ التّلقينات prompts ببساطةٍ هي تعليماتٌ تُعطى لنموذجٍ لغويٍّ كبير LLM من أجل الحصول على النّتيجة المرجوّة [3].
يمكن أن يكون التّلقين prompt بسيطًا، مثل “شرح قانون نيوتن الثّالث للحركة” أو معقّدًا، مثل “يجب أن أكتب مهمّةً حول X. يرجى اعتبار هذا سياقًا وكتابة المهمّة بناءً عليه: [السّياق]” [3].
وهكذا يمكن أن تمنحك تعليماتٌ بسيطةٌ داخل أمر تلقينٍ معيّنٍ نتيجةً، لكن للحصول على نتائج عالية الجودة، يجب أن يكون الأمر مصمّمًا بعنايةٍ. قد يحتوي التّلقين على تعليماتٍ مثل طرح أسئلةٍ وتقديم تفاصيل أخرى توفّر سياقًا إضافيًّا، كإعطاء تلميحاتٍ عن الإجابة المطلوبة. [1][2]
عناصر التّلقين
يمكن أن يحتوي التّلقين على أيٍّ من العناصر التّالية:
- التّعليمات: أيّ مهمّةٍ محدّدةٍ يرغب المستخدم أن يؤدّيها النّموذج.
- السّياق: معلوماتٌ إضافيّةٌ يمكن للنّموذج استخدامها لتوليد المخرجات المطلوبة.
- البيانات المدخلة: السّؤال أو المدخل الّذي يُطلب من النّموذج تقديم إجابةٍ له.
- مؤشّر المخرجات: صيغة أو شكل المخرجات المطلوبة.
يوضّح الشّكل (1) مثالًا عن التّلقين:


تقنيّات هندسة التّلقين
توجد عدّة تقنيّاتٍ لهندسة التّلقين بناءً على المهمّة المطلوبة.
التّلقين بدون أمثلةٍ Zero-Shot Prompting.
التّلقين بدون أمثلةٍ هو تقنيّةٌ تختبر قدرة النّموذج على إنتاج مخرجاتٍ من تلقينٍ ليس جزءًا من بيانات التّدريب، ويُتوقّع منه أداء مهمّةٍ معيّنةٍ [3].
تسمح هذه التّقنيّة للنّموذج أن يستنبط من المعرفة الّتي اكتسبها ويطبّقها على سيناريوهاتٍ جديدةٍ [3].
ومع ذلك، عندما لا ينجح التّلقين بدون أمثلةٍ، يتمّ استخدام التّلقين بقلّة الأمثلة Few-Shot Prompting.
يوضّح لنا الشّكل (2) بأنّ النّموذج ضمنيًّا لم يتدرّب على الجملة المعطاة صراحةًً، لكنّه من خلال المعرفة الّتي اكتسبها؛ أًصبح قادرًا على تعميم إجابته من خلال كلمة (رائعًا) على أنّه تصنيفٌ إيجابيٌّ.

التّلقين بقليلٍ من الأمثلة Few-Shot Prompting.
في حالة التّلقين بقليلٍ من الأمثلة، يتمّ تزويد النّموذج بعددٍ من الأمثلة أو شروحاتٍ ضمن التّلقين؛ ليوجِّهه ويساعده في فهم المهمَّة والاستجابة لها بدقَّةٍ [3].
عند تقديم بعض الأمثلة ذات الصّلة بالسّياق، نساعد النّموذج في استيعاب الفروق الدّقيقة للمخرجات المطلوبة [3].
تُعزِّز هذه التّقنيّة من تكيُّف النّموذج وقدرته على الاستجابة لمتطلَّبات المستخدم الخاصَّة، كما وأنّه يُتوقَّع من النّموذج أن يتعلَّم من تلك الأمثلة ويُنتج المخرجات بناءً عليها [3].
يوضّح الشّكل (3) مثالًا عن Few-Shot Prompting:

سلسلة التّفكير (CoT) Chain-of-Thought.
هي تقنيّةٌ تقوم بتفكيك المهام المعقدة إلى تسلسلٍ من الخطوات الوسيطة أو المهام الفرعيّة [3].
تتيح هذه الطّريقة للنّموذج تحليل الطّلبات المعقدة وفهمها بشكلٍ تدريجيٍّ وتوليد استجابةٍ أكثر دقّة وشموليّة [3].
من خلال توجيه النّموذج عبر سلسلةٍ من التّعليمات الفرعيّة، نسهل على النّموذج اللّغويّ استخراج المعلومات ذات الصّلة [3].
لدينا المثال التّالي:
المدخل: “اشرح عمليّة البناء الضّوئيّ خطوةً بخطوة.”
سلسلة التّفكير Chain-of-Thought:
“حدّد البناء الضّوئيّ والغرض منه.”
“صف دور ضوء الشّمس في البناء الضّوئيّ.”
“اشرح تحويل ثاني أكسيد الكربون إلى جلوكوز.”
الإخراج: تفسيرٌ مفصّلٌ خطوة بخطوة لعمليّة البناء الضّوئيّ.
يمكن دمج سلسلة التّفكير CoT مع التّحفيز القليل للسّماح لنموذج اللّغة بتعلّم التّفكير وتوليد النّاتج المطلوب.
بالإضافة لذلك، هنالك أيضًا عمليّةٌ أخرى تُعرف باسم سلسلة التّفكير التّلقائيّة Auto-CoT. تستخدم هذه التّقنيّة أسلوب “دعنا نفكر خطوةً بخطوة” لنموذج اللّغة ثمّ تولّد عرضًا للإجابة.
ليكن لدينا المثال الآتي:
التّلقين التّقليدي:
المدخل:
س: يمتلك سامي 5 كرات تنس. يشتري علبتين إضافيّتين من كرات التنس. تحتوي كلّ واحدةٍ على 3 كرات تنس. كم عدد كرات التّنس الّتي يمتلكها الآن؟
ج: الإجابة هي 11.
س: كانت لدى الكافيتريا 23 تفاحة. إذا استخدموا 20 تفاحةٍ لتحضير الغداء واشتروا 6 تفاحاتٍ إضافيّة، كم عدد التّفاحات الّتي لديهم الآن؟
مخرج النموذج:
ج: الإجابة هي 27. ❌
التّلقين بسلسلة التّفكير:
المدخل:
س: يمتلك سامي 5 كرات تنس. يشتري علبتين إضافيّتين من كرات التنس. تحتوي كلّ واحدةٍ على 3 كرات تنس. كم عدد كرات التّنس الّتي يمتلكها الآن؟
ج: بدأ سامي بـ 5 كرات. العلبتان تحتويان على 3 كرات لكلٍّ منهما، أي 6 كرات تنس 5 + 6 = 11. الإجابة هي 11.
س: كانت لدى الكافيتريا 23 تفاحة. إذا استخدموا 20 تفاحةٍ لتحضير الغداء واشتروا 6 تفاحاتٍ إضافيّة، كم عدد التّفاحات الّتي لديهم الآن؟
مخرج النّموذج:
ج: كان لدى الكافيتريا في الأصل 23 تفاحة. استخدموا 20 تفاحةٍ لتحضير الغداء. لذلك تبقّى لديهم 23 – 20 = 3.
ثمّ اشتروا 6 تفاحاتٍ إضافيّة، لذا لديهم الآن 3 + 6 = 9. الإجابة هي 9. ✅
التّلقين السّياقي للمحادثات Contextual Conversation Prompts.
التّفاعل في محادثةٍ ديناميكيّةٍ ومتطوّرةٍ مع النّموذج غالبًا ما يتطلّب استخدام التّلقينات السّياقيّة [3].
من خلال الحفاظ على سياق المحادثة الجارية والإشارة إلى التّفاعلات السّابقة، يمكنك إنشاء تبادل أكثر اتّساق وحيويّة مع النّموذج. هذه التّقنيّة مفيدةٌ بشكلٍ خاصٍّ للدّردشة الآليّة والمساعدين الافتراضيّين [3].
إليك مثالًا لمحادثةٍ مع شات جي بي تي ChatGPT يستخدم فيها التّلقين السّياقي، بحيث يبني شات جي بي تي ChatGPT إجاباته على الأسئلة المتتالية للمستخدم مع الحفاظ على السّياق.
المثال:
- التّلقين الأوليّ:
- المستخدم: “ما هو التّعلّم العميق؟”
- ChatGPT: “التّعلّم العميق هو فرعٌ من فروع تعلّم الآلة، يعتمد على الشّبكات العصبيّة العميقة الّتي تتكوّن من طبقاتٍ متعدّدةٍ من العُقد الّتي تتعلّم من البيانات. يتمّ استخدامه في مهام معقّدة مثل التّعرّف على الصّور وتحليل النّصوص.”
- التّلقين السّياقي:
- المستخدم: “كيف تختلف الشّبكات العصبيّة في التّعلّم العميق عن الشّبكات العصبيّة التّقليديّة؟”
- ChatGPT: “الفرق الرّئيسيّ هو في عدد الطّبقات؛ فالشّبكات العصبيّة التّقليديّة غالبًا ما تحتوي على طبقةٍ أو طبقتين مخفيّتين، بينما الشّبكات العصبيّة في التّعلّم العميق قد تحتوي على عشرات أو حتّى مئات الطّبقات، ما يسمح لها بمعالجة الأنماط والميّزات المعقّدة بشكلٍ أكثر دقّة.”
- التّعمّق بتلقينٍ إضافيٍّ:
- المستخدم: “هل يمكن أن توضّح لي كيفيّة عمل هذه الشّبكات خطوةً بخطوة؟”
- ChatGPT: “بالطّبع. تبدأ الشّبكة بتلقي المدخلات (مثل صورةٍ أو نصٍّ)، وتمرّر هذه المدخلات عبر طبقاتٍ متعدّدةٍ، حيث تُجري كلّ طبقةٍ عمليّات حسابيّة معيّنة تستخلص ميّزات محدّدة. في نهاية الطّبقات، تولّد الشّبكة نتيجةً مثل تصنيف الصّورة أو استنتاجٍ معيّنٍ بناءً على البيانات المدخلة.”
في هذا المثال، يبني ChatGPT إجاباته على الأسئلة السّابقة ويحافظ على سياق “التّعلّم العميق” والشّبكات العصبيّة، ممّا يجعل المحادثة متّسقةً ومتعمّقةً تدريجيًّا.
تمكّننا هذه التّقنيّات المتقدّمة في هندسة التّلقين من استخراج أقصى فائدةٍ من نماذج اللّغة الكبيرة من خلال تخصيص استجابتها لمهام معقّدة ومتطوّرة [3].
من خلال الجمع بين هذه التّقنيّات بشكلٍ استراتيجيٍّ، يمكننا تحقيق نتائج أكثر دقّة وملاءمة سياقيّة عبر مجموعةٍ واسعةٍ من التّطبيقات [3].
أفضل ممارسات هندسة التّلقين
تتضمّن هندسة التّلقين الفعّالة عدّة ممارساتٍ أفضل:
- تحديد الاستجابات المطلوبة بوضوحٍ: حدّد نطاق الاستجابة المطلوبة لمنع التّفسيرات الخاطئة من نماذج اللّغة الكبيرة [3].
مثال: إذا كنت تريد من النّموذج تلخيص مقالةٍ علميّةٍ حول تأثير التّغيّر المناخيّ، يمكن أن يكون التّلقين كالتّالي:
التّلقين: “قم بتلخيص المقالة التّالية حول تأثير التّغيّر المناخيّ، مع التّركيز على الآثار البيئيّة والاقتصاديّة فقط.”
- كن محدّدًا وواضحًا: تجنّب الغموض؛ قدّم تعليمات واضحة وصريحة لتوجيه نماذج اللّغة بشكلٍ فعّالٍ [3].
مثال: بدلًا من طلب “إعطاء أفكارٍ لكتابة مقالٍ”، يمكن استخدام تلقينٍ أكثر تحديدًا كالتّالي:
التّلقين: “قدّم خمس أفكارٍ لمقالٍ يتناول كيفيّة تأثير الذّكاء الإصطناعيّ على أساليب التّعليم.”
- وازن بين البساطة والتّعقيد: ابحث عن التّوازن المناسب بين التّلقينات البسيطة والمعقدة لضمان الوضوح دون إرباك نماذج اللّغة الكبيرة [3].
مثال: بدلًا من استخدام تلقينٍ طويلٍ يحتوي على تفاصيل كثيرة في جملةٍ واحدةٍ، يمكن تبسيطه كالتّالي:
التّلقين: “اشرح دور البروتينات في الجسم بطريقةٍ مفهومةٍ لطالبٍ في المرحلة الثّانويّة، مع ذكر بعض الأمثلة العمليّة.”
- التّكرار والتّجربة: هندسة التّلقين عمليّةٌ تكراريّةٌ؛ اختبر تلقينات مختلفة وقم بتحسينها بناءً على النّتائج، وذلك من خلال تحسين التّلقين تدريجيًّا لضمان الحصول على استجابةٍ أكثر تفصيلًا وإفادة [3].
مثال: إذا لم تحقّق الاستجابة المطلوبة، يمكنك تعديل التّلقين بناءً على النّتائج. على سبيل المثال، إذا كان التّلقين الأوّل “اشرح الثّورة الصّناعيّة”، ووجدت أنّ الإجابة سطحيّةٌ، يمكن تعديل التّلقين ليصبح:
التّلقين الثّاني: “اشرح الثّورة الصّناعيّة مع التّركيز على الآثار الاقتصاديّة والاجتماعيّة، بالإضافة إلى الابتكارات التّكنولوجيّة الرّئيسيّة.”
- التّدريب والتّقييم: تدريب النّموذج على مجموعة بياناتٍ متخصّصةٍ يتيح له تقديم استجاباتٍ أكثر دقّة في مجالٍ معيّنٍ، وذلك من خلال تدريبٍ إضافيٍّ لتحسين أداء النّموذج الذّكي إذا لزم الأمر، من خلال إنشاء نماذج مخصّصة لمهام محدّدة [3].
مثال: إذا كنت تطوّر مساعدًا ذكيًّا مخصّصًا لأغراضٍ قانونيّة، يمكنك تدريب النّموذج على مستنداتٍ قانونيّةٍ إضافيّةٍ. بعد ذلك، يمكنك تقييم النّموذج عبر تلقيناتٍ مثل:
- التّلقين: “ما هي المبادئ الأساسيّة لقانون العقود؟”
التّقييم: تحليل مدى دقّة وكفاءة الاستجابة وتحديد ما إذا كانت بحاجة إلى تحسينٍ إضافيٍّ.
الخاتمة
أصبحت نماذج الّلغة الكبيرة LLMs أداةً شائعةً بين المستخدمين. ومع ذلك، لا يزال الكثيرون غير قادرين على الاستفادة منها بأقصى إمكانيّاتها. تعدّ هندسة التّلقين الجسر الّذي يربط بين مايحاول الإنسان الوصول له وقدرات النّموذج اللّغويّ، ومن خلال التّقنيّات المتقدّمة في هندسة التّلقين والجمع فيما بينها يمكن استخراج أقصى فائدةٍ من نماذج اللّغة الكبيرة عن طريق تخصيص استجاباتها لمهام معقّدة ومتطوّرة تمكّن الإنسان من الوصول لغايته بنتائج أكثر دقّة.
وهكذا، تتيح هندسة التّلقين للمستخدمين تخصيص أوامر الإدخال بطريقةٍ تمكّن نماذج اللّغة من تقديم استجاباتٍ أفضل، ممّا يمكّن المستخدمين والنّماذج معًا من مساعدة بعضهم البعض.