Technology · · 3 min read

ميتا تستخدم بيانات التغييرات البرمجية لتقييم تأثير الذكاء الاصطناعي في الهندسة البرمجية

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

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

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

ولا تستخدم ميتا هذا المقياس لترتيب المهندسين الأفراد أو تقييمهم. بل تفحص الأنماط عبر الفرق والأقسام والشركة ككل. والهدف هو رصد التراجعات، وتحديد التحسينات المفيدة، وتقرير المجالات التي يبرَّر فيها المزيد من الاستثمار في أدوات الهندسة البرمجية.

رؤية أكثر تفصيلًا للإنتاجية

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

ويتيح هذا النهج لميتا أيضًا اختبار ما إذا كانت التغييرات التي تُجرى على أطر العمل وأدوات المطورين تحقق فوائد عملية. ويورد التقرير تقنية التخزين المؤقت التلقائي في مترجم React مثالًا على ذلك. وبالمقارنة مع إضافة التخزين المؤقت يدويًا، قلّص النهج التلقائي للمترجم الوقت اللازم لتأليف تغيير بنحو 30%. ويعرض بيلر نتائج بهذا الحجم بوصفها دليلًا على أن التحسينات الجوهرية في بيئة التطوير قد تكون أهم من التحسينات الطفيفة على الواجهات.

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

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

ما الذي تفوّتْه مقاييس الإنتاجية

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

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

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

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

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

تحدي الاختبار أمام وكلاء الذكاء الاصطناعي

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

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

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

metadeveloper productivityartificial intelligencesoftware engineeringengineering metricsai agentssoftware testing

Continue reading

Read this in another language