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

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

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

يمكن أن يعني المفهوم أشياء مختلفة: مجموعة من عوامل البرمجة وملفات المهارات؛ CI/CD أسرع؛ أنظمة مراجعة أفضل؛ أو المزيد من الأتمتة حول تسليم البرامج. الإطار الأفضل هو النظر إلى الأمر على أنه مجموعة من المبادئ وليس فئة من الأدوات. لا يمكن لمصنع البرمجيات أن يكون مجرد مجموعة فضفاضة من المطالبات والوكلاء والمكونات الإضافية. إنه يحتاج إلى نظام أساسي يحدد كيفية تحرك العمل عبر النظام وكيفية إنشاء التعليمات البرمجية ومراجعتها واختبارها وتتبعها ونشرها وتحسينها عندما يحدث خطأ ما.

وإلا فإن كل ما تفعله هو وضع آلة أخرى لمرة واحدة في غرفة فارغة وتسميتها مصنعًا.

لماذا يحدث هذا الآن؟

هناك عدد قليل من القوى تضرب جميعها في نفس الوقت.

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

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

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

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

مخاطر مصنع البرمجيات الحديثة

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

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

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

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

البيانات تظهر بالفعل مشاكل. وجدت Faros AI أنه في حين أن إنتاجية المهام لكل مطور ارتفعت بنسبة 33.7% ومعدل دمج العلاقات العامة بنسبة 16.2%، فقد ارتفعت نسبة الحوادث إلى العلاقات العامة بنسبة 242.7% وارتفعت الأخطاء لكل مطور بنسبة 54%. وجدت أبحاث DORA التي أجرتها Google أن المزيد من اعتماد الذكاء الاصطناعي كان مرتبطًا في الواقع بسوء استقرار التسليم.

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

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

ويعكس هذا النمط ما حدث قبل عقد من الزمن مع أدوات الخدمة الذاتية: مكاسب الإنتاجية المبكرة التي حجبت التعقيدات النهائية.

ولهذا السبب لا يمكن لمصنع البرمجيات أن يقتصر على السرعة فقط.

ما الذي يجعل مصنع البرمجيات يعمل

هناك العديد من المبادئ الأساسية التي يجب مراعاتها عند بناء مصنع برمجيات.

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

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

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

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

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

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

السرعة بدون الجودة ليست إنتاجية

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

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

مصنع البرمجيات الذي يفوز ليس هو الذي ينتج أكبر عدد من التعليمات البرمجية. إنه الذي يولد أقل عدد من العيوب في اتجاه مجرى النهر.

شاركها.
اترك تعليقاً