← أحدث الأبحاث
🤖 machine learning

Learning from 53.6K Real-World Developer Edits of AI-Generated Code

تقدم هذه الورقة DECODE، وهي مجموعة بيانات تضم 53,600 تعديل من واقع العمل داخل بيئات التطوير المتكاملة (IDE) لأكواد برمجية تم إنشاؤها بواسطة الذكاء الاصطناعي من أكثر من 1,000 مطور، والتي تكشف أن معظم التعديلات تحدث خلال 15 دقيقة من القبول وتثبت أن الضبط الدقيق للنماذج الأصغر على هذه البيانات يتفوق بشكل كبير على النماذج اللغوية الكبيرة الرائدة في التنبؤ بتعديلات الأكواد البرمجية.

المؤلفون الأصليون: Jenny T. Liang, Mihika Bairathi, Wayne Chi, Ameet Talwalkar, Nishant Subramani, Valerie Chen

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

المؤلفون الأصليون: Jenny T. Liang, Mihika Bairathi, Wayne Chi, Ameet Talwalkar, Nishant Subramani, Valerie Chen

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

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

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

المحقق البرمجي العظيم: DECODE

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

لقد جمعوا 53,600 من جلسات التعديل الواقعية هذه، ومعظمها بلغات بايثون (Python)، وتايب سكريبت (TypeScript)، وجافا سكريبت (JavaScript). الأمر يشبه امتلاك مكتبة تضم 53,600 قصة حول كيفية جدال البشر والروبوتات، وتفاوضهم، وتعاونهم لبناء البرمجيات.

ما وجدوه: قاعدة الـ 15 دقيقة و"سلة المهملات"

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

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

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

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

لاحظ الباحثون أيضاً ترتيباً محدداً لكيفية إصلاح الأشياء. إنه يشبه قائمة التحقق:

  1. فحص "هل هذا قابل للاستخدام أصلاً؟": أولاً، يقررون ما إذا كانوا يريدون الاحتفاظ بالكود على الإطلاق. إذا لم يكن كذلك، فيقومون بحذفه.
  2. مرحلة "إصلاح الأخطاء": بعد ذلك، يقومون بإصلاح أخطاء الصيغة (syntax errors) أو مشاهلات القراءة.
  3. مرحلة "جعله خاصاً بي": ثم يقومون بتغيير أسماء المتغيرات أو الأرقام لتناسب احتياجاتهم الخاصة.
  4. مرحلة "تغيير الخطة": أخيراً، إذا استمروا في العمل عليه، فقد يغيرون ما يفعله الكود بالفعل.

تعليم الروبوت قراءة الأفكار

كان الجزء الكبير الثاني من الورقة البحثية عبارة عن اختبار: هل يمكننا تعليم نموذج ذكاء اصطناعي أصغر ومفتوح المصدر التنبؤ بهذه التعديلات بشكل أفضل من النماذج الضخمة "الرائدة" (frontier models)؟

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

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

  • بالنسبة لتخمين كيف سيكون شكل الكود النهائي، تحسنت دقة النموذج الصغير بمقدار 0.17 (وهي قفزة هائلة في هذا المجال).
  • بالنسبة لتخمين ما إذا كان الكود سيتم تغييره أم لا، فقد تحسن أيضاً بمقدار 0.17.

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

الخلاصة: الأمر يتعلق بالإنسان، وليس فقط بالكود

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

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

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

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

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

جرّب Digest →