← أحدث الأبحاث
🤖 AI

Strategies for Guiding LLMs to Use Software Design Patterns: A Case of Singleton

تقيم هذه الورقة أربع استراتيجيات للتلقين عبر 13 نموذجاً من النماذج اللغوية الكبيرة في 164 تحدياً بلغة جافا لتحديد أفضل طريقة لتوجيهها في تنفيذ نمط التصميم "Singleton"، حيث وجدت أن التغذية الراجعة الثنائية التكرارية هي المثلى بشكل عام، بينما يمكن للنهج القائم على التعليمات المحددة أن يحقق التزاماً شبه مثالي بالنمط ويحسن وظائف الكود بشكل كبير اعتماداً على النموذج.

المؤلفون الأصليون: Viktor Kjellberg, Farnaz Fotrousi, Miroslaw Staron

نُشر 2026-05-27
📖 4 دقيقة قراءة☕ قراءة في استراحة قهوة

المؤلفون الأصليون: Viktor Kjellberg, Farnaz Fotrousi, Miroslaw Staron

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

تخيل أن لديك فريقاً من الطهاة المبتدئين الموهوبين للغاية ولكنهم فوضويون بعض الشيء (هؤلاء هم النماذج اللغوية الكبيرة، أو LLMs). إنهم بارعون في اتباع الوصفات لطهي وجبة لذيذة (كتابة كود برمجي وظيفي). ومع ذلك، فإنهم غالباً ما ينسون "قواعد المطبخ" فيما يتعلق بكيفية تنظيم المطبخ نفسه. قد يطبخون شريحة لحم رائعة، لكنهم قد يتركون الموقد مشتعلاً، أو يستخدمون ثلاثة أوانٍ مختلفة لطبق واحد، أو ينسون إغلاق الباب الخلفي.

في عالم البرمجيات، تسمى هذه "قواعد المطبخ" بـ أنماط التصميم (Design Patterns). أحد هذه الأنماط يسمى نمط الـ Singleton. فكر في نمط الـ Singleton كقاعدة تقول: "يوجد مفتاح رئيسي واحد فقط للمبنى، وعلى الجميع الحصول على نسختهم من هذا المفتاح الوحيد". إنه يضمن أن جزءاً معيناً من البرنامج (مثل محرك سيارة أو اتصال بقاعدة بيانات) يتم إنشاؤه مرة واحدة فقط ويتم مشاركته مع الجميع، بدلاً من صنع عشرة محركات مختلفة لسيارة واحدة.

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

التجربة: تعليم الطهاة القواعد

أراد الباحثون إيجاد أفضل طريقة لتعليم هؤلاء الطهاة الآليين اتباع قاعدة "المفتاح الرئيسي الواحد" دون إفساد الوجبة التي يطبخونها. لقد اختبروا 13 نموذجاً مختلفاً للذكاء الاصطائي (من "عائلات" مختلفة مثل GPT و Llama و Qwen) باستخدام 164 تحدياً مختلفاً للطهي (مهام برمجية).

لقد جربوا أربع استراتيجيات تعليمية مختلفة:

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

    • النتيجة: بعض الطهاة فهموا الأمر فوراً وأدوا عملاً مثالياً. آخرون ارتبكوا وبدأوا في ارتكاب أخطاء في عملية الطهي الفعلية (توقف الكود عن العمل). اعتمد الأمر تماماً على أي طاهٍ تسأل.
  2. حلقة التغذية الراجعة "نعم/لا": قام الطاهي بالطهي، وقام مفتش آلي بفحص المطبخ. إذا لم يستخدم الطاهي قاعدة المفتاح الرئيسي الواحد، كان الروبوت يقول فقط: "لا، حاول مرة أخرى". وكان على الطاهي التخمين لمعرفة الخطأ والمحاولة مجدداً.

    • النتيجة: ساعد هذا كثيراً. تعلم الطهاة من أخطائهم وفي النهاية طبقوا القاعدة بشكل صحيح. بالنسبة لبعضهم، جعل هذا الوجبة "أفضل مذاقاً" (عمل الكود بشكل أكثر موثوقية).
  3. حلقة التغذية الراجعة "التقرير التفصيلي": كان هذا يشبه إعطاء المفتش الآلي قائمة مراجعة محددة. بدلاً من قول "لا"، كان يقول: "لقد نسيت القفل الخاص بالباب"، أو "لم تضع المفتاح في الردهة الرئيسية".

    • النتيجة: كانت هذه هي الطريقة الأكثر نفعاً لمعظم الطهاة. من خلال معرفة ما كان مفقوداً بالضبط، استطاعوا إصلاح الأمر بدقة. حققت هذه الاستراتيجية أعلى عدد من الطهاة الذين اتبعوا القاعدة بشكل مثالي.
  4. طريقة "العرض والشرح" (Few-Shot): عرض الباحثون على الطاهي مثالين لمطابخ مثالية تستخدم قاعدة المفتاح الرئيسي الواحد، ثم طلبوا منه المحاولة مرة أخرى.

    • النتيجة: كانت النتائج مختلطة. بعض الطهاة أحبوا الأمثلة وأدوا عملاً رائعاً. آخرون ارتبكوا بسبب الأمثلة وأدى أداؤهم إلى تراجع مقارنة بما كانوا عليه من قبل.

النتائج الرئيسية الكبرى

خلصت الورقة البحثية إلى ثلاث نقاط رئيسية، مترجمة إلى تشبيه المطبخ الخاص بنا:

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

الخلاصة

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

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

غارق في أبحاث مجالك؟

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

جرّب Digest →