← أحدث الأبحاث
💻 computer science

Co-Located Tests, Better AI Code: How Test Syntax Structure Affects Foundation Model Code Generation

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

المؤلفون الأصليون: Éric Jacopin

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

المؤلفون الأصليون: Éric Jacopin

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

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

هذه الورقة البحثية تطرح سؤالاً بسيطاً: هل يهم أين تضع قائمة المراجعة تلك؟

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

إليك التفاصيل باستخدام تشبيهات من الحياة اليومية:

1. الطريقتان لكتابة قائمة المراجعة

قارنت الدراسة بين طريقتين رئيسيتين لتنظيم هذه الاختبارات:

  • طريقة "التضمين" (الملاحظة اللاصقة): تكتب الاختبار بجانب التعليمات المحددة التي يفحصها مباشرة، مثل ملاحظة لاصقة ملصقة مباشرة على فقرة ذات صلة في دليل الاستخدام. في لغة البرمجة، هذا يشبه اختبارات "doctests" في لغة بايثون (Python)، حيث يعيش الاختبار داخل وصف الدالة.
  • الطريقة "المنفصلة" (الملحق): تكتب الكود أولاً، ثم تضع جميع الاختبارات في قسم منفصل في نهاية المستند تماماً، أو في ملف مختلف تماماً. في لغات البرمجة، هذا يشبه كتل #[test] في لغة رست (Rust)، والتي تقع في "وحدة اختبار" منفصلة في أسفل الملف.

2. الاكتشاف الكبير: القرب هو الأهم

وجد الباحثون أن طريقة "التضمين" (الملاحظات اللاصقة) تفوز في كل مرة.

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

3. مشكلة "شخصية الروبوت"

أحد أكثر النتائج إثارة للاهتمام هو أن نماذج الذكاء الاصطنا المختلفة تتصرف كأشخاص مختلفين ذوي عادات مختلفة.

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

التحول المفاجئ: راقب الباحثون هذه الروبوتات وهي تتطور. أحد النماذج (Opus 4.6) غير رأيه فجأة وبدأ في الاحتفاظ بالاختبارات المنفصلة، بينما لم تفعل أخواته الأقدم منه ذلك. وهذا يثبت أن سلوك الذكاء الاصطناعي ليس ثابتاً؛ بل يتغير مع التحديثات، لذا لا يمكنك افتراض أن "النموذج X جيد" للأبد.

4. لماذا يحدث هذا؟ (فحص الدماغ)

لم يكتفِ الباحثون بالتخمين؛ بل نظروا داخل "دماغ" الذكاء الاصطناعي (باستخدام تقنية تُسمى التفسير الآلي - mechanistic interpretability).

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

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

5. مفاجأة "درجة الحرارة" (Temperature)

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

الخلاصة: ماذا يجب أن تفعل؟

إذا كنت تستخدم الذكاء الاصطناعي لكتابة الكود، فإن الورقة البحثية تعطيك قاعدة تصميم واضحة:

ضع اختباراتك بجوار الكود الذي تختبره مباشرة.

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

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

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

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

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

جرّب Digest →