اقتراح تشغيل يختبره المساعد الذكي قد يسجل نتيجة بديلة دون إرسالها إلى مسار التنفيذ. في اختبارات الظل الموثقة لـ SageMaker، يعود رد نسخة الإنتاج إلى التطبيق، ويمكن تسجيل رد الظل أو تجاهله. [1] نستخدم الفصل في سيناريو رمزي، دون تجربة خدمة أو تشغيل آلة أو إقرار إعداد فني.
الخلاصة السريعة
سجل الإعداد المقترح والإعداد الذي وصل إلى التنفيذ ونتيجة كل منهما؛ مخرج لم يطبق لا يملك نتيجة إنتاج فعلية لمجرد تسجيله بجانبها.
- حدد مسار الرد الفعلي؛ في SageMaker المذكور يعود رد الإنتاج فقط إلى التطبيق، ويمكن حفظ رد الظل للمقارنة، لا اعتمادًا تلقائيًا. [1]
- في تمريننا، الإعداد المطبق 30، واقتراح الظل 40 محفوظ دون أمر تشغيل؛ نتيجة 60 بطاقة مفترضة تخص التشغيل عند 30، ولا تنسب إلى 40.
- مقارنة المخرجين تجيب عن اختلاف اقتراحهما؛ لا تقيس أداء الآلة عند قيمة لم تطبق، واتفاقهما لا يثبت ملاءمة تشغيلهما.
- راجع الربط والصلاحيات وحالة التفعيل قبل وصف تجربة؛ اسم «ظل» لا يثبت غياب كل أثر جانبي، وقرار التفعيل ليس تنفيذا أو ضمان نجاح.
أي مسار يصل إلى المستخدم أو التنفيذ؟
توضح وثائق SageMaker إرسال صورة من طلب الاستدلال إلى نسخة الظل، مع بقاء رد الإنتاج وحده المرسل إلى التطبيق. [1] هذه خاصية للخدمة المذكورة، وليست وصفا لكل منتج يطلق على نفسه «اختبار ظل».
في خطتنا التعليمية، يصل طلب واحد إلى مسار معتمد ومسار يقترح إعدادًا بديلا. نفترض أن الثاني لا يملك طريقا لإرسال أمر للآلة، وأن مخرجه يسجل فقط. يجب حفظ هذا الشرط قبل تفسير النتيجة؛ نسخ المدخل وحده لا يثبت أن مساري المخرج منفصلان.
لا نفسر الاسم باعتباره ضمانا لانعدام كل أثر جانبي؛ قد توجد كتابة سجلات أو معالجة بيانات تحتاج مراجعة. مقالنا لا يفحص تطبيقًا أو يمنح صلاحية تشغيل، ولا يقدم تعليمات لتغيير إعداد آلة حقيقية.
أي إعداد أنتج العدد في القصة؟
نفترض تجهيز بطاقات نشاط بإعداد رمزي قيمته 30، واقتراح ظل قيمته 40. الأعداد رموز ضبط اخترعناها، وليست سرعة أو درجة حرارة أو حدا فنيًا. في القصة نثبت أن التنفيذ بقي عند 30، وأن 40 لم يرسل إليه.
ثم نفترض أن سجل النتيجة أظهر 60 بطاقة لتلك الدفعة. هذه نتيجة مختلقة للتوضيح، لا قياس أجريناه. إذا كتب المساعد «اقتراح 40 أنتج 60 بطاقة»، فقد نسب نتيجة إلى فعل لم يقع حتى ضمن شروط القصة.
يحفظ سجلنا معرف الطلب ومخرجي المسارين والإعداد المطبق، ويربط النتيجة بالدفعة نفسها. وإذا غاب الإعداد الفعلي، فلا يكمله المساعد من اقتراحه المفضل أو من القيمة التي سجلت آخرًا.
ماذا نعرف من اختلاف المخرجين؟
مقارنة 30 و 40 تقول إن مساري المثال اقترحا قيمتين مختلفتين للطلب نفسه. لا تقول كم بطاقة كان سيخرجها الإعداد 40، ولا كم خللا كان سيحدث عنده. لم نعرف هذه النتيجة لأننا لم نفترض تطبيق البديل.
قد يفحص الفريق لاحقا معيارا مناسبا لمخرجات الاقتراح، لكنه لا يسمي ذلك اختبار إنتاج بديل. كما أن اتفاق القيمتين في طلب آخر لا يثبت صحتهما؛ قد يحتاج التشغيل شروطًا لم يشملها المدخل.
لا نحول اختلاف الاقتراح إلى تحسن أو تدهور عددي في الإنتاج، ولا نجمع نتائج من دفعات مختلفة كأن الإعداد وحده تغير. نحدد السؤال الذي قيست إجابته فعلا قبل استعمال كلمة «أفضل».
ما الذي يغيره الانتقال من الظل إلى الفعل؟
أي تفعيل مقترح يحتاج بيان من يعتمد الإعداد، وأي طلبات يشمل، وما الذي سيصل إلى التنفيذ، وكيف تسجل النتيجة الفعلية. لا يمنح اكتمال تقرير الظل موافقة تشغيل، ولا يثبت أن قرارا وافق عليه شخص قد نفذ.
إذا تغيرت صلاحيات الربط أو بدأ مخرج الظل يؤثر في الأمر الفعلي، تغيرت طبيعة التجربة. نسجل الحالة الجديدة ولا نبقي وصف «اقتراح لم يطبق» على نتائج لاحقة أصدرت أوامر.
لم ننشئ نسخة خدمة أو نرسل أمرا أو نقس زمن استجابة. الفصل بين الاقتراح والفعل والنتيجة يتيح مراجعة صادقة للنطاق؛ لا يضمن سلامة إعداد أو فائدته أو استقلال كل أثر في نظام حقيقي.
المصادر ومتابعة القراءة
- Amazon SageMaker AI: Shadow tests (يفتح في نافذة جديدة)docs.aws.amazon.com
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
