← أحدث الأبحاث
💬 NLP

DuET: Dual Execution for Test Output Prediction with Generated Code and Pseudocode

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

المؤلفون الأصليون: Hojae Han, Jaejin Kim, Seung-won Hwang, Yu Jin Kim, Moontae Lee

نُشر 2026-04-14
📖 5 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Hojae Han, Jaejin Kim, Seung-won Hwang, Yu Jin Kim, Moontae Lee

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

إليك شرح لورقة بحث DUET، مترجم إلى لغة يومية مع بعض التشبيهات الإبداعية.

المشكلة الكبرى: معضلة "ثق ولكن تحقق"

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

للتحقق مما إذا كان الكود الخاص بهم يعمل، تحتاج إلى معرفة ما يجب أن تكون عليه الإجابة الصحيحة لاختبار معين. يُسمى هذا "التنبؤ بمخرجات الاختبار" (Test Output Prediction).

تقليديًا، كانت هناك طريقتان لمعرفة هذه الإجابة، وكلتاهما تمتلك عيبًا قاتلًا:

  1. طريقة "التشغيل المباشر" (Direct Execution):

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

    • كيف تعمل: بدلاً من تشغيل الكود، تطلب من الذكاء الاصطناعي أن "يتظاهر" بتشغيل الكود في ذهنه ويخبرك بالنتيجة.
    • العيب: نماذج الذكاء الاصطناعي بارعة في المنطق ولكنها سيئة في الحسابات الطويلة والمفصلة. إذا كان الكود يحتوي على حلقة تكرارية معقدة (مثل العد حتى 1,000)، فقد يفقد الذكاء الاصطناዊ المسار، أو ينسى خطوة، أو "يهلوس" برقم يبدو صحيحًا ولكنه خاطئ. الأمر يشبه طلب إجراء قسمة مطولة من إنسان في ذهنه دون كتابة أي شيء؛ قد ينجح في الخطوات الأولى ولكنه قد يخطئ في النهاية.

الحل: DUET (نظام "التحقق المزدوج")

أدرك مؤلفو هذه الورقة، DUET (التنفيذ المزدوج للتنبؤ بمخرجات الاختبار)، أن الاعتماد على طريقة واحدة فقط هو أمر محفوف بالمخاطر. لذا، قاموا ببناء نظام يستخدم كلتا الطريقتين في نفس الوقت ويجعلهما يصوتان على الإجابة النهائية.

فكر في DUET كأنه فريق مراقبة جودة مكون من شخصين في مصنع:

1. "الروبوت" (تنفيذ الكود المباشر)

هذا العضو في الفريق يأخذ الكود المُولد ويقوم بتشغيله على آلة.

  • القوة الخارقة: إذا كُتب الكود بشكل صحيح، فالروبوت دقيق بنسبة 100%. لا يتعب ولا يرتبك بسبب الرياضيات.
  • نقطة الضعف: إذا كان هناك خطأ مطبعي في الكود، سيتوقف الروبوت عن العمل فورًا.

2. "الخبير البشري" (تنفيذ الكود الوصفي - Pseudocode - القائم على LLM)

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

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

كيف يعملان معًا (نظام التصويت)

لا يكتفي DUET باختيار مسار واحد؛ بل يشغل كلا المسارين في آن واحد.

  • السيناريو أ: الكود يحتوي على خطأ مطبعي.

    • الروبوت يتعطل ويقول "خطأ!".
    • الخبير البشري يتجاهل الخطأ المطبعي، يقرأ المنطق، ويقول "الإجابة هي 42".
    • النتيجة: يثق DUET في الخبير البشري.
  • السيناريو ب: المنطق معقد للغاية (100 خطوة).

    • الخبير البشري يضيع في الحسابات ويخمن "43" (هلوسة).
    • الروبوت يشغل الكود بشكل مثالي ويقول "42".
    • النتيجة: يثق DUET في الروبوت.
  • السيناريو ج: كلاهما متفقان.

    • كلاهما يقول "42".
    • النتيجة: DUET واثق بنسبة 100%.

لماذا هذا مهم (مشكلة "عدم وجود ميزة" - Zero-Advantage Problem)

اكتشفت الورقة أيضًا مشكلة خفية في كيفية اختبارنا لأكواد الذكاء الاصطناعي عادةً.

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

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

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

النتائج

عندما اختبروا DUET على معيار ضخم يسمى LiveCodeBench:

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

الخلاصة

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

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

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

جرّب Digest →