$User->is_logged_in:  bool(false)
$User->user_info:  NULL
$User->check_post:  object(stdClass)#6905 (14) {
  ["is_valid"]=>
  int(1)
  ["global_remaining_posts_to_view"]=>
  int(0)
  ["remaining_posts_to_view"]=>
  int(0)
  ["number_all_post"]=>
  int(0)
  ["number_post_read"]=>
  int(0)
  ["exceeded_daily_limit"]=>
  int(0)
  ["is_watched_before"]=>
  int(0)
  ["sso_id"]=>
  int(48473)
  ["user_agent"]=>
  string(40) "CCBot/2.0 (https://commoncrawl.org/faq/)"
  ["user_ip"]=>
  string(14) "44.222.218.145"
  ["user_header"]=>
  object(stdClass)#7068 (42) {
    ["SERVER_SOFTWARE"]=>
    string(22) "Apache/2.4.57 (Debian)"
    ["REQUEST_URI"]=>
    string(192) "/%D9%85%D8%B3%D8%A7%D8%B9%D8%AF-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D9%83%D8%AA%D8%A7%D8%A8%D8%A9-%D8%A7%D9%84%D9%83%D9%88%D8%AF/"
    ["REDIRECT_HTTP_AUTHORIZATION"]=>
    NULL
    ["REDIRECT_STATUS"]=>
    string(3) "200"
    ["HTTP_AUTHORIZATION"]=>
    NULL
    ["HTTP_X_FORWARDED_PROTO"]=>
    string(5) "https"
    ["HTTP_CONNECTION"]=>
    string(7) "upgrade"
    ["HTTP_HOST"]=>
    string(19) "technologyreview.ae"
    ["HTTP_CDN_LOOP"]=>
    string(10) "cloudflare"
    ["HTTP_CF_IPCOUNTRY"]=>
    string(2) "US"
    ["HTTP_ACCEPT_ENCODING"]=>
    string(4) "gzip"
    ["HTTP_CF_RAY"]=>
    string(20) "85f65dea1dee0637-IAD"
    ["HTTP_CF_VISITOR"]=>
    string(22) "{\"scheme\":\"https\"}"
    ["HTTP_USER_AGENT"]=>
    string(40) "CCBot/2.0 (https://commoncrawl.org/faq/)"
    ["HTTP_ACCEPT"]=>
    string(63) "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
    ["HTTP_ACCEPT_LANGUAGE"]=>
    string(14) "en-US,en;q=0.5"
    ["HTTP_CF_CONNECTING_IP"]=>
    string(14) "44.222.218.145"
    ["PATH"]=>
    string(60) "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    ["SERVER_SIGNATURE"]=>
    string(79) "
Apache/2.4.57 (Debian) Server at technologyreview.ae Port 80
" ["SERVER_NAME"]=> string(19) "technologyreview.ae" ["SERVER_ADDR"]=> string(11) "172.18.0.23" ["SERVER_PORT"]=> string(2) "80" ["REMOTE_ADDR"]=> string(14) "44.222.218.145" ["DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["REQUEST_SCHEME"]=> string(4) "http" ["CONTEXT_PREFIX"]=> NULL ["CONTEXT_DOCUMENT_ROOT"]=> string(13) "/var/www/html" ["SERVER_ADMIN"]=> string(19) "webmaster@localhost" ["SCRIPT_FILENAME"]=> string(23) "/var/www/html/index.php" ["REMOTE_PORT"]=> string(5) "52514" ["REDIRECT_URL"]=> string(68) "/مساعد-الذكاء-الاصطناعي-وكتابة-الكود/" ["GATEWAY_INTERFACE"]=> string(7) "CGI/1.1" ["SERVER_PROTOCOL"]=> string(8) "HTTP/1.1" ["REQUEST_METHOD"]=> string(3) "GET" ["QUERY_STRING"]=> NULL ["SCRIPT_NAME"]=> string(10) "/index.php" ["PHP_SELF"]=> string(10) "/index.php" ["REQUEST_TIME_FLOAT"]=> float(1709602500.410988) ["REQUEST_TIME"]=> int(1709602500) ["argv"]=> array(0) { } ["argc"]=> int(0) ["HTTPS"]=> string(2) "on" } ["content_user_category"]=> string(4) "paid" ["content_cookies"]=> object(stdClass)#7076 (3) { ["status"]=> int(0) ["sso"]=> object(stdClass)#7077 (2) { ["content_id"]=> int(48473) ["client_id"]=> string(36) "1d1883f4-87d0-4156-8903-e6ceb0cb4224" } ["count_read"]=> NULL } ["is_agent_bot"]=> int(1) }
$User->gift_id:  NULL

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

13 دقيقة
كيف غيّرت مساعِدات الذكاء الاصطناعي كتابة النصوص البرمجية؟
حقوق الصورة: shutterstock.com/Owlie Productions
استمع الى المقالة الآن هذه الخدمة تجريبية
Play Audio Pause Audio

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

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

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

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

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

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

اقرأ أيضاً: لماذا لم يصمد أحدث النماذج اللغوية الكبيرة من ميتا على الإنترنت أكثر من 3 أيام؟

وعلى غرار أثر تشات جي بي تي (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% من اقتراحات الأداة، وذلك وفقاً لبيانات مستخدمي غيت هاب.

اقرأ أيضاً: كيف تستخدم نموذج الذكاء الاصطناعي لاما 2 من ميتا؟

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

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

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

اقرأ أيضاً: أداة ذكاء اصطناعي جديدة لحماية النماذج اللغوية الكبيرة من الأوامر الضارة

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

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

اقرأ أيضاً: أداة ذكاء اصطناعي جديدة لحماية النماذج اللغوية الكبيرة من الأوامر الضارة

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

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

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

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

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

اقرأ أيضاً: تعرّف إلى كوبايلوت: أداة الذكاء الاصطناعي الجديدة المدمجة في ويندوز 11

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

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

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

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

اقرأ أيضاً: ما هي نقاط قوة نموذج أمازون اللغوي الجديد أوليمبوس وهل سيتفوق على تشات جي بي تي؟

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

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

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

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

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

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

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

اقرأ أيضاً: أفضل بوتات الدردشة لكتابة التعليمات البرمجية

العمل الذي يجب تنفيذه

تكمن المشكلة الكبيرة في تقييم الأثر الحقيقي لهذه الأدوات في كون معظم البيانات لا تزال غير مؤكدة. فقد بينت دراسة غيت هاب أن المبرمجين قبلوا 30% من الاقتراحات (يقول دومكي إن “نسبة 30% خيالية في أي سيناريو ضمن هذا المجال”)، لكنها لا توضّح الأسباب التي دعت المبرمجين إلى قبول هذه الاقتراحات ورفض غيرها.

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

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

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

اقرأ أيضاً: كيف تؤثر التحيزات السياسية في أداء بوتات الدردشة؟

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

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

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

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

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

اقرأ أيضاً: كيف يمكن للصيانة التنبؤية المدعومة بالتعلم الآلي أن تفيد قطاع تجارة التجزئة؟

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

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

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

Content is protected !!