code_transformed: The Influence of Large Language Models on Code
تقدم هذه الورقة دراسة تجريبية رائدة واسعة النطاق تحلل أكثر من 20,000 مستودع من مستودعات GitHub لتثبت أن النماذج اللغوية الكبيرة تُحدث تحولاً ملموساً في أساليب البرمجة في العالم الحقيقي، وهو ما يتضح من خلال اتجاهات مثل زيادة الالتزام باتفاقيات تسمية snake_case والتحولات في تعقيد الكود وقابلية الصيانة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل عالم برمجة الحاسوب كأنه مكتبة ضخمة وصاخبة، حيث يكتب الملايين من الناس كتباً (أكواداً برمجية) كل يوم. لعقود من الزمن، كانت لهذه الكتب أساليب خط يد فريدة خاصة بها: بعض المؤلفين استخدموا أسماء مستعارة قصيرة وغامضة لشخصياتهم، بينما كتب آخرون فقرات طويلة وواصفة.
هذه الورقة البحثية تشبه قصة بوليسية تسأل: "هل أدى وصول أمين مكتبة فائق الذكاء (نماذج اللغات الكبيرة، أو LLMs) إلى تغيير طريقة كتابة البشر لهذه الكتب؟"
لم يكتفِ الباحثون بسؤال الناس عما إذا كانوا يستخدمون الذكاء الاصطناعي؛ بل ذهبوا إلى المكتبة، وتفحصوا أكثر من 20,000 مستودع برمجيات حقيقي (تلك "الكتب")، وقارنوها بالأكواد التي كتبها البشر قبل انتشار الذكاء الاصطناعي بالأكواد التي يولدها الذكاء الاصطناعي اليوم.
إليكم ما وجدوه، مقسماً إلى مفاهيم بسيطة:
1. تغير "خط اليد" (أنماط التسمية)
فكر في أسماء المتغيرات (مثل ml أو max_length) كأنها الأسماء التي يطلقها المؤلفون على شخصياتهم.
- الطريقة القديمة: غالباً ما استخدم البشر أسماء قصيرة وسريعة مثل
ml(اختصار لـ "max length") أوmlt. كانت هذه الطريقة فعالة لكنها صعبة القراءة أحياناً. - طريقة الذكاء الاصطناعي: تحب نماذج الذكاء الاصطناعي أن تكون وصفية للغاية. فهي تفضل أسماء مثل
max_lengthوcurrent_length. كما أنها تحب أسلوباً محدداً يسمى "snake_case" (استخدام الشرطات السفلية مثلsnake_caseبدلاً منcamelCase). - الاكتشاف: وجد الباحثون أن الأكواد التي يكتبها البشر في السنوات الأخيرة بدأت تبدو أكثر شبهاً بخط يد الذكاء الاصطناعي. فقد ارتفع استخدام الأسماء الطويلة والوصفية مع الشرطات السفلية بشكل ملحوست. وكأن البشر بدأوا، دون وعي منهم، يكتبون بأسلوب أمين المكتبة الذكي الذي يستعيرون منه.
2. "تعقيد" القصة (جودة الكود)
نظر الباحثون أيضاً في مدى "التواء" القصص. في البرمجة، "الالتواء" هو نقطة اتخاذ قرار (مثل جملة "إذا" (if): "إذا أمطرت، خذ مظلة").
- النتيجة: عندما يعيد الذكاء الاصطناعي كتابة الكود، غالباً ما تصبح القصص أقل "التواءً" (تعقيداً أقل) وأسهل في الصيانة.
- العقبة: لم يكن هذا حلاً سحرياً. ففي بعض اللغات (مثل بايثون)، جعل الذكاء الاصطناعي القصص في الواقع أكثر تعقيداً مما قد يفعل البشر. ولكن في لغات أخرى (مثل C/C++)، جعلها أكثر نظافة وترتيباً.
- الاتجاه: ومن المثير للاهتمام أن الأكواد في المكتبة الحقيقية (GitHub) بدأت أيضاً تبدو أكثر نظافة وسهولة في الصيانة منذ عام 2023، محاكيةً أسلوب الذكاء الاصطناعي.
3. تأثير "النسخ واللصق" (التشابه)
اختبر الفريق سيناريوهين:
- التوليد المباشر: طلب من الذكاء الاصطناعي: "اكتب قصة عن X من البداية".
- التوجيه بالمرجع: عرض قصة بشرية على الذكنا الاصطناعي وقول: "اقرأ هذه، ثم أعد كتابتها لتكون أفضل".
النتيجة: عندما أُعطي الذكاء الاصطناعي قصة بشرية ليعيد كتابتها، حافظ على "صوت" الإنسان وأسلوبه بدقة شديدة. ولكن عندما طُلب منه الكتابة من البداة، بدت قصة الذكاء الاصطناعي مختلفة تماماً عن الطريقة التي يكتب بها البشر عادةً. وهذا يشير إلى أن الذكاء الاصطناعي بارع في صقل العمل البشري، لكن "أسلوبه الأصلي" متميز جداً عن أسلوبنا.
4. "عملية التفكير" (الاستنتاج)
أخيراً، ألقى الباحثون نظرة داخل "دماغ" الذكاء الاصطناعي ليروا كيف يحل المشكلات. تحققوا مما إذا كان الذكاء الاصطناعي يستخدم بالفعل الخطوات المنطقية الصحيحة (الخوارزميات) لحل اللغز.
- النتيجة: غالباً ما يخمن الذكاء الاصطناعي الخطوات المنطقية الخاطئة. فهو يحاول استخدام طريقة "القوة الغاشمة" (تجربة كل الأبواب الممكنة) في حين أن هناك حاجة إلى "مفتاح ذكي" (خوارزمية محددة).
- اختلاف اللغات: بدا أن الذكاء الاصطناعي يفكر كحلّال للألغاز المنطقية عند الكتابة بلغة C/C++، ولكنه يفكر كمبرمج عملي عند الكتابة بلغة بايثون.
- عامل الصعوبة: بدا أن الذكاء الاصطناعي "يستيقظ" فقط ويستخدم أفضل مهارات الاستنتاج لديه عندما تكون المشكلات صعبة جداً. أما بالنسبة للمشكلات السهلة، فغالباً ما كان يكتفي بالتخمين.
الصورة الكبيرة
تخلص الورقة البحثية إلى أننا نشهد تحولاً ثقافياً في البرمجة. الأمر لا يقتدي فقط بأن الذكاء الاصطناعي يكتب الكود؛ بل إن الذكاء الاصطناعي يعيد تشكيل طريقة كتابة البشر للكود بشكل غير مباشر. تماماً كما يمكن لصيحة موضة جديدة أن تغير طريقة لباس الجميع، فإن وجود الذكاء الاصطناعي يدفع المبرمجين البشر نحو أسلوب أكثر وصفية، ومعيارية، و"صداقة للذكاء الاصطناعي".
ويحذر الباحثون من أنه بينما قد يجعل هذا الكود أسهل في القراءة، إلا أنه يعني أيضاً أن "البصمة البشرية" الفريدة في البرمجة بدأت تندمج مع أسلوب الآلة، وعلينا أن نكون مدركين لهذا التحول.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.