الذكاء الاصطناعي التوليدي (الذكاء الاصطناعي التوليدي) يغير كيفية صناعة الأفلام، وكيفية القيام بالتسويق، وكيفية لعب الألعاب. بينما ينصب الكثير من اهتمام وسائل الإعلام على ما يمكن أن يفعله الذكاء الاصطناعي من حيث التحول الرقمي وإنشاء المحتوى ومكاسب الإنتاجية، يتم إيلاء اهتمام أقل على كيفية جعل كتابة الأكواد البرمجية أكثر إرضاءً، بل ومتعة.
لا يقتصر دور الذكاء الاصطناعي التوليدي الذي يعمل كمساعد في البرمجة على مساعدة مهندسي البرمجيات على أداء وظائفهم بسرعة أكبر فحسب، بل إنه يعزز أيضاً من رضا المطورين ومشاركتهم. يستخدم المطورون الذكاء الاصطناعي التوليدي لكتابة التعليمات البرمجية النمطية والمساعدة في تحديد التنسيق الأساسي، مما يتيح لهم المزيد من الوقت للتركيز على الجوانب الإبداعية في العمل مثل حل المشكلات وإنشاء منطق جديد وتصميم أنظمة فريدة من نوعها. غالبًا ما تكون هذه المهام الإبداعية عالية المستوى هي المهام التي يحب المبرمجون القيام بها.
وجدت دراسة أجرتها McKinsey أن المطورين الذين يستخدمون أدوات الذكاء الاصطناعي التوليدي كانوا أكثر عرضة بمرتين للإبلاغ عن السعادة العامة، والشعور بالإنجاز، والقدرة على الوصول إلى حالة التدفق في العمل.
تخيل مطورًا تم تعيينه لإنشاء تطبيق ويب جديد لمنصة التجارة الإلكترونية. يحصل المطور على تصميم تجربة المستخدم وتنفيذ ميزات مثل محرك التوصيات والتسعير الديناميكي. ومع ذلك، قبل أن يتمكن من البدء في العناصر المثيرة للاهتمام في التصميم، فإن المطور لديه جبل من العمل الشاق لإنجازه.
إنه بحاجة إلى إعداد الواجهة الخلفية، الأمر الذي يتطلب كتابة نفس الكود المعياري الذي كتبه عشرات المرات من قبل، وتشغيل عمليات التهيئة، وتحديد المسارات الأساسية وتكوين البرامج الوسيطة. لا شيء من ذلك فريد للمشروع، لكن كل عنصر ضروري للتطبيق. بعد الانتهاء من الأعمال الأساسية، يجب إنشاء اتصال بقاعدة البيانات وتثبيت برامج تشغيل قواعد البيانات مع إعداد مخططات للمنتجات والعملاء والطلبات، بالإضافة إلى عدد لا يحصى من المهام الأخرى غير البرمجية وغير التطويرية.
على الرغم من أن المطور قد يكون متحمسًا للوصول إلى الميزات الأساسية التي ستجعل النظام الأساسي فريدًا وممتعًا للمستخدمين، إلا أن العمل المعياري يستهلك الكثير من الجدول الزمني للمشروع. بينما من الضروري وضع ذلك الأساس المتين، قد يتباطأ إنتاج المطورين حيث يبدو هذا العمل الروتيني وكأنه عمل روتيني ممل مقارنة بالجوانب الأكثر إبداعًا للبرمجة.
تعتبر البرمجة عملية تستغرق وقتًا طويلاً وعرضة للخطأ. يتطلب الأمر وقتًا وموارد كبيرة لتحقيق نتائج عالية الجودة. تشير الدراسات إلى أنه في دورة التطوير التقليدية، يقضي المطورون في المتوسط ساعة واحدة يوميًا على البرمجة الفعلية، بينما تستهلك الأنشطة المتكررة غير المتمايزة معظم وقتهم. وغالباً ما تتضمن هذه المهام التعامل مع قواعد التعليمات البرمجية القديمة، وتوثيق العمليات، وكتابة الاختبارات، وإدارة الإصدارات، وتصحيح الأخطاء، وتحديد الثغرات الأمنية. على سبيل المثال، قد يبدأ يوم نموذجي للمبرمج بمراجعات التعليمات البرمجية أو مراجعة طلب السحب. قد يتبع ذلك استكشاف الأخطاء وإصلاحها التي أبلغ عنها فريق ضمان الجودة ثم صياغة خطة نشر—كل ذلك قبل أن يتمكن من كتابة سطر واحد من التعليمات البرمجية الجديدة.
تقول Anna Gutowska، عالمة بيانات في IBM "إن الذكاء الاصطناعي التوليدي يمكّن المطورين من أتمتة المهام المملة والروتينية التي تستغرق وقتًا من بناء البرمجيات." مثال على ذلك هو شيء بسيط مثل روبوت يقوم بتشغيل البرامج النصية أول شيء في الصباح ويُنشئ "تقرير التحقق من السلامة" لبرنامجك. وهذا يعني قضاء وقت أقل في تشغيل البرامج النصية اليدوية والمزيد من الوقت في استخدام المهارات."
يواجه المطورون أيضًا تحدي البقاء على اطلاع دائم بالتقنيات والأطر المتغيرة مثل React أو Kubernetes أو Flutter. وهذا ليس بالأمر الهين، حيث يتطور مشهد تطوير البرمجيات بسرعة. تتطلب مواكبة هذه التطورات استثمارًا كبيرُا للوقت في التعلم والتجريب المستمرين، مما يترك وقتًا أقل للجوانب الإبداعية والمجزية للتطوير. إن الحاجة المستمرة إلى التوفيق بين هذه المسؤوليات، بالإضافة إلى الضغط لتقديم كود برمجي قوي وخالٍ من الأخطاء، يمكن أن يجعل البرمجة مهنة مرهقة وساحقة.
تلعب أدوات الذكاء الاصطناعي التوليدي أيضًا دورًا في مهام سير عمل عمليات التطوير من خلال المساعدة في أتمتة النشر والتكامل المستمر والمراقبة. بالإضافة إلى المساعدة في البرمجة، يمكن للذكاء الاصطناعي التوليدي توفير تحليل البيانات ومساعدة المبرمجين على تفسير مجموعة البيانات المعقدة لقياس تأثير قرارات البنية التقنية وتحسينات النظام بشكل أفضل.
حسنًا، قد لا يحب الذكاء الاصطناعي "المهام المملة"، لكنه يتفوق في إيجاد الأنماط المعقدة وتكرارها، مما يجعله حلاً مثاليًا لأتمتة الجوانب المتكررة من البرمجة. مهام مثل توليد الأكواد النمطية—تلك الأجزاء الأساسية المملة ولكن الضرورية—يمكن إنشاؤها في ثوانٍ بواسطة أدوات الذكاء الاصطناعي التوليدي. يمكن للذكاء الاصطناعي أيضًا المساعدة في تكامل واجهة برمجة التطبيقات (API) عن طريق التوليد التلقائي لنقاط النهاية، والتعامل مع المصادقة، وهيكلة الطلبات، وتقليل جهد البرمجة اليدوية. مثال آخر، كما هو موضح في Wired، أداة الذكاء الاصطناعي التي تسمى SWE-agent. حددت أداة الذكاء الاصطناعي هذه خطأ في مستودع GitHub، وحددت موقع الملف ذي الصلة وعدلت الكود بشكل صحيح، مما وفر ساعات من وقت تصحيح الأخطاء المحتمل للمطور الهاوي.
هذه الأدوات ليست مجرد مساعدين؛ بل بعضها أقرب إلى مرشدين على مستوى الخبراء. يمكن أن توفر أنظمة الذكاء الاصطناعي التوليدي تفسيرات وأمثلة وإرشادات في الوقت الفعلي، مما يسمح للمطورين بقضاء وقت أقل في استكشاف الأخطاء وإصلاحها ووقت أطول في الابتكار. يمكّنهم هذا التحول من التركيز على كتابة تعليمات برمجية عالية الجودة، مثل تصميم حلول إبداعية أو تحسين بنى النظام، مع تقليل العبء المعرفي المرتبط بحل المشكلات المتكرر. من خلال الكشف التلقائي عن التغييرات في التعليمات البرمجية وتنقيحها، يساعد الذكاء الاصطناعي على منع حدوث انحدارات ويضمن توافق التطبيقات الجديدة مع أفضل الممارسات.
"تمكن IBM watsonx Code Assistant™ من تحديد العديد من الثغرات الأمنية المحتملة وتسريبات الذاكرة وممارسات البرمجة السيئة ... وقدّم توصيات للتحسين." - تعليقات العملاء على IBM® watsonx Code Assistant
يعمل الذكاء الاصطناعي التوليدي أيضًا على تسريع التعلم للمطورين. يساعدهم على فهم لغات البرمجة وإطارات العمل والنماذج الجديدة بسرعة مع تقديم رؤى حول قواعد التعليمات البرمجية المعقدة أو غير المألوفة. بالنسبة إلى المطورين المبتدئين، كانت الفوائد مذهلة بشكل خاص.
"لم تكن لدينا توقعات كبيرة، لكننا فوجئنا بسرور بمدى جودته"، يقول Asher Scott، مطور الواجهة الأمامية والخلفية للتطبيقات (Full Stack) في شركة IBM، مشيرًا إلى watsonx Code Assistant. "ذلك ساعدني على الارتقاء بمهاراتي إلى المستوى التالي."
أبلغ المطورون المبتدئون عن زيادة كبيرة في الإنتاجية واكتساب المهارات، مما يساعدهم على تنمية خبراتهم وثقتهم بشكل أسرع مما تسمح به الطرق التقليدية. من خلال إزالة العوائق وتبسيط عملية التعلم، يعمل الذكاء الاصطناعي على تمكين المطورين من كل المستويات على مواجهة التحديات بمزيد من الإثارة.
وفقا لاستطلاع أجرته KPMG، يعتقد نصف المبرمجين المشمولين بالاستطلاع أن الذكاء الاصطناعي والأتمتة قد أثروا بشكل إيجابي على حياتهم المهنية من خلال تعزيز الإنتاجية وفتح فرص جديدة. وبالمثل، كشف استطلاع ChatGPT من OpenAI أن 50% من المطورين أبلغوا عن تحسين الإنتاجية باستخدام الذكاء الاصطناعي، حيث شهد 23% منهم مكاسب كبيرة.
يظهر استطلاع GitHub أن هذه المكاسب توفر كفاءات أكبر لسير العمل الحالي للمبرمج. أبلغ المطورون الذين يستخدمون أدوات برمجة الذكاء الاصطناعي عن زيادة رضاهم بسبب قدرتهم على أتمتة المهام المتكررة أو المملة للتركيز على تصميم الحلول بدلاً من التعليمات البرمجية النمطية. يساعد مساعدو البرمجة في تقليل الإجهاد الذهني ويمكن أن يمنع الإرهاق. فهم يساعدون المطورين على تلبية معايير الأداء بسهولة أكبر، مما يؤدي إلى تحسين جودة التعليمات البرمجية ومخرجات أسرع وحوادث أقل.
ينبع تأثير الذكاء الاصطناعي التوليدي على الرضا الوظيفي إلى حد كبير من قدرته على توفير الرؤى وتبسيط سير عمل التطوير الممل. على سبيل المثال، أثبتت أدوات التطوير المدعومة بالذكاء الاصطناعي، مثل watsonx Code Assistant (WCA) و GitHub Copilot و SWE-agent، قوة إنشاء التعليمات البرمجية في الوقت الفعلي وتصحيح الأخطاء والتحسين. لا يقلل هذا النوع من الكفاءة من الإحباط فحسب، بل يحرر المطورين أيضًا، وخاصة المطورين المبتدئين، للتركيز على حل المشكلات الأكثر تعقيدًا والمجزية. من خلال أتمتة للمهام الروتينية، تعمل الأدوات المدعومة بالذكاء الاصطناعي على تحسين الوظائف، مما يسمح للمطورين بالتركيز على الابتكار بدلاً من البرمجة.
وفقًا لـ GitHub، يقول 57% من المطورين الذين شملهم الاستطلاع إن استخدام أدوات البرمجة بالذكاء الاصطناعي يساعدهم على تطوير مهاراتهم في لغات البرمجة، وهو ما يعتبرونه الفائدة الأهم لاستخدام هذه التطبيقات (مع كون الفائدة الثانية هي زيادة الإنتاجية). يشير هذا إلى أن المطورين ينظرون إلى استخدام أدوات البرمجة بالذكاء الاصطناعي كوسيلة لتحسين مهاراتهم أثناء عملهم، بدلاً من إضافة مهمة أخرى إلى يوم عملهم للتعلم والتطوير.
بالنسبة للمطوّرين المبتدئين، يعمل الذكاء الاصطناعي التوليدي على تسريع عملية تحسين المهارات وإعادة التدريب من خلال توفير أمثلة في الوقت الفعلي وتوجيهات سياقية تساعدهم على اكتساب الكفاءات بسرعة والمساهمة في فرقهم في وقت أقرب. باستخدام WCA، يمكن لفرق التطوير العاملة في بيئات تطوير المؤسسات المعقدة —مثل تحديث الحاسوب المركزي أو ترحيل Java™—أتمتة تحويلات التعليمات البرمجية المملة مع تلقي رؤى مدفوعة بالذكاء الاصطناعي حول أفضل الممارسات. هذا يعني أن المطورين المبتدئين يمكنهم التقدم في مهامهم دون الحاجة إلى التوقف والتشاور مع أحد كبار المطورين بشكل متكرر، مما يسمح لهم ببناء الثقة والاستقلالية بشكل أسرع.
كما يعمل الذكاء الاصطناعي أيضًا على تحويل الطريقة التي يتعامل بها المطورون مع النماذج الأولية والابتكار. يمكن الآن إكمال المهام التي كانت تتطلب ساعات من البرمجة اليدوية في جزء بسيط من الوقت. على سبيل المثال، يمكن لمطوّر يصمم ميزة جديدة أن يستخدم الذكاء الاصطناعي التوليدي لإنشاء مسودة تنفيذ، ثم يقوم بتكرارها بسرعة ودمجها في المشروع الأكبر. يسمح هذا التحول الأسرع بمزيد من التجريب والإبداع، والتي غالبًا ما تكون أكثر جوانب تطوير البرمجيات إرضاءً.
من خلال أتمتة المهام الروتينية، يمكن للمطورين التكيف بسهولة أكبر مع بيئات العمل عن بُعد أو غير المتزامنة. كما تتيح أدوات الذكاء الاصطناعي تعاونًا أفضل من خلال إنشاء اقتراحات وتفسيرات التعليمات البرمجية التي يسهل على أعضاء الفريق مراجعتها وفهمها. وتساهم هذه التحسينات في تحقيق تجربة إيجابية للمطورين، مما يجعل تطوير البرمجيات ليس فقط أكثر إنتاجية بل أيضًا أكثر قدرة على التكيف مع الاحتياجات المتنوعة للقوى العاملة الحديثة، مما يساهم في زيادة الرضا الوظيفي والتوازن بين العمل والحياة الشخصية.
تساعد أدوات الذكاء الاصطناعي التوليدي أيضًا المطورين على تحسين مهاراتهم من خلال توفير مقاييس حتى يتمكن المطورون من تتبع إنتاجيتهم وتحسينها. وبالمثل، فهو يزودهم ويزود المؤسسة بالمعرفة اللازمة لتبني التقنيات الجديدة بفعالية وتقييم الأثر الكامل لدمج الذكاء الاصطناعي. وهذا بدوره يعزز ثقافة التعلم المستمر والابتكار بين المبرمجين.
تظل الخبرة البشرية جزءًا لا يتجزأ من عملية تطوير البرامج. في حين أن الذكاء الاصطناعي يمكنه تحديد الأخطاء واقتراح الإصلاحات، فإنه يفتقر إلى الفهم الدقيق والحدس الذي يتمتع به المطورون المخضرمون. البشر مجهزون بشكل أفضل لتمييز المقصد من التعليمات البرمجية، وتقييم توافقها مع أهداف العمل، وتطبيق السياق التنظيمي لضمان تلبية متطلبات المشروع. تواجه العقول الآلية صعوبة في تفسير المفاضلة الدقيقة أو السيناريوهات الغامضة، مما يجعل الحكم البشري أمرًا لا غنى عنه.
لم يخل اعتماد تقنية الذكاء الاصطناعي التوليدي من التحديات. تختلف تأثير التقنية عبر مستويات التجربة. غالبًا ما يجني المطورون المبتدئون أكبر قدر من الفوائد، حيث يساعدهم الذكاء الاصطناعي على التعلم والمساهمة بشكل أسرع. بالنسبة لهم، يعمل الذكاء الاصطناعي كمرشد، ويملأ فجوات المعرفة ويسرّع النمو. على العكس من ذلك، وفقا لـ MIT Sloan، أبلغ كبار المطورين عن مكاسب أقل بنسبة تتراوح بين 8% و13% تقريبًا. سواء كان ذلك بسبب تفوق خبرتهم على التقنية أو ترددهم في دمج الذكاء الاصطناعي في سير العمل، يظل السؤال مفتوحًا.
هناك مخاوف أخرى بشأن البرمجة بمساعدة الذكاء الاصطناعي وهي خطر الديون الفنية. الاعتماد المفرط على الذكاء الاصطناعي لإيجاد حلول سريعة قد يؤدي إلى ظهور اختصارات تتراكم بمرور الوقت، مما يخلق تعقيدًا طويل الأمد يتطلب جهودًا كبيرة لحله. كما يخشى البعض من أن تؤدي أدوات البرمجة التي تعتمد على الذكاء الاصطناعي إلى تآكل المهارات، حيث يعتمد المطورون بشكل كبير على الأتمتة بدلاً من صقل قدراتهم على حل المشكلات والبرمجة. إذا ضمر التفكير النقدي ومهارات البرمجة العملية، فقد يواجه المطورون صعوبةً في التعامل مع التحديات المعقدة والخطيرة في المستقبل.
ومع ذلك، تكون أدوات البرمجة بالذكاء الاصطناعي أقوى عندما تعمل بالتعاون مع المطورين البشريين، وليس بدلاً منهم. في حين أن الذكاء الاصطناعي التوليدي يمكنه تسريع سير العمل وأتمتة المهام المتكررة، إلا أن قيمته الحقيقية تكمن في زيادة الخبرة البشرية—مساعدة المطورين على التركيز على حل المشكلات الإبداعية وقرارات البنية التقنية والابتكار.
ويأتي مثال جيد على ذلك من شركة rKube، وهي شركة تقدم حلول تكنولوجيا المعلومات في المغرب، والتي استخدمت برنامج Watsonx Code Assistant من شركة IBM لتحديث تطبيقات Java. من خلال أتمتة التحول، تمكّن المطورون من تحويل تركيزهم من إعادة الهيكلة اليدوية إلى حل المشكلات ذات القيمة الأعلى، مما أدى في النهاية إلى زيادة كفاءة سير العمل وزيادة تحفيز القوى العاملة.
خدمة مُدارة بالكامل ومستأجر واحد لتطوير تطبيقات Java وتسليمها.
استخدم أدوات وبرمجيات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية ونشرها وإدارتها عبر أجهزة وبيئات متعددة.
إن تطوير تطبيقات السحابة يعني البناء مرة واحدة، والتكرار بسرعة، والنشر في أي مكان.