تكنولوجيا

مساعِدات الذكاء الاصطناعي في كتابة النصوص البرمجية

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

كان غيفت، وهو مطور برمجيات يتمتع بخبرة 25 سنة، قد تعلم راست مؤخراً بنفسه، لكنه كان واثقاً من قدرة طلابه على التكيُّف مع هذا التغيير المفاجئ، وكانت ثقته نابعة من أن كل فرد من طلابه سيحصل أيضاً على مساعد خاص جديد، وهذا المساعد هو أداة ذكاء اصطناعي تحمل اسم كوبايلوت (Copilot)، وهي أشبه بأداة إكمال تلقائي عالية القدرة ومخصصة للرموز البرمجية الحاسوبية، ومبنية على أساس أحدث النماذج اللغوية الكبيرة من أوبن أيه آي (OpenAI)، جي بي تي 3.5 (GPT-3.5) وجي بي تي 4 (GPT-4).

تأثير بوتات الدردشة على البرمجة

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

يقول غيفت: “من المستحيل أن أتمكن من تعلم راست بهذه السرعة دون الاستعانة بكوبايلوت، لقد كانت أداة كوبايلوت، عملياً، أقرب إلى مساعد فائق الذكاء يجلس بجانبي للإجابة عن أسئلتي فيما أحاول تعلم هذه اللغة البرمجية، وقد كان من الواضح بالنسبة لي أننا يجب أن نبدأ استخدام هذه الأداة في قاعة التدريس”.

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

وعلى غرار أثر تشات جي بي تي (ChatGPT) على التعليم، بدأت أداة كوبايلوت تُحدِث تغييراً جذرياً في مجال تخصصي كامل بمنح الناس خيارات جديدة لتأدية مهام تقليدية، قدمت مايكروسوفت هذه الأداة على شكل برنامج مساعد ومدفوع الثمن ويُستخدم في إطار برنامجها فيجوال ستوديو (Visual Studio) (وهذا البرنامج أشبه بأداة معيارية في مجال البرمجة باستخدامات متعددة لكتابة الرموز البرمجية وتفحُص أخطائها وتطبيقها)، وتمثّل هذه الأداة أحدث نسخة من هذه التكنولوجيا.. غير أنها ليست الأداة الوحيدة المتاحة للمبرمجين؛ ففي أغسطس/آب، نشرت ميتا (Meta) نموذجاً مجانياً لتوليد الرموز البرمجية باسم كود لاما (Code Llama)، وهو مبني على أساس النموذج اللغوي لاما 2 (Llama 2) الذي يمثّل رد ميتا على جي بي تي 4، وفي الشهر ذاته، أطلقت ستابيليتي أيه آي (Stability AI) -الشركة التي صممت نموذج تحويل النصوص إلى صور، ستيبل ديفيوجن (Stable Diffusion)- نموذج ستيبل كود (StableCode).. وبطبيعة الحال، لدينا تشات جي بي تي، الذي قدمته أوبن أيه آي منذ البداية بوصفه بوت دردشة قادراً على كتابة الرموز البرمجية وتفحُص أخطائها.

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

ومع توجه مايكروسوفت وجوجل إلى إدماج نماذج توليدية مماثلة في برمجياتها المكتبية التي يستخدمها المليارات في أنحاء العالم كافة (بدأت مايكروسوفت تستخدم اسم كوبايلوت بوصفه علامة تجارية في حزمتها البرمجية أوفيس 365 [Office 365])، وأصبح من الواجب أن نتساءل عن الفوائد التي تقدمها هذه الأدوات للمبرمجين بالضبط.. كيف ستُحدِث هذه الأدوات تغييراً جذرياً في عمل ظهر منذ عدة عقود؟ وهل ستساعد المبرمجين على رفع مستوى إنتاجيتهم للبرامج ومستوى جودتها أمْ أنها ستتحول إلى محط للنزاعات القانونية حول الملكية الفكرية وحقوق التأليف والنشر؟

إنتاج الرموز البرمجية

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

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

تتمثل الفكرة الرئيسية لبرنامج كوبايلوت وغيره من البرامج المماثلة، التي تُسمَّى “المساعِدات” في بعض الأحيان، في وضع المعلومات التي يحتاج إليها المبرمجون إلى جانب الرموز البرمجية التي يكتبونها.. تعمل أداة كوبايلوت على تتبع الرموز البرمجية والتعليقات (أي التوصيفات والملاحظات المكتوبة بلغة طبيعية) في الملف الذي يعمل المبرمج عليه، إضافة إلى ملفات أخرى تتصل به أو خضعت للتعديل في إطار المشروع نفسه، وترسل هذه النصوص كلها إلى النموذج اللغوي الكبير الذي تعتمد عليه كوبايلوت لاستخدامها بوصفها أوامر نصية للنموذج.. (الجدير بالذكر أن غيت هاب شاركت في تطوير نموذج كوبايلوت، الذي يحمل اسم كوديكس (Codex)، مع أوبن أيه آي؛ وهو نموذج لغوي كبير خضع لمعايرة دقيقة للتعامل مع الرموز البرمجية على وجه الخصوص)؛ بعد ذلك، تعمل أداة كوبايلوت على التنبؤ بما يسعى المبرمج إلى تحقيقه، وتقترح الرموز البرمجية اللازمة للوصول إلى هذا الهدف.

تحدث هذه العملية التبادلية بين الرموز البرمجية وكوديكس عدة مرات في الثانية، حيث تُحَدّث الأوامر النصية على التوازي مع كتابة المبرمج للرموز البرمجية.. وفي أي لحظة، يستطيع المبرمج قبول اقتراحات كوبايلوت بالضغط على المفتاح “Tab”، أو تجاهلها ومواصلة الكتابة.

وعلى ما يبدو، يتعرض المفتاح “Tab” للضغط مرات كثيرة؛ فقد أجرت شركة الاستشارة كيستون ستراتيجي (Keystone Strategy) دراسة شملت ما يقارب مليوناً من مستخدمي كوبايلوت، وذلك في شهر يونيو/حزيران، أي بعد سنة من إطلاق الأداة للعامة، وتبين في هذه الدراسة أن المبرمجين يقبلون ما يقارب 30% من اقتراحات الأداة، وذلك وفقاً لبيانات مستخدمي غيت هاب.

يقول دوكمي: “بلغ مقدار اقتراحات كوبايلوت التي وافق عليها المطورون في السنة الماضية أكثر من مليار سطر من الرموز البرمجية.. لقد بدأت الحواسيب في كل مكان تنفذ رموزاً برمجية ولّدها برنامج عشوائي أشبه بالببغاء”.

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

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

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

أما دومكي فهو يشعر بالحماسة، وهو واثق بأن الإيجابيات تفوق السلبيات، ويقول: “سنعدّل عملنا وفق أي توجيهات يصدرها المشرعون في الولايات المتحدة أو المملكة المتحدة أو الاتحاد الأوروبي؛ لكننا يجب أن نحقق التوازن بين حماية الحقوق- وحماية الخصوصية أيضاً- من جهة، والتقدم الذي يجب أن تحققه البشرية من جهة أخرى”؛ هذه هي الكلمات التي نتوقع سماعها من رئيس تنفيذي يعرب عن استعداده لمواجهة أي مشكلات في المستقبل، لكن هذه المسألة جديدة وغير مسبوقة؛ فإذا تجاهلنا العوامل الأخرى كافة، سنجد أن غيت هاب تقود تجربة جريئة يمكن أن تمهّد الطريق أمام نطاقٍ أوسع من المساعِدات الاحترافية التي تعتمد على الذكاء الاصطناعي.

أداة تهمس بالرموز البرمجية

بدأت غيت هاب تعمل على كوبايلوت في يونيو/حزيران عام 2020م، بعد إطلاق أوبن أيه آي نموذج جي بي تي 3 بفترة قصيرة؛ لطالما كان المبرمجون يحاولون العثور على أساليب لاختصار العمل وطرق لتسريعه؛ يقول دوكمي: “تمثّل طريقة التفكير هذه جزءاً من الحمض النووي للمطور البرمجي، لقد أردنا حل مشكلة الرموز البرمجية المتداولة: هل يمكننا توليد رموز برمجية تتسبب كتابتها بالملل وتستغرق وقتاً طويلاً؟”

ظهرت أول دلالة تشير إلى أن الشركة تسير في الاتجاه الصحيح عندما طُلِب من مبرمجيها تقديم اختبارات برمجية يمكن أن يستخدموها في مقابلة توظيف: “إليك هذه الكتلة من الرموز البرمجية، أكملها حتى النهاية”.. لقمت غيت هاب هذه الاختبارات لنسخة أولية من الأداة، وطلبت منها حل كل اختبار 150 مرة؛ وقد وجدت الشركة بعد هذه المحاولات كلها أن الأداة تمكنت من حل 92% منها؛ أجرت الشركة تجربة أخرى باستخدام 50,000 مسألة مأخوذة من منصة غيت هاب على الإنترنت، وتمكنت الأداة من حل أكثر من نصفها بقليل وحسب؛ يقول دوكمي: “منحتنا هذه النتائج الثقة في قدرتنا على بناء هذا المشروع الذي تحوّل إلى كوبايلوت في نهاية المطاف”.

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

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

يقول أحد مؤسسي كيستون ستراتيجي والأستاذ في كلية هارفارد للأعمال، ماركو آيانسيتي، الذي يدرس التحول الرقمي: “بالنسبة لي، يمكن تشبيه هذه الأداة بمطور برمجي خبير يجلس إلى جانبك ويهمس في أذنك بالتوصيات والاقتراحات.. لقد كان المبرمج مضطراً إلى البحث عن المعلومات بنفسه، أمّا الآن، فقد أصبحت الاقتراحات مجرد عملية آلية”.

غير أن غوتشليك، الذي كان يعمل على تصميم نظام آلي لتوليد الرموز البرمجية على مدى سنوات عدة، فهو لا يجد هذا العمل مثيراً للإعجاب إلى هذه الدرجة.. ويقول: “بصراحة، أعتقد أن المساعِدات البرمجية غير مثيرة للاهتمام عند النظر إلى المشهد العام للبرمجة”، مشيراً إلى الموجة الجديدة من الأدوات المبنية على النماذج اللغوية الكبيرة، مثل كوبايلوت.. ويُضيف قائلاً: “فهي محدودة، على نحو أساسي، بقدرات المبرمجين البشر، وفي هذه المرحلة، لن تتمكن هذه المساعِدات على الأرجح من تحقيق إنجاز عجيب يتجاوز قدرات المبرمجين البشر”.

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

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

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى