تحول نموذجي في البرمجة
يقدم أحدث إبداعات OpenAI، وهو وكيل Codex للذكاء الاصطناعي، نهجًا جديدًا للترميز - بيئة "ترميز بالتبادل" مدعومة بواجهة تشبه ChatGPT. في حين أن المفهوم قد يبدو في البداية مبتذلاً، إلا أن قدرات وكيل Codex الجديد مثيرة للإعجاب بشكل ملحوظ.
صنفت OpenAI برنامج Codex على أنه معاينة بحثية، مما يشير إلى أنه لا يزال قيد التطوير النشط. وهو متاح حاليًا لمشتركي ChatGPT Pro وEnterprise وTeam، مع خطط لتوسيع نطاق التوفر ليشمل مستخدمي Plus و Edu في المستقبل القريب.
وفقًا لإعلان OpenAI، ارتبط اسم Codex بأداة ترميز متطورة منذ عام 2021. في هذه المناقشة، يشير مصطلح "Codex" إلى الإصدار الذي تم الإعلان عنه حديثًا.
يقيم Codex على خوادم OpenAI ويتكامل مع مستودعات GitHub. تشير العروض التوضيحية إلى أن Codex يعمل كمبرمج إضافي داخل الفريق.
يمكن إعطاؤه تعليمات لحل سلسلة من الأخطاء وتنفيذ المهمة وفقًا لذلك. كما يسعى أيضًا للحصول على الموافقة على تعديلات التعليمات البرمجية، على الرغم من أنه يبدو قادرًا على تعديل التعليمات البرمجية بشكل مستقل.
يمكن لـ Codex تحليل التعليمات البرمجية وتعديلها وتحديد المشكلات المحددة وتحديد مجالات التحسين وتنفيذ مهام الترميز والصيانة الأخرى. تبدأ كل مهمة بيئة افتراضية جديدة، مما يمكّن الذكاء الاصطناعي من التعامل مع كل شيء بدءًا من المفهوم والتصميم وحتى اختبار الوحدة.
يشير هذا إلى تحول حقيقي في نموذج البرمجة. في السابق، كانت مساعدة الترميز بالذكاء الاصطناعي تتضمن بشكل أساسي ميزات الإكمال التلقائي، وإنشاء أسطر أو كتل من التعليمات البرمجية تلقائيًا استنادًا إلى التعليمات البرمجية الموجودة.
لقد تطورت التكنولوجيا إلى الحد الذي يمكن للذكاء الاصطناعي كتابة أو تصحيح أجزاء صغيرة من التعليمات البرمجية. هذا هو الجانب الذي كنت مهتمًا به بشكل خاص فيما يتعلق باختبارات برمجة ZDNET.
دور آخر للذكاء الاصطناعي هو تحليل النظام بأكمله. مؤخرًا، استكشفت أداة بحث عميق جديدة يمكنها تفكيك قواعد التعليمات البرمجية بأكملها وتقديم مراجعات وتوصيات للتعليمات البرمجية.
يصل Codex الآن إلى نقطة يمكن فيها تكليف مهام البرمجة بأكملها بالذكاء الاصطناعي في السحابة، على غرار تفويض المهام إلى مبرمجين آخرين في فريق أو مبرمجين مبتدئين يتعلمون صيانة التعليمات البرمجية.
تصف OpenAI هذا بأنه “تطوير برامج أصلي للوكيل، حيث لا يساعدك الذكاء الاصطناعي أثناء عملك فحسب، بل يتولى العمل بشكل مستقل.”
أظهر فيديو الإطلاق قدرة Codex على إدارة مهام متعددة في وقت واحد، تعمل كل منها في بيئة افتراضية منفصلة ومعزولة.
قام المبرمجون بتعيين مهام للوكيل، والذي قام بعد ذلك بتنفيذ العمل بشكل مستقل. بعد الانتهاء، قدم الوكيل نتائج الاختبار واقترح تغييرات في التعليمات البرمجية.
عرض العرض التوضيحي قيام Codex بتنفيذ إصلاحات الأخطاء والبحث عن الأخطاء الإملائية وتقديم اقتراحات المهام وإجراء إعادة هيكلة على مستوى المشروع (تعديل التعليمات البرمجية لتحسين الهيكل دون تغيير السلوك).
المطورون والمصممون الكبار على دراية بالتعبير عن المتطلبات ومراجعة عمل الآخرين. لن يؤدي استخدام Codex إلى تغييرات كبيرة بالنسبة لهم. ومع ذلك، قد يجد المطورون الذين يفتقرون إلى مهارات التعبير عن المتطلبات والمراجعة القوية صعوبة في إدارة Codex بعض الشيء.
على الرغم من ذلك، إذا كانت الأداة تعمل كما هو موضح، فسوف تمكّن Codex الفرق الصغيرة والمطورين الأفراد من تحقيق المزيد وتقليل المهام المتكررة والاستجابة بشكل أكثر فعالية لتقارير المشكلات.
المخاطر المحتملة واستراتيجياتالتخفيف
كشفت التجارب المبكرة مع قدرات ترميز ChatGPT عن ميل إلى فقدان التركيز أو الانحراف عن الاتجاه المقصود. في حين أن هذا ليس كارثيًا بالنسبة لكتل التعليمات البرمجية الفردية، إلا أنه قد يؤدي إلى عواقب غير مقصودة ومثيرة للمشاكل إذا سُمح لوكيل الترميز بالعمل بإشراف محدود.
لمعالجة ذلك، قامت OpenAI بتدريب Codex على الالتزام بالتعليمات الموضحة في ملف AGENTS.md. يتيح هذا الملف، الموجود في المستودع، للمبرمجين والفرق توجيه سلوك Codex. يمكن أن يتضمن إرشادات حول اصطلاحات التسمية وقواعد التنسيق وأي إرشادات متسقة أخرى مطلوبة طوال عملية الترميز. إنه يوسع بشكل أساسي إعدادات تخصيص ChatGPT إلى بيئة فريق تتمحور حول المستودع.
بالإضافة إلى ذلك، قدمت OpenAI إصدارًا من Codex يسمى Codex CLI يعمل محليًا على جهاز المطور. على عكس Codex المستند إلى السحابة، والذي يعمل بشكل غير متزامن ويقدم تقارير عند الانتهاء، يعمل الإصدار المحلي عبر سطر أوامر المبرمج ويعمل بشكل متزامن.
في جوهر الأمر، يدخل المبرمج تعليمات وينتظر عملية Codex CLI لإرجاع النتيجة. يمكّن هذا المبرمجين من العمل في وضع عدم الاتصال، والاستفادة من السياق المحلي لآلة التطوير النشطة الخاصة بهم.
نموذج بحثي ذو إمكانات واعدة
كان العرض التوضيحي مثيرًا للإعجاب، لكن المطورين أكدوا أن ما كانوا يعرضونه ويصدرونه هو نموذج بحثي. في حين أنه يقدم ما أطلقوا عليه "لحظات سحرية"، فإنه لا يزال يتطلب تطويرًا كبيرًا.
لقد كنت أحاول فهم الآثار المحددة لهذه التكنولوجيا على مستقبل التطوير وعملية التطوير الخاصة بي. منتجي الرئيسي هو مكون إضافي مفتوح المصدر لـ WordPress، مع مكونات إضافية احتكارية. يمكن لـ Codex تحليل المستودع العام للمكون الإضافي الأساسي مفتوح المصدر.
ومع ذلك، هل يمكن لـ Codex إدارة العلاقة بين مستودع عام ومستودعات خاصة متعددة كجزء من مشروع عام واحد؟ وكيف سيكون أداؤه عندما يتضمن الاختبار ليس فقط التعليمات البرمجية الخاصة بي ولكن أيضًا إعداد نظام بيئي إضافي بالكامل - WordPress - لتقييم الأداء؟
بصفتي مبرمجًا منفردًا، أدرك الفوائد المحتملة لأداة مثل Codex. حتى الاشتراك الاحترافي البالغ 200 دولار شهريًا يمكن أن يكون جديرًا بالاهتمام. سيكلف توظيف مبرمج بشري أكثر بكثير، على افتراض أنني يمكن أن أحصل على قيمة ملموسة وقابلة للتحقيق من ذلك.
بصفتي مدير فريق ومراسلًا ذا خبرة، أشعر بالراحة في تفويض المهام إلى شيء مثل Codex. إنه لا يختلف اختلافًا كبيرًا عن التواصل مع أحد أعضاء الفريق عبر Slack.
إن حقيقة أن Codex يقدم توصيات ومسودات إصدارات وينتظر موافقتي يوفر إحساسًا بالأمان مقارنة بالسماح له ببساطة بالعمل بحرية داخل التعليمات البرمجية الخاصة بي. يفتح هذا إمكانيات رائعة لدورة حياة تطوير جديدة، حيث يحدد البشر الأهداف، ويضع الذكاء الاصطناعي مسودات عمليات التنفيذ المحتملة، ثم يوافق البشر أو يعيدون توجيه الذكاء الاصطناعي لتكرار آخر.
أسئلة لم تتم الإجابة عليها وتأثيرات مستقبلية
استنادًا إلى تجاربي السابقة في استخدام الذكاء الاصطناعي للترميز، يمكن لـ Codex أن يقلل من وقت الصيانة ويسرع من تقديم الإصلاحات للمستخدمين. ومع ذلك، لا يزال من غير الواضح مدى فعاليته في إضافة ميزات جديدة بناءً على مستند المواصفات. وبالمثل، لم يتم تحديد صعوبة تعديل الوظائف والأداء بعد تنفيذ Codex.
تجدر الإشارة إلى أن ترميز الذكاء الاصطناعي يتطور عبر شركات متعددة بوتيرة مماثلة. سأنشر قريبًا مقالًا آخر حول وكيل ترميز GitHub Copilot، الذي يشارك بعض الوظائف مع Codex.
في هذا المقال، أعربت عن مخاوفي من أن وكلاء الترميز هؤلاء يمكن أن يحلوا محل المبرمجين المبتدئين والمبتدئين. بالإضافة إلى الآثار المترتبة على الوظائف البشرية، هناك أيضًا مسألة فرص التدريب الحاسمة التي قد تضيع إذا فوضنا مرحلة وسطى من مهنة المطور إلى الذكاء الاصطناعي.
صناعة البرمجيات "في المجهول"
هناك أغنية في فيلم Frozen II من Disney تسمى "Into the Unknown"، يؤديها Idina Menzel. تعكس الأغنية الصراع الداخلي للشخصية الرئيسية بين الحفاظ على الوضع الراهن والمغامرة "في المجهول".
مع تطوير البرامج الوكيلة، بالإضافة إلى مجرد ترميز الذكاء الاصطناعي، تنطلق صناعة البرمجيات بأكملها في رحلة "إلى المجهول". نظرًا لأننا نعتمد بشكل متزايد على الأنظمة القائمة على الذكاء الاصطناعي لتطوير برامجنا، فمن المرجح أن ينخفض عدد القائمين بالصيانة المهرة. هذا مقبول طالما استمرت الذكاء الاصطناعي في العمل بفعالية وظلت متاحة. ومع ذلك، هل نسمح للمهارات الأساسية بالضمور والتضحية بالوظائف ذات الأجور الجيدة من أجل راحة التفويض إلى بنية تحتية سحابية غير واعية بعد؟
سيكشف الوقت عن الإجابات، ونأمل ألا يحدث هذا الوحي عندما ينفد وقتنا.
هل تفكر في تفويض مهام تطوير حقيقية إلى أداة مثل هذه؟ ما هو تأثيرها طويل المدى على فرق البرامج أو المطورين الأفراد في رأيك؟ وهل أنت قلق بشأن فقدان المهارات أو الأدوار الحاسمة مع إسناد المزيد من دورة حياة التعليمات البرمجية إلى الذكاء الاصطناعي؟