لقد غيرت المصانع الصناعية الطريقة التي ينتج بها العالم السلع المادية: كفاءة أكبر، وتكاليف أقل، وأسرع من أي شيء من قبل. الآن يحدث تغيير مماثل مع البرامج.
لقد خفضت LLMs حاجز كتابة التعليمات البرمجية، وزيادة الإنتاجية الفردية، وأجبرت المنظمات على التفكير في تطوير البرمجيات كنظام إنتاج. إن دورة حياة البرامج القياسية وممارسات CI/CD التي كانت موجودة منذ عقود لن تتحمل هذا الضغط. وهنا يأتي دور مصنع البرمجيات – ومثل المصانع المادية، فهو يحتاج إلى أكثر من مجرد السرعة ليعمل فعليًا.
بدأت فكرة “مصنع البرمجيات” تترسخ خلال العام الماضي. “عصر مصنع البرمجيات” للوكا روسي أوضحت: الذكاء الاصطناعي لا يغير السرعة التي يكتب بها الأشخاص التعليمات البرمجية فحسب، بل يغير نظام الإنتاج بأكمله حول البرامج.
يمكن أن يعني المفهوم أشياء مختلفة: مجموعة من عوامل الترميز وملفات المهارات؛ CI/CD أسرع؛ أنظمة مراجعة أفضل؛ أو أتمتة أكبر لتسليم البرامج. الحل الأفضل هو النظر إلى الأمر على أنه مجموعة من المبادئ وليس على أنه فئة من الأدوات. لا يمكن لمصنع البرامج أن يكون مجرد مجموعة فضفاضة من المطالبات والوكلاء والمكونات الإضافية. فهو يحتاج إلى نظام أساسي يحدد كيفية تدفق العمل في النظام وكيفية إنشاء التعليمات البرمجية ومراجعتها واختبارها وتتبعها ونشرها وتحسينها عندما يحدث خطأ ما.
بخلاف ذلك، كل ما تفعله هو وضع آلة أخرى يمكن التخلص منها في غرفة فارغة وتسميتها مصنعًا.
لماذا يحدث هذا الآن؟
هناك عدة قوى تضرب في وقت واحد.
لقد أرادت الشركات دائمًا برمجيات أكثر مما يستطيع المهندسون إنتاجه. ولهذا السبب توجد أدوات مثل Excel: فهي غالبًا ما تسد فجوة في العديد من البرامج التي ترغب العديد من الشركات في إنشاءها.
لقد ساهم الذكاء الاصطناعي أيضًا في خفض حاجز الدخول إلى تطوير التعليمات البرمجية، وهذا ما يركز عليه الجميع. أصبح إنشاء التعليمات البرمجية الآن أسهل، على الرغم من أنه ليس دائمًا أرخص وأفضل، كما يتضح من العديد من الشركات المعروفة إنهم قلقون بشأن ارتفاع فواتير الذكاء الاصطناعي. لقد سقط حاجز كتابة التعليمات البرمجية الوظيفية بشكل فعال.
والأهم من ذلك، أن مهندسًا واحدًا يمكنه إنشاء عدد أكبر من التعليمات البرمجية مما كان عليه حتى قبل بضع سنوات. يؤدي هذا إلى تغيير عنق الزجاجة: لم يعد السؤال هو “ما مدى السرعة التي يمكن لشخص ما أن يكتب بها هذا؟” أو حتى، في بعض الحالات، “هل يمكن لأي شخص أن يفهم كيفية البرمجة؟” وبدلاً من ذلك، يصبح السؤال: “هل يجب كتابة هذا؟”
والأهم من ذلك، هل يمكننا بالفعل إنشاء منتجات نهائية متينة وموثوقة، وليس فقط مثقلة بالتكنولوجيا؟ أم أننا نقدم المزيد من أخطاء الذكاء الاصطناعي بشكل أسرع من أي وقت مضى؟ وهنا يكمن الخطر.
تهديدات مصنع البرمجيات الحديثة
كل هذا يبدو رائعا. وفي النهاية، جعلت المصانع الإنتاج أسرع وأكثر اتساقًا.
لقد جعلوا من الممكن بناء المزيد من السيارات والمنتجات بتكلفة أقل، مما جعل المزيد من الناس قادرين على شراء السيارات والمنتجات. وبغض النظر عن التأثير البيئي، يمكن القول إن هذا أمر إيجابي.
ولكن مثل العديد من الأشياء في الهندسة، هناك دائمًا مقايضات، وفي هذه الحالة، تظهر مخاطر جديدة.
عندما تزيد إنتاجية شخص واحد باستخدام الآلات، الرقمية أو غيرها، فإنك تزيد أيضًا من عدد الأخطاء التي يمكن أن يرتكبها هذا الشخص أو الآلات. إن السرعة التي يمكن بها نشر الكود اليوم هي على نطاق صناعي. حتى المؤسسات الأصغر حجمًا يمكنها فجأة تطوير قواعد الأكواد الخاصة بها إلى حجم قواعد الأكواد البرمجية لشركات التكنولوجيا قبل عقد من الزمن.
تظهر البيانات بالفعل مشاكل. وجدت شركة Faros AI أنه على الرغم من زيادة إنتاجية المهام لكل مطور بنسبة 33.7% ومعدل دمج العلاقات العامة بنسبة 16.2%، ارتفعت نسبة الحوادث إلى العلاقات العامة بنسبة 242.7% وزاد عدد الأخطاء لكل مطور بنسبة 54%. وجدت دراسة DORA التي أجرتها Google أن هناك في الواقع اعتمادًا أكبر للذكاء الاصطناعي يرتبط بسوء استقرار التسليم.
باعتباري رئيسًا للبيانات الجزئية، طُلب مني حل هذه المشكلات تحديدًا. في العام الماضي فقط، عملت في مشروعين حيث بدأت البنية التحتية للبيانات الناتجة عن الذكاء الاصطناعي في التغير ببطء مع مرور الوقت.
ومع محاولة العديد من المهندسين التحرك بسرعة والافتقار إلى المعايير، أصبحت هذه المشاريع جامحة. عادةً ما تمر قواعد التعليمات البرمجية بمستوى معين من التطور، ولكن مع اختلاط أنماط LLM المختلفة، فإنها بدورها تبدأ في إنشاء طفرات خاصة بها. طورت Codebases خمسة إلى ستة أنماط مختلفة في غضون أشهر – وهي عملية كانت تستغرق سنوات في السابق. طبقة بعد طبقةتوقف المهندسون ببطء عن فهم ما كان يحدث بالضبط.
ويذكرنا هذا النمط بما حدث قبل عقد من الزمن مع أدوات الخدمة الذاتية: فقد حجبت مكاسب الإنتاجية المبكرة التعقيد الذي تتسم به خطوات الإنتاج النهائية.
ولهذا السبب لا يستطيع مصنع البرمجيات الاعتماد على السرعة فقط.
ما الذي يجعل مصنع البرمجيات يعمل
عند بناء مصنع برمجيات، هناك بعض المبادئ الأساسية التي يجب مراعاتها.
منصة فوق الأدوات: تتبنى العديد من الفرق الذكاء الاصطناعي ببطء في عمليات ترميز الحافة الخاصة بهم عن طريق إضافة وكيل مراجعة العلاقات العامة أو ملف المهارات إلى مستودعاتهم. لكن بناء مصنع برمجيات حقيقي يتطلب منصة، وليس مجموعة من الأدوات على الحافة. توفر المنصة أساسًا موحدًا حيث لا تكون الأدوات متناثرة في زوايا منفصلة. وبدلاً من ذلك، فإنهم يتشاركون البيانات بنشاط، ويتحدثون مع بعضهم البعض، ويعملون كنظام واحد متماسك – فالمعايير والعمليات والعمل نفسه مترابطة.
إمكانية إعادة التشغيل والتتبع: تتطلب المنصة الحقيقية القدرة على العودة إلى أي عملية تشغيل، وتحديد الأخطاء التي حدثت، وتشغيلها مرة أخرى – ولهذا السبب لا يشكل الوكلاء لمرة واحدة مصنعًا. يجب أن يدعم النظام أخذ المعرف التسلسلي والبحث عنه وتتبع كيفية وصوله إلى النتيجة التي تم إنشاؤها بالضبط. وهذا هو السبب في أن أجهزة الحالة أكثر منطقية من الحلقات في سير عمل الذكاء الاصطناعي: فهي تجعل إعادة تشغيل العملية وفهم ما حدث في كل خطوة أسهل بكثير.
السلامة والدرابزين: المصانع ليست أماكن آمنة. كما أنه ليس مصنع برمجيات. مع تطور المزيد والمزيد من الأشخاص على هذه المنصات، حواجز أفضل ويجب تنفيذ التدابير الأمنية. يجب أن يكون الاختبار ومراقبة الجودة في طليعة العملية – حيث أن اكتشاف الأخطاء في أدنى مرحلة ممكنة يقلل من تكلفة المعالجة ويحد من نصف قطر الانفجار.
تطبيع: على مستوى المؤسسة، كل قاعدة تعليمات برمجية لها أسلوبها الخاص. يؤدي وضع مساعد الكود في الأعلى بدون معايير إلى دمج الأنماط. يجب أن يتم دمج التقييس في العملية منذ البداية.
ضبط الجودة: في نماذج الإنتاج الأقدم، كانت مراقبة الجودة تتم في نهاية الخط. تم بناء المنتج واختباره والعثور على العيوب وتصحيحها لاحقًا. كان نهج تويوتا مختلفًا. تم دفع الجودة إلى العملية نفسها – كان من المتوقع أن يقوم العمال بإيقاف الخط عندما يحدث خطأ ما. ولم يكن الهدف اكتشاف العيوب في النهاية؛ كانت الفكرة الرئيسية هي منعهم من التدفق في اتجاه مجرى النهر.
وينطبق الشيء نفسه على مصنع البرمجيات. يجب أن تكون مراقبة الجودة جزءًا من العملية بأكملها، بدءًا من كيفية كتابة المواصفات. وهذا يعني دمج تحليل التعليمات البرمجية الثابتة الذي يكتشف الأخطاء الواضحة وتوفير قوالب LLM حتى يعرفوا البنية التي يجب أن تحتوي عليها التعليمات البرمجية. وبدون ذلك، يصبح عنق الزجاجة هو الحكم النهائي – أو تقوم الفرق ببساطة بطرد المزيد من أخطاء الذكاء الاصطناعي.
السرعة بدون الجودة ليست إنتاجية
إن تحسين سرعة إنشاء التعليمات البرمجية لا يُترجم إلى إنتاجية حقيقية ما لم يتم حل المشكلات في المراحل النهائية. الشركة ليست أكثر إنتاجية لأنها تنتج ملايين السيارات ثم تراها كلها تنهار ضمن دائرة نصف قطرها 100 ميل. كما أنها لن تكون أكثر إنتاجية إذا قامت فقط بإنشاء تيار لا نهاية له من إثباتات المفهوم التي لا تصل إلى مرحلة الإنتاج أبدًا.
تحدث الإنتاجية الحقيقية عندما يأخذ مصنع البرمجيات رموزًا سريعة الزوال ويحولها إلى مخرجات دائمة. من السهل التحدث عن سطور التعليمات البرمجية ومدى سرعة تحرك فريقك.
مصنع البرمجيات الفائز ليس هو المصنع الذي ينتج أكبر عدد من الأكواد البرمجية. وهذا هو الذي يولد أقل عدد من العيوب في وقت لاحق من العملية.









