وسائل الترفيهوسائل تكنولوجية

تعمل أنظمة الذكاء الاصطناعي لبرمجة اللغة الطبيعية على التخلص من عناء الترميز

موقع شبرون للتقنية وأخبار العالم- متابعات تقنية:

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

كيف يعمل الترميز

اثنان من أكثر لغات البرمجة انتشارًا وكتابةً اليوم هما Java و Python. أحدثت السيارة السابقة ثورة في التشغيل عبر الأنظمة الأساسية بمفردها تقريبًا عندما تم إصدارها في منتصف التسعينيات وهي الآن تقود “كل شيء بدءًا من البطاقات الذكية إلى المركبات الفضائية” ، وفقًا لـ مجلة جافا في عام 2020 – ناهيك عن وظيفة البحث في ويكيبيديا وكل ماين كرافت. يسبق الأخير فعليًا Java ببضع سنوات ويعمل كأساس للكود للعديد من التطبيقات الحديثة مثل Dropbox و Spotify و Instagram.

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

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

تعمل أنظمة الترميز AI للمحادثة اليوم ، مثل ما نراه في Github’s Copilot أو OpenAI’s ChatGPT ، على إزالة المبرمج إلى أبعد من ذلك عن طريق إخفاء عملية الترميز خلف قشرة من اللغة الطبيعية. يخبر المبرمج الذكاء الاصطناعي بما يريده وكيف تتم برمجته ، ويمكن للجهاز إنشاء الكود المطلوب تلقائيًا.

من بين أول هذه السلالة الجديدة من أنظمة الذكاء الاصطناعي الخاصة بتشفير المحادثات ، كانت Codex ، التي طورتها OpenAI وتم إصدارها في أواخر عام 2021. وقد نفذت OpenAI بالفعل GPT-3 (مقدمة لـ GPT-3.5 التي تشغل BingChat للجمهور) بحلول هذه المرحلة ، اللغة الكبيرة نموذج بارع بشكل ملحوظ في محاكاة الكلام البشري والكتابة بعد تدريبه على مليارات الكلمات من الويب العام. قامت الشركة بعد ذلك بضبط هذا النموذج باستخدام أكثر من 100 جيجا بايت من بيانات GitHub لإنشاء Codex. إنه قادر على إنشاء كود بـ 12 لغة مختلفة ويمكنه ترجمة البرامج الموجودة فيما بينها.

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

قامت شركة Google DeepMind بتطوير AlphaCode خصيصًا لمواجهة مثل هذه التحديات. مثل Codex ، تم تدريب AlphaCode أولاً على عدة غيغابايت من أرشيفات كود GitHub الحالية ، ولكن تم بعد ذلك تغذية الآلاف من تحديات الترميز التي تم سحبها من مسابقات البرمجة عبر الإنترنت ، مثل معرفة عدد السلاسل الثنائية بطول معين لا تحتوي على أصفار متتالية.

للقيام بذلك ، ستقوم AlphaCode بإنشاء ما يصل إلى مليون مرشح للكود ، ثم ترفض الكل ما عدا أعلى 1 بالمائة لاجتياز حالات الاختبار الخاصة بها. سيقوم النظام بعد ذلك بتجميع البرامج المتبقية بناءً على تشابه مخرجاتها ويختبرها بالتسلسل حتى يجد مرشحًا يحل المشكلة المحددة بنجاح. وفقًا لدراسة أجريت عام 2022 نُشرت في علوم، تمكنت AlphaCode من الإجابة بشكل صحيح على أسئلة التحدي هذه بنسبة 34 في المائة من الوقت (مقارنة بنجاح Codex المكون من رقم واحد على نفس المعايير ، هذا ليس سيئًا). دخلت DeepMind أيضًا AlphaCode في مسابقة برمجة عبر الإنترنت تضم 5000 منافس ، حيث تجاوزت ما يقرب من 46 بالمائة من المنافسين من البشر.

الآن حتى الذكاء الاصطناعي لديه ملاحظات

تمامًا كما يعمل GPT-3.5 كنموذج تأسيسي لـ ChatGPT ، يعمل Codex كأساس لـ Copilot AI الخاص بـ GitHub. تم تدريبه على مليارات الأسطر من التعليمات البرمجية التي تم تجميعها من الويب العام ، ويقدم Copilot ميزات الإكمال التلقائي للترميز بمساعدة الذكاء الاصطناعي المستندة إلى السحابة من خلال مكون إضافي للاشتراك لـ Visual Studio Code و Visual Studio و Neovim و JetBrains بيئات التطوير المتكاملة (IDEs).

تم إصداره في البداية كمعاينة للمطور في يونيو 2021 ، وكان Copilot من بين أول أنظمة الذكاء الاصطناعي القادرة على الترميز للوصول إلى السوق. أكثر من مليون مطور استفادوا من النظام في العامين التاليين ، كما قال نائب رئيس المنتج Ryan J Salva في GitHub لموقع Engadget خلال مقابلة أجريت معه مؤخرًا. باستخدام برنامج Copilot ، يمكن للمستخدمين إنشاء رمز قابل للتشغيل من مدخلات نصوص اللغة الطبيعية بالإضافة إلى الإكمال التلقائي لأقسام التعليمات البرمجية المتكررة الشائعة ووظائف البرمجة.

يلاحظ Salva أنه قبل إصدار Copilot ، لم يتم قبول اقتراحات الترميز السابقة التي تم إنشاؤها بواسطة جهاز GitHub إلا من قِبل المستخدمين بنسبة 14 إلى 17 بالمائة من الوقت ، “وهذا جيد. هذا يعني أنه كان يساعد المطورين طوال الوقت “. في العامين الماضيين منذ ظهور كوبيلوت لأول مرة ، ارتفع هذا الرقم إلى 35 في المائة ، “وهذا يصل إلى ما يقل قليلاً عن نصف كمية الشفرة التي تتم كتابتها [on GitHub] – 46 في المائة بواسطة الذكاء الاصطناعي على وجه الدقة “.

“[It’s] وأوضح سلفا ، ليس مجرد نسبة مئوية من التعليمات البرمجية المكتوبة. “يتعلق الأمر حقًا بالإنتاجية والتركيز وإرضاء المطورين الذين يبدعون.”

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

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

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

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

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

من المبرمجين إلى الجابر

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

GitHub ليست وحدها في جهودها لبناء رفيق لبرمجة الذكاء الاصطناعي. برنامج ChatGPT الخاص بـ OpenAI قادر على إنشاء كود – كما هو الحال مع المتغيرات المستقلة التي لا تعد ولا تحصى والتي يتم بناؤها فوق منصة GPT. وكذلك الأمر بالنسبة إلى نظام AWS CodeWhisperer من Amazon ، والذي يوفر الكثير من وظائف الإكمال التلقائي نفسها مثل Copilot ، ولكنه مُحسَّن للاستخدام في إطار عمل AWS. بعد طلبات متعددة من المستخدمين ، قامت Google بدمج إمكانات إنشاء الرموز وتصحيح الأخطاء في Bard في أبريل الماضي أيضًا ، قبل محورها على مستوى النظام البيئي لاحتضان الذكاء الاصطناعي في I / O 2023 وإصدار Codey ، إجابة Alphabet على Copilot. لا يمكننا أن نكون متأكدين حتى الآن ما هي أنظمة الترميز التوليدية التي ستصبح في نهاية المطاف أو كيف يمكن أن تؤثر على صناعة التكنولوجيا – يمكن أن ننظر إلى التكرارات المبكرة لتقنية التحول الديمقراطي ، أو يمكن أن تكون Clippy لجيل جديد.

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

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

اترك تعليقاً

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

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