الأمن السيبراني

كيف يتطور تطوير البرمجيات


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

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

تعمل GenAI على تسريع عملية التطوير بشكل أكبر، كما أنها تغير طريقة تفكير المطورين بشأن التعليمات البرمجية.

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

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

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

متعلق ب:هل تم نسيان DevAIOps وAIOps في طفرة الذكاء الاصطناعي؟

كيف يساعد الذكاء الاصطناعي

العمل المنطوق هو “الأتمتة”.

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

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

“إنهم ينتجون سطورًا من التعليمات البرمجية التي توفر لي ساعات أسبوعيًا. ولكن على الرغم من تحسن النتائج، إلا أنها تكون صحيحة في أقل من 40% من الحالات. يقول بورن في مقابلة عبر البريد الإلكتروني: “أنت بحاجة إلى الخبرة لتعرف أن الكود ليس على مستوى الصفر ويحتاج إلى التعديل أو الإعادة”. “يبدأ المبرمجون الجدد مع هؤلاء المساعدين في متناول أيديهم ولكن بدون سنوات من الخبرة في كتابة التعليمات البرمجية التي يتمتع بها كبار السن. وعلينا أن نأخذ ذلك في الاعتبار وألا نحد بالضرورة من وصولهم إلى المعلومات، بل علينا أن نجد طرقًا مبتكرة لحقن تلك المعرفة. أنت بحاجة إلى إيجاد التوازن [between] إصلاح الكود الفوري مع تجربة صحية وعين ناقدة.

متعلق ب:تعزيز الإنتاجية بدون خادم: المزيد من المسؤولية للمطورين

لقد أدى تطور البرمجة، وخاصة من خلال الطبقات التجريدية وGenAI، إلى تغيير كبير في الطريقة التي تتعامل بها سورابهي بهارجافا، قائدة تكنولوجيا التعلم الآلي في Adobe، مع عملها.

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

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

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

متعلق ب:وزارة العدل تطفو على تفكيك جوجل، والعلاجات الأخرى في قضية مكافحة الاحتكار

التشفير بدون استخدام اليدين لم يصل بعد

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

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

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

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

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

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

هناك مشكلة أخرى وهي الموعد النهائي للحصول على LLMs. ويقول: ربما لا يكون لديهم أحدث الحزم وأطر العمل، لكن الفوائد تفوق العيوب.

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

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

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

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

الخط السفلي

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





Source link

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