العمل مع الذكاء الاصطناعي

تقنيات متقدمة في صياغة المطالبات

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

  • الدرس 4 من 15
  • متوسط
  • مجاني، دون تسجيل

خمس درجات، من الأسفل إلى الأعلى

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

  1. 1

    بلا أمثلة

    تسأل فحسب. وأربعة من كل خمسة أعمال حقيقية تنتهي هنا.

  2. 2

    بأمثلة

    من مثالين إلى خمسة صحيحة. لحين يرى شكل العمل أسهل مما يوصف.

  3. 3

    سلسلة التفكير

    الخطوات قبل الجواب. واليوم هي لرؤية الاستدلال أكثر من تحسينه.

  4. 4

    المخرج المهيكل

    شكل ثابت يقرؤه برنامج. الدرجة الوحيدة التي تجعل الجودة قابلة للقياس.

  5. 5

    المطالبة النظامية

    القواعد الثابتة مرة واحدة. وهي قاعدة تتبع عادة، لا جدار.

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

آخر مراجعة: تُراجع الحقائق وأسماء الأدوات في هذا الدرس مقابل مصادرها في هذا التاريخ.

ما هذه الدرجات الخمس، وماذا تعني الدرجة الأعلى

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

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

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

المطالبة المتقدمة: خمس درجات وموضع كل منها

إعطاء الأمثلة: كم مثالا يكفي ومتى ينقلب الأثر

مصطلح few-shot جاء من ورقة أوبن إيه آي سنة ٢٠٢٠ بعنوان «النماذج اللغوية متعلمة من أمثلة قليلة»، والفكرة بسيطة: بدل أن تشرح العمل، اعرض بضعة أمثلة عليه. وللأعمال التي يرى شكلها أسهل مما يوصف، تنفع هذه الدرجة فعلا: التصنيف، والنبرة، وأي قالب كثير التفاصيل.

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

الرسالة: مرحبا، وصل الطلب ١٢٣ أمس لكن العلبة كانت مهشمة. والقطعة داخلها سليمة.
الفئة: شكوى

الرسالة: هل تخبروني متى يصل الطلب ١٢٣؟
الفئة: متابعة طلب

الرسالة: مرحبا. أريد ثلاثا من الصنف السابق نفسه.
الفئة: طلب جديد

قيمة هذه الأسطر الثلاثة في الشيء الذي لم يكن يمكن كتابته: أن «العلبة مهشمة والقطعة سليمة» تبقى شكوى قرار منك أنت لا قاعدة عامة. والأمثلة تنقل تلك القرارات الحدية بالضبط.

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

وثلاثة مواضع ينقلب فيها أثر الأمثلة: حين تأتي كلها من فئة واحدة فينسخ النموذج ذلك التوزيع؛ وحين يناقض مثال قاعدة من قواعدك، فيصدق النموذج المثال لا القاعدة؛ وحين تؤخذ الأمثلة من بيانات عملاء حقيقية، لأن تلك البيانات ترافق كل تشغيل من الآن فصاعدا.

من أين جاءت سلسلة التفكير ولماذا صارت أقل لزوما اليوم

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

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

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

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

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

سلسلة التفكير: أين ما زالت تستحق وأين هي مجرد رموز

تقنية واحدة باستعمالين مختلفين تماما. أحدهما يخبو والآخر لا.

لتحسين الجواب

  • غير لازمة غالبا على النماذج الاستدلالية اليوم
  • إرشاد شركتين يقول أبق المطالبة بسيطة
  • ما زالت تفيد على النماذج الأصغر والأقدم
  • تضيف رموزا وتأخيرا وتسيء أحيانا إلى النتيجة

لرؤية الاستدلال

  • حين تحتاج أن ترى من أين جاء الجواب
  • لتحديد موضع الخطأ بدقة في عمل متعدد الخطوات
  • حين يلزم أن تشرح الجواب لشخص آخر
  • هذا الاستعمال لا يخبو مع تحسن النماذج

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

المخرج المهيكل: حين يجب أن يدخل الجواب إلى برنامج

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

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

وفخ يخص كتاب العربية والفارسية ولا تجده في أي وثيقة إنجليزية: إن قالت قواعدك «رقم بين ١ و٣» بالأرقام العربية الهندية، فقد يجيب النموذج بالأرقام نفسها، فيتوقف المخرج عن كونه JSON صالحا، لأن JSON لا يقبل إلا الأرقام اللاتينية. والحل جملة واحدة: قل في القاعدة إن الأرقام لاتينية. وقد وضعنا ذلك في الوصفة أدناه.

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

المطالبة النظامية: قواعد لا تكررها في كل مرة

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

ما مكانه هناك: من أنت ولمن تكتب، والقيود التي لا تتغير، وأعراف المخرج مثل أنك لا تريد قائمة نقطية أبدا. وما لا مكان له هناك: تفاصيل مهمة بعينها، وكل ما يتغير مع كل طلب، وبداهة لا كلمات مرور ولا مفاتيح.

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

أين لا تضع هذه التقنيات

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

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

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

أين نضيف تقنية وأين نتوقف

العمود الثاني أهم. فأغلب المطالبات المفرطة في التعقيد وجدت لأن أحدا لم يقرأه.

ورقة قرار المطالبةقبل صعود السلم

أضف تقنية

  • العمل نفسه سيتكرر عشرات المرات
  • لديك قرارات حدية يصعب كتابتها
  • المخرج يجب أن يدخل برنامجا أو جدولا
  • لديك قواعد ثابتة تعيد كتابتها كل مرة

توقف هنا

  • العمل لمرة واحدة
  • المشكلة نقص المعلومة لا شكل المطالبة
  • يقرأ المخرج إنسان لا برنامج
  • لا تملك طريقة لفحص صحة النتيجة

لا شيء من هذا قانون صارم. وإن كانت حالتك تقع في العمودين، فخذ الأبسط.

المسار السريع مع الذكاء الاصطناعي

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

  1. اكتب شكل المخرج مرة واحدة مملوءا بدل أن تصفه. سجل نموذجي بكل المفاتيح، حتى المفاتيح الفارغة في ذلك النموذج.
  2. اطلب الشكل نفسه لكل مدخلاتك وقل صراحة ألا يكتب شيئا آخر. وهذه الجولة عمل آلي ويكفي فيها نموذج سريع رخيص عادة.
  3. اقرأ المخرج بفحص آلي، ولو كان الفحص مجرد json.loads. فما لا تستطيع فحصه آليا ليس مهيكلا عمليا.
  4. أعد قائمة الأخطاء بمعرفات السجلات واطلب تلك السجلات وحدها من جديد. وجولة إصلاح واحدة تكفي عادة؛ فإن أخطأت الجولة الثانية أيضا فالعيب في الشكل الذي طلبته لا في النموذج.
  5. الخطوة الأخيرة لك. فالفحص الآلي يؤكد الشكل لا الصحة؛ اقرأ بنفسك عينة عشوائية من السجلات.

وصفة جاهزة للنسخ

الجزء الأول، الاستخراج:

ابن من كل نص أدناه هذا السجل نفسه ولا تكتب شيئا آخر.

شكل السجل، بهذه المفاتيح وبهذا الترتيب بالضبط:
{"id": "m-001", "fia": "shakwa|mutabaa|talab|akhar", "ilhah": 2, "mulakhas": "جملة واحدة، خمس عشرة كلمة كحد أقصى", "hatif": null}

القواعد:
- «ilhah» رقم بين 1 و3 بالأرقام اللاتينية. لا تكتب أرقاما عربية هندية، لأن JSON لا يقبلها.
- 3 تعني أن العميل ينتظر جوابا اليوم.
- إن لم يكن في النص رقم هاتف، فاترك «hatif» بقيمة null ولا تخترع رقما.
- إن لم يقع النص في أي من الفئات الأربع، فضع «akhar» وقل السبب في «mulakhas».

المخرج: مصفوفة JSON فقط. بلا شرح، بلا كتلة شيفرة، بلا نص قبلها أو بعدها.

النصوص:
{كل نص في سطر، ومعرفه في أوله}


الجزء الثاني، الإصلاح (بعد تشغيل الفحص):

هذا كان مخرجك، وهذه الأخطاء التي التقطها المدقق:
{قائمة الأخطاء، كل واحد بمعرف السجل والسبب}

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

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

الذكاء الاصطناعي في هذا العمل

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

أدوات تساعد فعلا

  • Claude له وثائق منفصلة للدرجة الرابعة، ويقيد المخرج بمخطط معلن، وهذا غير طلب الشكل داخل المطالبة. وإيران ليست في أي من قائمتي الدول المدعومة لدى أنثروبيك؛ قرأنا ذلك في صفحة أنثروبيك نفسها.
  • Gemini له أيضا وضع مخرج مهيكل موثق، ودليل المطالبات عنده أصرح الثلاثة. وصفحة غوغل نفسها تقول إن تطبيق جيميناي على الويب يعمل في أكثر من مئتين وثلاثين دولة ومنطقة، وإيران ليست في تلك القائمة.
  • ChatGPT الخيار الأشيع، ودليل نماذجه الاستدلالية هو مصدر ادعاءين في هذا الدرس عن سلسلة التفكير والأمثلة. ولا ندعي شيئا عن الوصول من إيران: فالنطاق الرئيسي لأوبن إيه آي يرد على هذا الخادم بخطأ وصول.

اين ينقلب ضدك

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

المصادر: OWASP: LLM01 prompt injection Anthropic: structured outputs Anthropic: system prompts Google: structured output with Gemini

حدود هذه النصيحة

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

من عملنا نحن

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

اسئلة متابعة حقيقية

كم مثالا يكفي في المطالبة بأمثلة؟

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

ما الفرق بين المطالبة النظامية وكتابة الجملة نفسها في أول الرسالة؟

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

هل ما زال علي أن أكتب «فكر خطوة بخطوة»؟

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