با ابزار هوش مصنوعی خودم بسازم یا پیمانکار بگیرم؟

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