مسألة كم الذكاء الاصطناعي التوليدي يمكن أن تساعد المبرمجين في نقاش ساخن. ZDNET الخاص ديفيد جويرتز قد وجد من تجاربه المباشرة أن ChatGPT من OpenAI “يمكنه كتابة تعليمات برمجية جيدة جدًا.” في نفس الوقت، بعض الدراسات لقد وجدت نماذج لغوية كبيرة مثل جي بي تي-4 أقل بكثير من تلك الخاصة بالمبرمجين البشريين في المستوى العام لجودة التعليمات البرمجية.
أيضًا: يسعى الرئيس التنفيذي لشركة Pinecone إلى منح الذكاء الاصطناعي شيئًا مثل المعرفة
لكن الجدل الدائر حول ما إذا كان الذكاء الاصطناعي يقوم بدور المبرمج أم لا، ربما لا يكون ذا أهمية، كما يقول البعض. ويقولون إن جوهر المساعدة في البرمجة عبر الأتمتة يكمن في تغيير طبيعة وظيفة المبرمج.
قال إنبال شاني، كبير مسؤولي المنتجات في GitHub، موقع التطوير المملوك لشركة Microsoft: “إذا سألتني ما هو التغيير الكبير، فإن ما حدث في عالم الذكاء الاصطناعي التوليدي هو أننا أنشأنا طبقة تجريد أخرى فوق الذكاء الاصطناعي”. في مقابلة أجريت مؤخرا مع ZDNET.
تم استخدام طبقة التجريد هذه، أي اللغة الطبيعية، في البداية فقط لإكمال التعليمات البرمجية. وقالت: “هذه هي الطبقة الأساسية التي رأيناها”. يقول شاني إن قوة طبقة التجريد تكمن في قدرتها على التوسع لتشمل العديد من استخدامات الذكاء الاصطناعي بما يتجاوز إكمال التعليمات البرمجية.
أيضًا: كيفية استخدام ChatGPT لكتابة التعليمات البرمجية
قدمت GitHub نسختها من المساعدة البرمجية، GitHub Copilot، في يونيو من عام 2021. وقال شاني إن هذا العام كان “عامًا تحويليًا” للذكاء الاصطناعي في البرمجة. مثل الرئيس التنفيذي لشركة مايكروسوفت ساتيا ناديلا أعلن في أكتوبر، لدى GitHub أكثر من مليون عميل يدفعون باستخدام Copilot، وأكثر من 37000 مؤسسة تستخدمه.
واستشهد شاني بمستخدمي Copilot البارزين مثل Accenture، التي وضعت مئات المطورين على Copilot. “لقد رأوا أن هناك الكثير من الاستخدام لتقليل ما نسميه التعليمات البرمجية المعيارية، وهي التعليمات البرمجية المتكررة التي لا يحب المطورون كتابتها بالضرورة، ولكن يتعين عليهم ذلك لأنها جزء من أسسهم.”
قال شاني إن شركة Accenture احتفظت بنسبة 88.5% من التعليمات البرمجية التي كتبها Copilot. “وهذا يعني أن مساعد الطيار كان قادرًا على تقديم إجابات عالية الدقة – عالية الدقة لمطوريه الذين اختاروا الاحتفاظ بهذا الرمز ولا يحتاجون إلى إعادة كتابته.”
من خلال أحد مقاييس الإنتاجية، زاد عدد طلبات السحب المكتملة في الوقت المحدد، عندما يتم دمج التعليمات البرمجية الجديدة مع المصدر الرئيسي للمشروع، بنسبة 15% نتيجة لاستخدام Copilot في Accenture. علاوة على ذلك، “لقد رأوا أن المطورين أكثر ميلاً إلى متابعة عملية البناء”، وهي مهمة تحويل التعليمات البرمجية إلى ملف ثنائي قيد التشغيل.
أيضًا: لدى Microsoft أكثر من مليون مستخدم يدفعون لـ Github Copilot: الرئيس التنفيذي Nadella
وأشارت إلى أنه “في بعض الأحيان، يحجم المطورون عن القيام بالإنشاءات”. “يقولون، أنا لا أثق، أحتاج إلى الاختبار مرة أخرى، ولكن باستخدام Copilot، فقد ساعد ذلك نوعًا ما في بناء تلك الثقة لنشر المزيد من التعليمات البرمجية في الإنتاج.”
إن احتمالية حدوث هذه التغييرات الصغيرة – المزيد من طلبات السحب، والمزيد من التصميمات، والأقل من كتابة التعليمات البرمجية النموذجية – لها فوائد نوعية فورية في الطريقة التي يتغير بها يوم المطور.
وقال شاني: “إذا تمكنا من زيادة معدل البناء بطريقة متسقة، فإن ذلك يساعد المطورين بشكل أساسي على قضاء وقت أقل في انتظار البناء، والحصول على مزيد من الوقت مرة أخرى للتركيز على الهندسة المعمارية وما إلى ذلك”.
قال شاني: “الاكتشاف الصادم الذي حدث بالنسبة لي هو أن المطورين لديهم أقل من ساعتين يوميًا لكتابة التعليمات البرمجية” في المتوسط. “إنهم بحاجة إلى القيام بالعديد من الأشياء التي تدور حول دورة حياة تطوير البرمجيات، ولكن ليس حول البرمجة – فهم يقومون بالبناء، ويكتبون الاختبارات، ويجلسون في الاجتماعات، ويحتاجون إلى التفاعل مع أشخاص آخرين، ويحتاجون إلى كتابة تقارير العلاقات العامة [pull requests]”.
أيضًا: هل يستطيع الذكاء الاصطناعي البرمجة؟ في خطوات الطفل فقط
ومن خلال أتمتة بعض هذه المهام، أو أجزاء منها، هناك احتمال “أن نمنح المزيد من النطاق الترددي للمطورين للاستثمار في المجالات الأخرى”.
واعترف شاني بأن أياً من هذا لم يتم قياسه بشكل دقيق ودقيق فيما يتعلق بزيادة الإنتاجية. وقالت عن عملية قياس الإنتاجية: “أعتقد أننا في منتصف ذلك”. “Copilot وأمثاله “لم يتم اعتمادهم لفترة كافية حتى نتمكن من الحصول على بيانات حقيقية وجوهرية يمكننا أن نقول، إليكم كيف غيرنا حياتنا إلى الأبد.”
وأشارت إلى أن التعريفات صعبة بالنسبة للإنتاجية. “يمكنك كتابة تعليمات برمجية سيئة حقًا بسرعة كبيرة”، لذا فإن تسريع التعليمات البرمجية عبر إكمال التعليمات البرمجية “ليس بالضرورة مؤشرًا على النجاح”.
وقال شاني: “إن العمل الذي نقوم به مستمر هو: ما هو الوقت المناسب لتقديره حقًا؟ ما هو هذا التأثير؟ كيف نقيس تأثير هذه الأدوات التي اعتمدناها على طول الطريق؟ لا يزال هذا مستمرًا”.
وقال شاني إن العنصر المهم الآخر الذي يجب قياسه بطريقة ما هو “كيفية تعريف سعادة المطورين”. “من المهم جدًا أن يتم الاعتراف بالمطورين، وفي الوقت الحالي، يأتي التقدير في بعض الشركات من خلال قياس عدد أسطر التعليمات البرمجية التي أكتبها.” لكنها تشير إلى أن إسهاب المبرمج قد لا يكون أفضل مؤشر على مدى جودة المبرمج.
أحد العناصر الأكثر عمقًا لطبقة التجريد الجديدة التي تتشكل في الذكاء الاصطناعي هو تقليل الحاجة إلى التبديل بين الأدوات المختلفة.
أيضًا: يهدف الذكاء الاصطناعي إلى التنبؤ بأخطاء البرمجة الخاصة بالمطورين وإصلاحها قبل وقوع الكارثة
وأوضح شاني: “عادة، إذا كنت أبحث عن شيء لا أعرف كيف أكتبه، فسأذهب إلى أحد محركات البحث”. “لقد كان مساعد الطيار قادرًا على جلب كل ذلك في نفس البيئة.” الواجهة، الموجه، “موجود في IDE الخاص بك [integrated development environment]”، بحيث “لا تحتاج إلى الانتقال إلى أدوات مختلفة، ولا تحتاج إلى النسخ واللصق، ولا تحتاج إلى القيام بكل ذلك؛ أنت تبقى في الأساس حيث تكتب الكود الخاص بك.”
وقالت: “نتيجة لذلك، يشعر المطورون بالسعادة لأن لديهم قدرًا أقل من القدرة على تبديل السياق بين الأدوات”.
يجد مساعد الطيار طريقه إلى مجالات أخرى من فريق البرمجة. وقال شاني إن أحد كبار مستخدمي برنامج Copilot، وهي شركة التجارة الإلكترونية Shopify، يستخدم برنامج Copilot لإجراء مقابلات البرمجة لتقييم الموظفين الجدد. كما أنها تستخدم برنامج Copilot لتأهيل المبرمجين الجدد، باعتباره “مبرمجًا نظيرًا” أو معلمًا لجلب المبرمجين الجدد إلى السرعة.
وقال شاني إنه في تلك الحالات التي لا ينتج فيها برنامج Copilot والأدوات المشابهة النتائج التي يرغب فيها المرء، فقد يكون الكثير منها بسبب منحنى التعلم للهندسة السريعة. وقالت: “ما زلت بحاجة إلى معرفة كيفية طرح السؤال الصحيح”.
“كلما طرحت سؤالاً أوسع [at the prompt]، كلما كان الحل الذي ستحصل عليه أكثر عمومية ولا ينطبق بالضرورة على موقفك،” بينما “كلما عرفت كيفية طرح الأسئلة الصحيحة، حصلت على إجابة أفضل من Copilot.”
أيضًا: لقد اختبرت أحدث مهارات البرمجة لدى Google Bard. لم تسر الأمور على ما يرام… مرة أخرى
وقالت إن مايكروسوفت تعمل مع عملاء مثل Accenture على “إدارة التغيير”، وكيفية كتابة “المطالبة المناسبة”، و”كيفية التفكير في السؤال الذي تطرحه على Copilot للحصول على الإجابة الصحيحة القابلة للتطبيق”.
لا يزال هناك الكثير من التجسيد في برنامج Copilot نفسه والذي من المحتمل أن يكون له تأثير كبير على فائدته ودقته. يكتسب البرنامج تدريجيًا القدرة على أن يصبح “مخصصًا” للمطور الفردي. قال شاني: “أحد الجوانب التي نعمل عليها هو كيف يمكننا مساعدة هذه النماذج على فهم أسلوب البرمجة الخاص بك، لفهم أي من هذه العناصر تعتبر بالغة الأهمية بالنسبة لك كمطور برامج، ولتعديل التوصيات التي نقدمها لك.”
في شهر فبراير، ستوفر GitHub إصدارًا مؤسسيًا من Copilot بشكل عام. وقال شاني: “يتعلق الأمر على وجه التحديد بنماذج أكثر تخصيصًا للمؤسسات التي ترغب في الحصول على نكهة خاصة بها لهذا التنفيذ”.
ضمن إصدار المؤسسة، “ستكون لديك القدرة على تلخيص العلاقات العامة أو إضافة تعليقات إلى التعليمات البرمجية باستخدام Copilot، أو البحث في مستنداتك والحصول على هذا المستند الذي تبحث عنه.” سيكون هناك أيضًا تركيز متزايد على تعامل مساعد الطيار مع الاختبارات واختبارات التحمل.
أيضًا: يتوقع بيل جيتس حدوث “طفرة تكنولوجية هائلة” من الذكاء الاصطناعي قريبًا
وقال شاني إن الفكرة الشاملة هي “تركيز كل شيء باستخدام نفس النوع من نموذج تدفق الذكاء الاصطناعي، عبر تطوير البرمجيات، من البداية إلى الإنتاج”.
تعد شركة Advanced Micro Devices، الشركة المصنعة للرقائق، أحد عملاء الإصدار التجريبي لإصدار المؤسسات، خصيصًا لضبط نماذج الذكاء الاصطناعي التوليدية الداخلية من AMD. وأشارت إلى “لدينا قائمة انتظار طويلة تضم المزيد من العملاء الذين يرغبون في الدخول”. “إننا نخضعه للكثير من الاختبارات الصارمة، ونريد الحصول على الكثير من التعليقات من العملاء الموجودين حاليًا في برنامجنا التجريبي قبل أن نشعر بالثقة في المشاركة.”
قد يبدو غريبًا الحديث عن سعادة المطورين، نظرًا لأن البعض اقترح أن أتمتة التعليمات البرمجية عبر الذكاء الاصطناعي يمكن أن تقضي على وظائف البرمجة. لكن هذا ليس هو الحال، يصر شاني. وقالت: “لن يحل محل المطورين، ليس في السنوات الخمس أو العشر القادمة”. “أنا في المعسكر الذي يقول أبداً، لأننا سنتطور كمطورين.”
شاني، الذي كان قبل مجيئه إلى GitHub قبل عام يدير منتج Elastic Containers في Amazon AWS، يعمل مع الذكاء الاصطناعي لأكثر من عقدين من الزمن. وتتذكر رحلتها الشخصية كمبرمجة من Fortran إلى C++ إلى Java إلى Python. “في كل لحظة، كان الجميع يشعرون بالذعر: يا إلهي، هذا سوف يحرم المطورين من عملهم.”
أيضًا: ينمو الذكاء الاصطناعي ليأخذ دوره كمساعد للتطوير والاختبار
ولكن “لقد شهدنا زيادة أكبر في عدد المطورين لأننا الآن قمنا بتخفيض الحاجز لنكون قادرين على كتابة المزيد من البرامج.”
وفي الوقت نفسه، فإن تطور مساعدي الذكاء الاصطناعي هو “نفس الثورة الصناعية التي أدت إلى قيام المصانع بتوسيع نطاق إنتاج الغذاء لتلبية الطلب”، كما يرى شاني. “وهذا ما يحدث الآن: هناك طلب متزايد على البرمجيات، وبالتالي هناك طلب أكبر على مطوري البرمجيات.”
إذا كان من الممكن أتمتة عملية إنشاء التعليمات البرمجية بدقة، وإذا كانت طبقة التجريد قادرة على توفير تبديل السياق، فهل يمكن لبرنامج Copilot وأمثاله اختصار وقت تطوير المشاريع؟
في هذا الكتابشهر الرجل الأسطوري, لاحظ المبرمج فريد بروكس أن مجرد إضافة الموارد إلى مشروع برمجة كبير لم يؤدي إلى تسريع المشروع فحسب، بل أدى في الواقع إلى جعل الأمور أسوأ في كثير من الأحيان.
ليس من الواضح حتى الآن ما إذا كان الذكاء الاصطناعي سيساعد بشكل كبير في جدولة المشروع وإدارته أو تقليل الجهد الإجمالي المطلوب لمشروع برمجة كبير.
وقال شاني “لا أعرف ما إذا كان مفهوم الأشهر العديدة سيتحول إلى ثواني”. “ستستغرق الأمور الوقت المناسب لتنضج، لكنني أعتقد أن الطريق للوصول إلى هناك سيكون أكثر سلاسة وكفاءة على طول الطريق إذا تمكنا من الوصول إلى تلك القيمة التي نبحث عنها في فترة زمنية أقصر.”