باگِ «به نظر درست است»: چطور خطاهای خاموش را در اپ ساختهشده با هوش مصنوعیتان پیدا کنید
اپساز هوش مصنوعیتان یک فرم تماس تولید کرد. نامتان را تایپ کردید، روی ارسال زدید، پیام موفقیت دوستانه را دیدید و رد شدید. یک هفته بعد صفحه را به دوستی میگویید، که میپرسد آیا کسی آن را پر کرده. میروید بررسی کنید. سه فرم ارسالی در نوعی حالت معلق نشستهاند. هیچکدامشان هیچوقت به صندوق ورودیتان نرسیده.
این رایجترین حالت خرابی برای یک اپ ساختهشده با هوش مصنوعی است، و آن چیزی نیست که بیشتر مردم نگرانشاند. باگهایی که یک پیام خطای قرمز پرتاب میکنند پیدا کردنشان آسان است — اپساز هوش مصنوعیتان در دو دقیقه درستشان میکند. باگهای خطرناک آنهایی هستند که صفحه درست به نظر میرسد، کاربر فکر میکند کارش تمام شده، و شما تا یک ماه نمیفهمید.
این مطلب یک چکلیست برای گرفتن همانهاست. نه «چطور مثل یک مهندس کیفیت (QA) آزمایش کنیم» — فقط پنج جایی که کاربران واقعی از یک اپ ساختهشده با هوش مصنوعی که انگار کار میکند آسیب میبینند.
۱. چیزی را ارسال کنید و بررسی کنید که واقعاً به جایی رسیده
وقتی اپساز هوش مصنوعیتان یک فرم میسازد، یک پرسش بپرسید: دادهها کجا میروند؟ نه بهطور انتزاعی — بهطور تحتاللفظی، بعد از ارسال کجا میتوانید بروید و نگاهشان کنید؟
تعداد بهطرز شگفتآوری زیادی از این فرمها به یک هندلر ارسال میشوند که «ممنون!» برمیگرداند بدون اینکه هیچوقت ایمیلی بفرستد، چیزی در پایگاه داده ذخیره کند، یا کسی را خبر کند. فرم یک نمای ظاهری مؤدبانه است. پس:
- یک ورودی آزمایشی با یک نام جعلی ولی واضح مثل «ZZZ TEST» ارسال کنید.
- داشبورد، پایگاه داده، صندوق ورودی، صفحهٔ گسترده را باز کنید — هر جا که فرمهای ارسالی قرار است فرود بیایند.
- ورودی «ZZZ TEST» خود را آنجا پیدا کنید، با مُهر زمانی درست.
اگر در کمتر از یک دقیقه نتوانستید پیدایش کنید، فرمتان خراب است، حتی اگر بابت ارسال به شما تبریک گفته باشد. دیدهام که یک فرم «تماس با ما» روی یک لندینگپیج پولی، سه هفته صفر سرنخ جمع کرد، چون مرحلهٔ ایمیل هیچوقت سیمکشی نشده بود. صفحه بینقص به نظر میرسید.
۲. مسیری را امتحان کنید که هیچوقت نمیرفتید
شما میدانید اپتان چه میکند چون ساختهشدنش را تماشا کردید. هر بار دکمهها را به همان ترتیب کلیک میکنید. کاربران واقعی این کار را نمیکنند.
مسیری را که عجیبترین حس را دارد انتخاب کنید:
- دو بار پشت سر هم، سریع، روی ارسال کلیک کنید.
- وسط انجام یک کار صفحه را تازهسازی کنید.
- آن را در یک پنجرهٔ ناشناس بدون ورود باز کنید.
- نامی با آپوستروف تایپ کنید (O’Brien نابودگر کلاسیک است).
- در فیلدی که عدد میخواهد عددی تایپ کنید، ولی منفی یا صفر بگذارید.
اگر چیزی بهطور آشکار خراب شود، آن یک باگ واقعی است — ولی دستکم باگی پُرسروصداست. نسخهٔ «به نظر درست است» وقتی است که کلیک دوم یک رکورد تکراری ساخته و هیچ راهی از روی صفحه برای فهمیدنش نیست. بروید پایگاه داده را بررسی کنید و دنبال دو سطر «ZZZ TEST» با مُهرهای زمانی به فاصلهٔ دو ثانیه بگردید. اگر پیدایشان کردید، فرم به یک محافظ تکرار نیاز دارد.
۳. یک روز صبر کنید، بعد برگردید
بخش زیادی از کدهای تولیدشده با هوش مصنوعی از حافظهٔ موقتی استفاده میکنند که هنگام استقرار مجدد یا راهاندازی دوبارهٔ اپ بازنشانی میشود. اپ دادههایتان را در چیزی نگه میدارد که یک برنامهنویس به آن «حالت درونحافظهای» میگوید — برای یک دمو خوب است، برای هر چیز واقعی فاجعه.
آزمون بیرحم و آسان است: کمی داده وارد کنید، تب را ببندید، بیستوچهار ساعت صبر کنید، برگردید. اگر دادههایتان رفته یا به هم ریخته، ذخیرهسازی واقعی نیست. احتمالاً باید به زبان ساده به اپساز هوش مصنوعیتان بگویید: «این داده باید از یک راهاندازی دوبارهٔ سرور جان سالم به در ببرد.» بیشتر اپسازها وقتی از آنها بخواهید به یک پایگاه داده سوئیچ میکنند؛ بعضیها تا نخواهید این کار را نمیکنند.
میتوانید نسخهٔ سریعتری از این آزمون را با پرسیدن از اپسازتان در چت اجرا کنید: «دادههای این فرم کجا ذخیره میشود، و آیا از یک استقرار مجدد جان سالم به در میبرد؟» اگر پاسخ به «در حافظه»، «نشست (session)» یا «برای این اجرا» اشاره کند، باگ را پیش از هر کاربری پیدا کردهاید.
۴. آن را به یک نفر که شما نیست نشان دهید
شما میدانید اپتان چه معنایی دارد. شما طراحیاش کردید. شما دکمهها را نامگذاری کردید. برچسبها برای شما بدیهیاند چون خودتان نوشتیدشان.
آن را بدون توضیح هیچ چیزی به دوستی نشان دهید. بگویید: «سعی کن X را انجام بدهی.» تماشایش کنید. کمک نکنید. سه چیز اتفاق میافتد:
- جایی کلیک میکند که انتظارش را نداشتید، و اپ کار غافلگیرکنندهای میکند.
- روی برچسبی گیر میکند که وقتی نوشتیدش بدیهی به نظر میرسید.
- همان کاری را که میخواستید انجام میدهد، ولی در نیمی از مراحلی که تصور میکردید، و یک صفحه را کاملاً رد میکند — گاهی صفحهای که اپ روی پر کردنش حساب کرده بود.
هر کدام از اینها یک باگ واقعی است. هیچکدام خطایی پرتاب نمیکنند. دوست میگوید «اوه، بامزه است»، و لپتاپ را پس میدهد. شما از روی چهرهاش میفهمید که سی ثانیه در جایی گم شده بود که فکر نمیکردید هیچ درزی داشته باشد.
۵. ایمیلی را که میفرستد، روی یک گوشی بخوانید
اگر اپتان ایمیل میفرستد — تأییدیه، بازنشانی رمز، صورتحساب — یکی را روی گوشیتان باز کنید، و یکی را در یک کلاینت ایمیل متفاوت از آنچه معمولاً به کار میبرید. اپهای ساختهشده با هوش مصنوعی معمولاً ایمیلهایی تولید میکنند که در Gmailِ دسکتاپ محشر به نظر میرسند و در Outlookِ اندروید شبیه برفک میشوند.
همین منطق دربارهٔ رسیدهای PDF، خروجیهای قابل دانلود و دکمههای «این لینک را به اشتراک بگذارید» هم صدق میکند. چیزی که بیرون از اپتان، به دنیای واقعی میرود، کمآزمودهترین بخش یک ساخت با هوش مصنوعی است. همچنین بخشی است که کاربرانتان بیشترین بار میبینند. بنیانگذاری که میشناسم یک جریان پرداخت زیبا عرضه کرد که رسید PDFش روی آیفون یک مربع سیاه یکپارچه بود. هیچکس شکایت نکرد — فقط خرید کردن را متوقف کردند.
حقیقت ناخوشایند دربارهٔ «کار میکند»
وقتی با یک اپساز هوش مصنوعی میسازید، «کار میکند» یعنی «روی دستگاه من، در مرورگر من، با کلیکهای دقیق من، در روزی که ساختمش اجرا شد». این ادعای خیلی کوچکتری است از آنچه به نظر میرسد.
اپهای واقعی وقتی کار میکنند که:
- یک نفر متفاوت از آنها استفاده کند.
- داده بیشتر از مدت دمو دوام بیاورد.
- مسیر عبور از اپ چیزی باشد که پیشبینی نکردید.
- خروجی روی دستگاهی خوانده شود که آزمایشش نکردید.
لازم نیست یک آزمونگر نرمافزار شوید تا چیز خوبی عرضه کنید. فقط لازم است این پنج وارسی را یک بار انجام دهید، روزی پیش از اینکه به کسی بگویید اپ وجود دارد. حدود بیست دقیقه طول میکشند. نُه تا از ده باگ خاموشی را که در غیر این صورت به یک کاربر پولی میرسید، میگیرند.
اگر فقط برای یکی وقت دارید، اولی را انجام دهید. چیزی ارسال کنید. آن را در سمت دیگر پیدا کنید. بیشتر اپهای ساختهشده با هوش مصنوعی به نظر درست میرسند. ترفند این است که مطمئن شوید واقعاً درستاند.
اگر این مطلب با شما همنوا شد، کار بعدیِ ارزشمند این است که با یک تکه کاغذ بنشینید و سه چیزی را که اپتان هرگز نباید در آنها بهخاموشی شکست بخورد بنویسید — فرم، ایمیل، پرداخت، هر چه که مالِ شماست — و هر کدام را با وارسیهای بالا مرور کنید. بیست دقیقه حالا، کلی شبهای آسوده بعدتر برایتان میخرد.