لماذا يعاني تطبيقك المبني بالذكاء الاصطناعي من مشكلة بيانات ناقصة (وكيف تصلحها قبل أن يصطدم بها مستخدموك)
البيانات الناقصة تحدث عندما يتخطى المستخدمون الحقول الاختيارية، أو يتركون النماذج في منتصف الطريق، أو ينسون إجاباتهم السابقة — وقاعدة البيانات تخزّن هذه الفجوات بصمت. الحل: حدّد الحقول الإلزامية بوضوح، وتحقق من كل حقل أثناء الكتابة، وأكّد الإجابات السابقة في كل خطوة.
بنيتَ تطبيقاً، وبدأ مستخدموك الحقيقيون الأوائل باستخدامه، ثم لاحظتَ شيئاً غريباً. بعض السجلات فيها حقول فارغة. بعض المستخدمين رفعوا معلومات لكنها لم تُحفظ. بعض سير العمل توقف في منتصف الطريق لأن حقلاً إلزامياً اختفى من النموذج بعد أول استخدام. البيانات كانت تبدو صحيحة أثناء اختبارك، لكن هناك شيئاً في طريقة استخدام الناس الحقيقيين للتطبيق كان يترك فجوات.
هذه واحدة من أكثر اللحظات شيوعاً في حياة أي تطبيق مبني بالذكاء الاصطناعي، ولا يتوقعها أحد تقريباً. أداة البناء لديك أنشأت التطبيق بشكل صحيح. قاعدة البيانات مُعدّة بشكل سليم. لكن المستخدمين كائنات بيانات بطبعهم: يتخطون الحقول، يغلقون التطبيق في منتصف العملية، يملأون البيانات من ثلاثة أجهزة مختلفة، يعودون بعد أشهر وقد نسوا ما أدخلوه سابقاً. في مكان ما داخل هذا الواقع، تظهر الفجوات.
إليك ما يحدث فعلاً، ولماذا يتسلل إليك دون أن تشعر، والخطوات التي توقفه قبل أن يتحول تطبيقك من أصل إلى عبء.
لماذا يحتوي تطبيقي على بيانات مفقودة أو ناقصة؟
يحتوي تطبيقك على بيانات مفقودة أو ناقصة لأن المستخدمين يتخطون الحقول الاختيارية، أو يتركون النماذج متعددة الخطوات في منتصف الطريق، أو يملأون البيانات عبر جلسات وأجهزة مختلفة — وقاعدة البيانات تخزّن كل ما تركوه، بما في ذلك الفجوات. هذا ليس تلفاً في قاعدة البيانات ولا خطأً في أداة البناء. البيانات الموجودة فعلاً صحيحة. المشكلة في البيانات غير الموجودة.
عندما يملأ مستخدم نموذجاً ثم يغادر، فإنه يترك خلفه سجلاً. لكن “ترك سجل” يختلف عن “إكمال سجل”. نموذج تسجيل بثمانية حقول قد يحتوي على خمسة ممتلئة، وثلاثة فارغة لأن المستخدم لم يظنها إلزامية، أو لم يعرف ما يكتب فيها، أو عاد في اليوم التالي ونسي. تطبيقك قبِل ذلك. قاعدة البيانات خزّنته. والآن سير العمل التالي — الجزء الذي من المفترض أن يرسل فاتورة، أو يسند مهمة، أو يولّد تقريراً — يصطدم بحقل فارغ، فإما يتعطل أو ببساطة… لا ينفّذ تلك الخطوة.
هذا يختلف عن كون البيانات خاطئة. البيانات الخاطئة يمكنك رؤيتها. أما البيانات الناقصة فهي أكثر خداعاً: يبدو التطبيق وكأنه يعمل. يعرض اسم المستخدم وبريده الإلكتروني. ولا تكتشف أن رقم الهاتف مفقود إلا عندما تحاول استخدام ذلك السجل في شيء لاحق، وعندها لا تستطيع إرسال رسالة تأكيد نصية، فيتوقف سير العمل.
ما الذي يسبب البيانات الناقصة في تطبيق مبني بالذكاء الاصطناعي؟
ثلاث عادات تخلقها، وإذا كنت تمارس أياً منها، ستلاحظ الفجوات في بياناتك بعد أسابيع من استخدام مستخدميك للتطبيق: حقول اختيارية كان يجب أن تكون إلزامية، وسير عمل متعدد الخطوات لا يذكّر الناس بما أدخلوه سابقاً، ونماذج لا تتحقق من الصحة إلا في النهاية.
أولاً: حقول اختيارية كان يجب أن تكون إلزامية. بنيتَ نموذجاً وحددت بعض الحقول كاختيارية لأنك ظننت “ربما لا يريد الناس إعطاءنا هذه المعلومة”. لكن بعد ذلك يحاول تطبيقك استخدام ذلك الحقل. يحتاج إلى رقم هاتف لإرسال تأكيد، أو عنوان للشحن، أو وسيلة دفع للخصم. النموذج سمح للمستخدم بتخطيه. والآن التطبيق لا يعمل. كل حقل اختياري في تطبيقك يجب أن يجتاز هذا الاختبار: “هل تطبيقي يعمل فعلياً إذا كان هذا الحقل فارغاً؟” إذا كانت الإجابة لا، اجعله إلزامياً. إذا كانت الإجابة نعم، احذف الحقل.
ثانياً: سير عمل متعدد الخطوات لا تذكّر خطواته اللاحقة الناس بما أدخلوه. تخيّل تسجيلاً من خمس خطوات، الخطوة الأولى تطلب بريداً إلكترونياً، والخطوة الخامسة تسأل “أرسل الفواتير إلى؟” وتكون فارغة. المستخدم نسي ما أدخله قبل دقيقتين. النموذج قبِلها كإجابة جديدة. والآن لديك بريدان إلكترونيان ولا فكرة عن أيهما الصحيح. كل خطوة في سير العمل يجب أن تذكّر المستخدم بما قاله سابقاً وتمنحه فرصة لتغييره.
ثالثاً: لا تحقق من الصحة حتى النهاية. نموذج بثمانية حقول لا يتحقق من صحتها إلا عند الضغط على “إرسال” هو رحلة مباشرة نحو بيانات ناقصة. يملأ شخص ما سبعة حقول بشكل صحيح ويضغط إرسال، ثم يقول النظام “الحقل الثالث غير صالح”. الآن عليه التمرير للأعلى، وتذكّر ما كان الحقل الثالث، وإصلاحه. أو — الأرجح — يغلق التبويب. النموذج قبِل مدخلاً ناقصاً لأن المستخدم شعر بالإحباط. النماذج الجيدة تتحقق من صحة كل حقل لحظة انتهاء الشخص من كتابته، حتى يعرف بوجود مشكلة وهو لا يزال منتبهاً.
كيف تصلح البيانات الناقصة في تطبيق؟
أصلح البيانات الناقصة بمعاملتها كجزء من تجربة المستخدم، لا كمشكلة خلفية: اجعل الحقول الإلزامية واضحة، وتحقق من كل حقل أثناء كتابة الناس، واشرح سبب طلبك للمعلومة، وذكّر المستخدمين بما أخبروك به سابقاً.
ابدأ بصراحة صارمة حول ما تحتاجه فعلاً. اجلس وأجب عن سؤال واحد لكل حقل: “إذا كان هذا الحقل فارغاً، هل يستطيع تطبيقي أداء وظيفته؟” إذا كانت الإجابة لا، اجعله إلزامياً. علّمه كإلزامي على النموذج نفسه — ليس فقط في نص مساعدة صغير، بل بعلامة واضحة للعيان. كثير من المستخدمين سيتخطون حقلاً ما لم يكن مُعلَّماً بوضوح كإلزامي. لا يمكنك ترك الحقول الإلزامية غامضة ثم تأمل أن يخمّن المستخدمون ذلك.
تحقق من الصحة مبكراً وباستمرار. لا تنتظر حتى الإرسال لتخبر أحداً بوجود مشكلة. وهو يكتب بريداً إلكترونياً، تحقق إن كان يبدو كبريد إلكتروني. وهو يختار تاريخاً، تحقق إن كان في الماضي. أخبره في تلك اللحظة بما هو خاطئ، حتى يستطيع إصلاحه وهو لا يزال يفكر في ذلك الحقل. رسالة مضمّنة مثل “نحتاج تاريخاً في المستقبل” هي مساعدة. أما انتظار الإرسال لتقول “مدخل غير صالح” فهو مفاجأة سيئة.
أظهر ما ستفعله بالبيانات. إذا كنت تحتاج رقم هاتف شخص ما، أخبره لماذا: “سنستخدم هذا لإرسال تأكيد الشحن إليك.” إذا رأى المستخدم سبباً، فمن الأرجح أن يعطيك رقماً حقيقياً بدلاً من تخطيه. أما إذا كان مجرد حقل فارغ، فيبدو وكأنه ضجيج بلا معنى.
ذكّر الناس بما أدخلوه سابقاً. إذا كان تطبيقك يحتوي على خطوات أو شاشات متعددة، يجب أن تقول الشاشة الثانية “بريدك الإلكتروني كان: alice@example.com. هل هذا صحيح؟” هذا يحقق أمرين: يثبت للمستخدم أنك استلمت ما أدخله، ويمنحه فرصة لتصحيح خطأ إملائي قبل أن يصبح مهماً. كثير من البيانات الناقصة هي في الواقع أخطاء إملائية — كان المستخدم يقصد إدخال شيء فخرج خاطئاً، والآن لا يستطيع النظام اللاحق استخدامه.
بالنسبة للحقول الاختيارية: كن صريحاً بشأن سبب كونها اختيارية. إذا كان حقل ما اختيارياً فعلاً، فيجب أن يقول النموذج ذلك: “الهاتف (اختياري — اتركه فارغاً إن لم ترغب بإشعارات الشحن).” إذا قرأ المستخدم ذلك وتخطاه رغم ذلك، فلديك بيانات حقيقية مفادها أنه لا يريد تقديمها. هذا نظيف. البديل هو حقل فارغ ولا فكرة إن كان قد تخطاه أم نسيه.
مثال حقيقي: نموذج التسجيل الذي لم يلتقط شيئاً
بنت مؤسِّسة تطبيقَ حجوزات بنموذج من خطوتين: الخطوة الأولى تطلب بريداً إلكترونياً واسماً، والخطوة الثانية تطلب رقم هاتف وتاريخاً مفضلاً. الحقول كُتب عليها “إلزامي” لكن النموذج لم يكن يتحقق من الصحة فعلياً — كان فقط يسمح للناس بالمرور. سجّل مئات الأشخاص. وعندما حاولت إرسال تأكيدات عبر الرسائل النصية، ارتد 40٪ منها لأن حقل رقم الهاتف كان فارغاً. ظنّت في البداية أنها تسجيلات مزيفة. ثم راقبت مستخدماً حقيقياً يمر بالعملية: ملأ البريد الإلكتروني والاسم في الخطوة الأولى، وضغط “التالي”، وفي الخطوة الثانية بدا حقل الهاتف اختيارياً بجانب حقل التاريخ الإلزامي (بسبب التصميم)، فتخطاه.
الحل: جعل حقل الهاتف إلزامياً بشكل مرئي واضح، والتحقق من صحته في تلك الشاشة قبل السماح بالمتابعة، وإظهار “بريدك الإلكتروني هو alice@example.com” في الخطوة الثانية حتى يعرف المستخدمون أن بيانات الخطوة الأولى وصلت فعلاً.
تعافت الحجوزات لأن النموذج بات يثبت فعلياً أنه يجمع ما تحتاجه.
ماذا يجب أن أطلب من أداة البناء بالذكاء الاصطناعي لإصلاح هذا؟
سلّم أداة البناء لديك هذه التعليمات مباشرة — تغطي الحقول الإلزامية، والتحقق المضمّن من الصحة، وخطوات التأكيد، وسياق الحقول الاختيارية، واختبار ما قبل الإطلاق:
- “اجعل حقلي الهاتف والبريد الإلكتروني إلزاميين وعلّمهما بوضوح كإلزاميين على النموذج.”
- “تحقق من صحة كل حقل أثناء كتابة المستخدم. أظهر رسائل خطأ مضمّنة مثل ‘يرجى إدخال بريد إلكتروني صالح’ بجانب الحقل مباشرة.”
- “في الخطوة الثانية، أظهر ‘بريدك الإلكتروني كان: [البريد الإلكتروني]. هل هذا صحيح؟’ حتى يتمكن المستخدمون من التأكيد أو التصحيح.”
- “بالنسبة لأي حقول اختيارية، أضف نص مساعدة يشرح سبب كونها اختيارية، مثل ‘تخطي هذا يعني أننا لن نرسل لك تنبيهات نصية.’”
- “شغّل هذا الاختبار: مرّ بكامل سير العمل على هاتفك وتخطَّ كل حقل اختياري. هل ما زال التطبيق يعمل؟“
كيف أختبر البيانات الناقصة قبل الإطلاق؟
شغّل كل سير عمل بأقل قدر من البيانات: املأ الحقول الإلزامية فقط، تخطَّ كل ما هو اختياري، واضغط إرسال. ثم افحص قاعدة بياناتك. إذا كان السجل قابلاً للاستخدام واستطاع تطبيقك تنفيذ الخطوة التالية، فأنت جاهز. إذا كان أي حقل فارغ يُعطّل منطقاً لاحقاً، فإما اجعل ذلك الحقل إلزامياً أو احذفه.
البيانات الناقصة ليست خطأً برمجياً في معظم التطبيقات. إنها الحالة الافتراضية حين تترك الخيار للمستخدمين. الحل هو أن تكون صريحاً حول ما تحتاجه، وتجعل تلك الحاجة واضحة، وتتحقق منها مبكراً.