أطلق GitHub نظام التعلم الآلي Copilot الذي يقوم بإنشاء التعليمات البرمجية

أعلن GitHub عن الانتهاء من اختبار المساعد الذكي GitHub Copilot، القادر على إنشاء بنيات قياسية عند كتابة التعليمات البرمجية. تم تطوير النظام بالاشتراك مع مشروع OpenAI ويستخدم منصة التعلم الآلي OpenAI Codex، المدربة على مجموعة كبيرة من أكواد المصدر المستضافة في مستودعات GitHub العامة. الخدمة مجانية لمشرفي المشاريع مفتوحة المصدر الشهيرة والطلاب. بالنسبة للفئات الأخرى من المستخدمين، يتم دفع الوصول إلى GitHub Copilot (10 دولارات شهريًا أو 100 دولار سنويًا)، ولكن يتم توفير الوصول التجريبي المجاني لمدة 60 يومًا.

يتم دعم إنشاء التعليمات البرمجية في لغات البرمجة Python وJavaScript وTypeScript وRuby وGo وC# وC++ باستخدام أطر عمل مختلفة. تتوفر الوحدات النمطية لدمج GitHub Copilot مع بيئات تطوير Neovim وJetBrains IDEs وVisual Studio وVisual Studio Code. انطلاقا من القياس عن بعد الذي تم جمعه أثناء الاختبار، تتيح لك الخدمة إنشاء رمز عالي الجودة إلى حد ما - على سبيل المثال، تم قبول 26٪ من التوصيات المقترحة في GitHub Copilot من قبل المطورين كما هي.

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

أطلق GitHub نظام التعلم الآلي Copilot الذي يقوم بإنشاء التعليمات البرمجية

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

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

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

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

المصدر: opennet.ru

إضافة تعليق