// البرمجيات
دفن المُوجَّه في الشيفرة: شكل جديد للدَّين التقني
6 دقيقة قراءةnijitech
حين تتناثر مُوجَّهات النموذج في الشيفرة المصدرية يصير كلّ تغيير نصّ إصدارًا جديدًا. وهذا بالضبط ما حدث لاستعلامات SQL قبل عقد.
المقال كاملًا
في تطبيق يكتسب ميزة ذكاء اصطناعي، تذهب المُوجَّهات عادةً إلى أقرب موضع عمليّ: داخل الدالّة التي تُجري الاستدعاء. وهذا هو القرار الصحيح في الأسبوع الأوّل — فهو سريع وناجح. أمّا في الشهر السادس فيكون القرار نفسه قد أنتج أبطأ أجزاء المنتج تغيّرًا.
قصّة مألوفة. فقبل عقد كانت استعلامات SQL مدفونة في شيفرة التطبيق أيضًا، وكان كلّ تغيير استعلام يقتضي نشرًا جديدًا. والنتيجة واحدة: يصير تغيير نصّ مهمّةَ هندسة.
أربع كُلَف للمُوجَّه المدفون في الشيفرة
ما يحدث فعلًا
- تصحيح كلمة واحدة يقتضي إصدار نسخة
- التعليمة نفسها تُنسَخ في ملفّات عدّة؛ يُحدَّث أحدها ويُنسى الآخر
- لا تُرى أيّ مُوجَّه تغيّر ومتى — فلا يُعثَر على سبب تغيّر السلوك
- مَن ينبغي أن يكتب النصّ (خبير المجال) لا يستطيع الوصول إلى الملفّ
والرابعة أخبثها. فالمُوجَّه في حقيقته نصّ منتج: نبرته ونطاقه وحدوده تحتاج معرفة بالمجال. وبدفنه في الشيفرة يكون حقّ كتابة هذا النصّ قد انتُزع ممّن ينبغي أن يكتبه.
المُوجَّه إعدادات
العلاج غير معقّد: تعيش المُوجَّهات في موضع منفصل عن الشيفرة، تحت إدارة إصدارات، ويستدعيها التطبيق بمعرّف. ومن ثمّ يصير تغيير مُوجَّه مهمّة إعداد لا عملية نشر.
إدارة الإصدارات تجعل التغيير قابلًا للعكس
حين يتغيّر المُوجَّه يتغيّر السلوك، وقد يسوء أحيانًا. وبغير إصدارات لا يوجد موضع تعود إليه؛ ولا يبقى لك سوى ملاحظة أنّ الأمس كان أفضل.
وهنا تظهر الصلة بمجموعة التقييم. فبوجود مُوجَّه مُدار الإصدارات ومجموعة تقييم قابلة للتشغيل معًا، تستطيع عند كلّ تغيير قياس أيّ فئة تراجعت. وغياب أيٍّ منهما يترك القياس ناقصًا.
ماذا يحدث حين يتغيّر النموذج
النماذج تشيخ، وحين تصدر نسخة أرخص أو أقوى تريد الانتقال. فإن كانت المُوجَّهات متناثرة في الشيفرة صار الترحيل عملية بحث واستبدال، ووجب تجريب كلّ مُوجَّه على حدة مع النموذج الجديد.
أمّا وقد صارت المُوجَّهات في موضع واحد فالترحيل نفسه تغييرُ إعدادات وتشغيلةُ تقييم واحدة. والفرق بين ساعات وأيّام.
من أين تبدأ
الخطوات الثلاث الأولى
- اجمع كلّ مُوجَّه في المستودع في موضع واحد — انقلها فحسب، لا أكثر
- أعطِ كلّ مُوجَّه معرّفًا ورقم إصدار
- اكتب التغيير التالي إصدارًا جديدًا؛ ولا تحذف القديم
ولا واحدة من الثلاث تقتضي تغييرًا معماريًّا. والمردود يأتي في أوّل يوم تحتاج فيه إلى التراجع.
من المصطلحات: تنسيق النماذج · مجموعة التقييم (eval)