از نمونهٔ ساختهشده با هوش مصنوعی تا سامانهٔ قابل اتکا

اپتان را خودتان ساختهاید. چند شب، یک ابزار هوش مصنوعی، و حالا چیزی دارید که کار میکند: ثبتنام، یک پنل، یک صفحهٔ پرداخت. دوستانتان امتحانش کردهاند و خوششان آمده.
این کار کوچکی نیست. چند سال پیش همین اندازه پیشرفت، یک تیم و چند ماه میخواست، و شما ایدهتان را بیهیچ سرمایهای به چیزی ملموس رساندهاید. بسیاری از محصولهای جدی از چنین نقطهای شروع میشوند.
سؤال بعدی این نیست که «آیا خوب ساختهام؟». سؤال این است که اولین مشتری واقعی که پول میدهد، چه چیزی را عوض میکند.
شش چیز که از نمونه تا سامانه عوض میشود
یک نفر، چند نفر. روی لپتاپ شما یک کاربر هست و هر کاری با ترتیب مشخص انجام میشود. با بیست کاربر همزمان، دو نفر یک سفارش را با هم ثبت میکنند، یک نفر وسط کار صفحه را میبندد، یکی دکمه را دو بار میزند. ابزار برای حالتی کد نوشته که شما تعریف کردهاید؛ حالتهای دیگر را کسی نخواسته.
دادهٔ نمونه، دادهٔ واقعی. نامهایی با نیمفاصله و بدون آن، شمارهٔ تلفنی که با صفر شروع نمیشود، فایلی که از اکسل کپی شده، کاراکتری که از واتساپ آمده. نمونه با دادهای تست شده که خودتان تایپ کردهاید.
بدون پول، با پول. تا وقتی پرداخت آزمایشی است، اشتباه رایگان است. بعد از آن، پرداخت دوبارهٔ یک مشتری، برگشتی که ثبت نشد، یا فاکتوری که با عدد حسابدار نمیخواند، همه اسم و آدرس دارند.
کلیدها و حسابها. رمز پایگاه داده، کلید درگاه پرداخت، حساب سرور. در نمونه معمولاً درون خود کد یا یک فایل کنار آن نشستهاند، و گاهی همراه کد جایی بارگذاری شده است. بعد از انتشار باید جای امن داشته باشند و کسی بداند چه کسی به کدام دسترسی دارد.
خبر داشتن از خرابی. وقتی خودتان کنارش نشستهاید، خرابی را میبینید. وقتی سی نفر از آن استفاده میکنند، سامانه ساعت سه بامداد از کار میافتد و شما صبح از یک مشتری عصبانی میشنوید. بدون رصد و هشدار، نمیفهمید.
تغییر. هفتهٔ اول، هر تغییری سریع و خوشایند است. ماه سوم، تغییر یک بخش یک بخش دیگر را میشکند، و کدی که ابزار نوشته، حتی برای خود شما قابل پیگیری نیست. و هر گفتگوی تازه با ابزار از روی کدی که همان لحظه میبیند ادامه پیدا میکند، نه از روی آنچه سه ماه پیش در ذهن داشتید.
هیچکدام از اینها نشان نمیدهد ابزار «بد» است. نشان میدهد نمونه و سامانه دو چیز متفاوتند و پل بینشان کار جداست.
وقتی صاحب سامانه نمیداند که نگهداری با اوست
بیشترین غافلگیری ما در این مرحله، این جمله است: «من ساختم، پس خودم نگهش میدارم.» که درست است، تا وقتی که زمانش را داشته باشید.
نگهداشتن یعنی هر وقت یک کتابخانهٔ مورد استفادهتان آسیبپذیری گزارش کرد، کسی بهروزش کند. یعنی وقتی سرور شلوغ شد، کسی بداند باید چه کرد. یعنی وقتی قرار است ویژگی تازهای بیاید، کسی بفهمد جایش کجاست. اگر آن «کسی» شما هستید، اینها از وقت مدیریت کسبوکارتان کم میشود. اگر قرار است آن «کسی» ابزار باشد، پس کسی باید او را مأمور کرده باشد و نتیجه را بخواند و تأیید کند.
دربارهٔ هزینهٔ نگهداشتن یک اپلیکیشن پیشتر نوشتهایم؛ چیزی که برای کد ساختهشده با هوش مصنوعی عوض نمیشود، همین است که نگهداری یک کار مستمر است و رایگان نمیشود.
سه راه، و اینکه هر کدام کی درست است
ادامه با خودتان. درست است اگر هنوز کاربران کم و دوستانهاند، پولی در کار نیست یا مقدارش ناچیز است، و دادهای که نگه میدارید حساس نیست. با کمی انضباط — نسخهٔ پشتیبان، کلیدها بیرون از کد، یک دفتر یادداشت از اینکه چه چیزی کجاست — میتوانید ماهها پیش بروید.
بازبینی، بعد ادامه. از کسی که دنبال منفعت دیگری نیست بخواهید کد و محیط را یک بار ببیند و بگوید چه چیزهایی پیش از اولین پرداخت واقعی باید درست شود. این از ساختن دوباره ارزانتر است و بسیاری از کارها واقعاً همینقدر نیاز دارند. فقط روشن بپرسید چه چیزی بررسی میشود: امنیت؟ دادهٔ مشتری؟ پرداخت؟ قابلیت تغییر؟
ساخت مجدد یا مستحکمسازی با تیم. درست است وقتی سامانه به پول، داده یا چند سامانهٔ دیگر وصل است، چند نفر روزشان به آن بسته است، یا باید بتواند سالها و با تیمهای مختلف رشد کند. گاهی هم پاسخ این است که نمونه را دور بریزیم و نیازی را که روشن کرده نگه داریم؛ پیمانکار صادق این را میگوید، حتی اگر کار کمتری برایش بماند.
اگر نمیدانید کدام راه است، پنج آزمون مقالهٔ قبلی را با سامانهٔ خودتان جلو ببرید.
این همان «چرا دموی هوش مصنوعی به تولید نمیرسد» نیست
آن مقاله دربارهٔ سامانههایی است که هوش مصنوعی جزء کارشان است — چتبات یا جستوجوی هوشمند — و دمو با پرسشهای واقعی فرق دارد. اینجا دربارهٔ چیز سادهتری حرف میزنیم: اپ معمولی که با کمک ابزار هوش مصنوعی نوشته شده است.
پیش از اولین مشتری که پول میدهد
این فهرست را کنار هم بگذارید. اگر به چند مورد جواب «نمیدانم» میدهید، همانها اولین کارهای شماست:
- از پایگاه داده نسخهٔ پشتیبان میگیرید؟ آخرین بار بازیابیاش را امتحان کردهاید؟
- رمزها و کلیدها کجایند؟ اگر کسی کد را ببیند، آنها را هم میبیند؟
- اگر سرور ساعت سه بامداد بخوابد، چه کسی و چطور میفهمد؟
- پرداخت دوباره، لغو وسط پرداخت و برگشت وجه را امتحان کردهاید؟
- یک خطا چه چیزی به کاربر نشان میدهد، و در کجا ثبت میشود؟
- حساب سرور، دامنه و مخزن کد به نام کیست؟
- اگر فردا بخواهید کس دیگری روی آن کار کند، نیاز دارد چه چیزی را بداند، و آن نوشته شده؟
آخرین بازبینی: آبان ۱۴۰۵.