ترميز الأجواء: سؤال حول علف الدجاج أو الطعام

حالة الذكاء الاصطناعي في هندسة البرمجيات وجد تقرير صادر عن Harness، استنادًا إلى استطلاع كولمان باركر الذي شمل 900 مهندس برمجيات في الولايات المتحدة والمملكة المتحدة وفرنسا وألمانيا، أن ما يقرب من ثلثي الأشخاص الذين شملهم الاستطلاع (63٪) يستخدمون بالفعل أدوات الذكاء الاصطناعي (AI) لإنشاء التعليمات البرمجية، ويتوقع ما يزيد قليلاً عن النصف (51٪) أن أدوات الذكاء الاصطناعي ستؤثر بشكل كبير على سرعة إنشاء التعليمات البرمجية.
يتم استخدام الذكاء الاصطناعي لمساعدة المطورين على تسريع عملية البرمجة. في سبتمبر، أعلنت الخدمات الرقمية الحكومية (GDS) عن نتائج التجربة باستخدام مساعدي الترميز بالذكاء الاصطناعي، والتي وجدت أن المشاركين في التجربة وفروا ما معدله 56 دقيقة في يوم العمل عند استخدام هذه الأدوات. وكان التأثير الأكبر الذي تم الإبلاغ عنه هو إنشاء التعليمات البرمجية والتحليل، حيث تم توفير ما متوسطه 24 دقيقة يوميًا.
وجدت تجربة GDS أن أكثر من نصف المستخدمين أبلغوا عن قضاء وقت أقل في البحث عن المعلومات أو الأمثلة، وإكمال المهام بشكل أسرع، وحل المشكلات بشكل أكثر كفاءة والاستمتاع بعملهم أكثر.
لكن البرمجة الحيوية تأخذ القدرة على البرمجة السريعة إلى مستوى آخر، مما يسمح لمهندسي البرمجيات بتحديد ما يريدون تحقيقه باللغة الطبيعية. ويستخدم أدوات الذكاء الاصطناعي التوليدية (GenAI) مثل Anthropic’s Claude Code بطريقة تمكن الأشخاص من استخدام استعلامات اللغة الطبيعية لإنشاء البرامج. يعد هذا بتقليل حاجز الدخول أمام مطوري البرامج وتمكينهم من إنشاء برامج تطبيقية بشكل أسهل بكثير. ولكن هناك عدد من المحاذير.
سيمون ريتر، تحدث نائب الرئيس التنفيذي للتكنولوجيا في Azul Systems مؤخرًا إلى Computer Weekly حول بعض التحديات في استخدام اللغة الطبيعية لكتابة البرامج.
المشكلة الأولى التي من المحتمل أن يواجهها المبرمج، في تجربته، هي أن غالبية البرامج مكتوبة بلغات برمجة شبيهة باللغة الإنجليزية وهي حتمية، مما يعني أن المبرمج يخبر الكمبيوتر بشكل فعال بما يجب عليه فعله بالضبط: يجب ألا يكون هناك سوء فهم بين ما يكتبه المبرمج كرمز، وكيف يفسر الكمبيوتر هذا الرمز وكيف يتم تحويله إلى رمز آلة يوجه وحدة المعالجة المركزية للكمبيوتر (CPU) إلى ما يجب القيام به.
يقوم المترجم بترجمة كود المصدر إلى كود الجهاز الذي يمكن بعد ذلك تشغيله. يقوم المترجم بتحويل التعليمات البرمجية وتنفيذها في الوقت الفعلي. في كلتا الحالتين، يعتمد المبرمجون على المترجمين والمترجمين الفوريين للقيام بالتحويل إلى كود الآلة بدقة.
مفتوحة للتفسير
ولكن هذا ليس هو الحال عند استخدام اللغة الطبيعية لتحديد ما يحتاج البرنامج إلى تحقيقه.
قال ريتر، موضحاً تقلبات اللغة الطبيعية: “الدجاجة جاهزة للأكل. ماذا يعني ذلك في الواقع؟ هل يعني أن هناك دجاجة حية على الأرض وهي الآن جائعة وتريد أن تأكل؟ أم أنني اشتريت دجاجة من السوبر ماركت، ووضعتها في الفرن، وهي الآن جاهزة لي لتناولها؟”
كلا التفسيرين لهذه العبارة صحيحان، ولكن كما يشير ريتر، فإن لهما معنيين مختلفين تمامًا. قال: “تواجه اللغة الطبيعية مشكلة حقيقية عندما تحاول أن تصف بشكل لا لبس فيه ما تريد أن تفعله شيئًا ما”.
تعتمد برمجة Vibe على تدريب نماذج الذكاء الاصطناعي. وهذا يجعلها مناسبة لبعض مهام البرمجة، ولكن ليس كلها. أحد الأمثلة، والذي ينبغي أن يكون حالة استخدام مثالية للترميز الحيوي، موجود في برامج المؤسسة، حيث يكون من الضروري إنشاء وظائف إضافية أو تعليمات برمجية مخصصة لتلبية متطلبات عمل محددة. قد لا يكون المطور الأصلي للبرنامج على استعداد لتوفير هذه الوظيفة الإضافية، أو قد تكون تكلفة القيام بذلك باهظة. سيسمح تشفير Vibe لفرق مطوري البرامج الداخلية بإضافة الوظائف المطلوبة بسهولة.
ومع ذلك، كما يشير ريتر، من غير المرجح أن يكون منشئ التعليمات البرمجية الذي يعمل بالذكاء الاصطناعي قد تم تدريبه على تفاصيل تطبيقات المؤسسة التي تتطلب التخصيص. قال: “تكمن مشكلة البرمجة الحيوية في كيفية تدريب النموذج الخاص بك على وجه التحديد على التطبيق المحدد الذي تهتم به وجعله يفهم هذا التطبيق حتى يتمكن من إجراء التغييرات التي قد تكون مناسبة”.
وما لم تقدم الشركة التي تقدم البرنامج نموذجًا للذكاء الاصطناعي لتمكين العملاء من إنشاء وظائف إضافية، أشار ريتر إلى أن استخدام أداة ذكاء اصطناعي تابعة لجهة خارجية لتخصيص تطبيقات المؤسسة سيكون أمرًا صعبًا للغاية.
حالة استخدام أخرى في حوسبة المؤسسات هي تكامل البرامج، كما هو الحال عندما يحتاج شخص ما إلى استخدام تطبيقين أو أكثر لإنجاز عمله. هذه مشكلة شائعة أخرى في تكنولوجيا المعلومات في المؤسسات، وهي شيء حاولت أدوات أتمتة العمليات الآلية معالجته. لكن ريتر يعتقد أن مراقبة الذكاء الاصطناعي والتعلم من تفاعل المستخدم لمئات الأشخاص الذين يستخدمون تطبيقات مختلفة من شأنه أن يوفر ثروة من بيانات التدريب لتعزيز تكامل تطبيقات المؤسسة باستخدام البرمجة الحيوية.
على الرغم من وجود بعض القيود، بالنسبة لريتر، فإن البرمجة الديناميكية هي تقنية مفيدة لإنشاء تعليمات برمجية غير مهمة. تتضمن بعض حالات الاستخدام البسيطة إنشاء وحدات ماكرو للأتمتة البسيطة كما هو الحال في جداول البيانات أو لاستيعاب مجموعات البيانات في تقارير ذات معنى.
وفي وثيقة توجيهية لمطوري البرمجيات في الحكومة، أشارت GDS إلى أن مساعدي التشفير بالذكاء الاصطناعي يمكنهم إنتاج مخرجات حتمية وقابلة للاختبار، مما يعني أنه يمكن اختبار الكود المصدري الناتج عن التشفير الديناميكي والتحقق منه بسهولة.
لذا، إذا نظرنا إلى مثال ريتر للدجاج، إذا لم تبدو النتيجة صحيحة – لأن الذكاء الاصطناعي أساء فهم تعليمات المبرمج باللغة الإنجليزية البسيطة – فيمكن للمبرمج أن يطلب منه المحاولة مرة أخرى حتى ينتج الذكاء الاصطناعي رمزًا مقبولًا. وهذا يعني أن المبرمج يحتاج إلى الحصول على ملكية الكود الذي يتم إنتاجه من خلال التشفير الحيوي.
وهو أمر تعترف به الحكومة في بلدها إرشادات لمساعدي الترميز بالذكاء الاصطناعي. تنص GDS على أن الاستخدام المسؤول لمساعدي التشفير بالذكاء الاصطناعي يتطلب من المبرمج فهم الكود الناتج وتحمل المسؤولية الوحيدة عن أي تغييرات.




