عدم قطعیت با سبک زندگی قطعی

این متن به انگلیسی توی وبلاگ شرکت تایم فولد توسط Tom Cools نوشته شده. یه سری خبرنامه مربوط به بهینه‌سازی و هوش مصنوعی عضو هستم و این متن رو اونجا پیدا کردم. کار شرکت تایم‌فولد اینه که بیاد یه سری مسئله‌ی صنایعی مثل حمل‌ونقل و برنامه‌ریزی رو از شرکت‌های بزرگ حل کنه.


من، طبق بیشتر تعریف‌های معقول، موجودی اهل عادت هستم.

هر صبح همان قهوه. سال‌ها همان برند کفش (و هر بار که یک جفت بالاخره از نفس می‌افتد و مجبور می‌شوم برای خرید جفت جدید بروم، یک دوره‌ی کوتاه عزاداری هم دارم). همان مسیر تا محل کار. همان صندلی سر میز شام. شریک زندگی‌ام این ویژگی را هم دوست‌داشتنی می‌داند و هم، گاهی، کمی کسل‌کننده.

حالا، این‌طور نیست که از تغییر بدم بیاید. واقعاً از تجربه کردن چیزهای جدید لذت می‌برم. کشورهای جدید، کنفرانس‌های جدید، رستوران‌های جدید، مسائل جدید برای مدل‌سازی. اما زیر همه‌ی این تجربه‌جویی‌ها، یک ترجیح آرام و مداوم در پس‌زمینه در حال زمزمه کردن است: من دوست دارم بدانم قرار است چه چیزی گیرم بیاید.

مهندسی؛ تقابلِ پیش‌بینی و روتین

احتمالاً تعجب نمی‌کنید اگر بگویم همین ترجیح بود که در وهله‌ی اول من را به سمت مهندسی نرم‌افزار سوق داد. در یک تابع، چیزی عمیقاً رضایت‌بخش وجود دارد. ۲ و ۳ را به آن می‌دهی، ۵ را تحویل می‌گیری. فردا دوباره همان را روی یک ماشین دیگر، در یک منطقه‌ی زمانی دیگر، بعد از یک قهوه‌ی دیگر اجرا می‌کنی، و باز هم ۵ می‌گیری.

بخش عمده‌ای از حرفه‌ی من بر پایه‌ی همین وعده‌ی ساده بنا شده است: با ورودی‌های یکسان، همان خروجی‌های یکسان را به من بده. این قاعده‌ی طلایی، زیربنای اصلیِ اشکال‌زدایی (Debugging) و اعتماد به سیستم است. در نهایت، همین ویژگی باعث می‌شود شب‌ها وقتی کدت در محیط عملیاتی در حال اجراست، با خیال راحت بخوابی.

وقتی به اطرافیانم می‌گویم حالا در یک شرکت هوش مصنوعی کار می‌کنم، گاهی با تعجب به من نگاه می‌کنند. پرسش ضمنی معمولاً این است: «صبر کن. تو؟ همون آدمی که هر بار دقیقاً همان غذا را دوباره سفارش می‌دهد؟ در هوش مصنوعی کار می‌کنی؟» اعتراف می‌کنم که این نگاه، کاملاً منصفانه است.

پارادوکسِ هوش مصنوعی: ابداع یا انضباط؟

در سال ۲۰۲۶ وقتی عبارت «هوش مصنوعی» شنیده می‌شود، ذهن‌ها فوراً به سمت هوش مصنوعی مولد می‌رود. ChatGPT، مولدهای تصویر، دستیارهای کدنویسی؛ همگی در دسته‌ای قرار دارند که ذاتاً برای پاسخ‌های خلاقانه و متفاوت طراحی شده‌اند.

این «عدم قطعیت» در واقع برای مدل‌های مولد یک ویژگی است، نه باگ. اگر از مدل بخواهی «یک هایکو درباره‌ی عذاب کشیدن از آلرژی» بنویسد، هیچ‌کس نمی‌خواهد هر بار دقیقاً همان شعر را تحویل بگیرد؛ ما تنوع و غافلگیری می‌خواهیم.

اما همه‌چیز بر پایه‌ی شعر نیست. بخش بزرگی از صنعت، بر پایه‌ی «برنامه‌ها» می‌چرخد؛ جدولِ مسیرهای تحویل، زمان‌بندی شیفت‌های کارکنان، و لجستیکِ کامیون‌ها. در این حوزه‌ها، «هر بار یک جواب کمی متفاوت» جذاب نیست؛ بلکه یک کابوسِ مدیریتی است.

قدرتِ قطعیت؛ یک مزیتِ رقابتیِ پنهان

چیزی که من در کار کردن در Timefold دوست دارم این است که «حل‌کننده» (Solver) ما هوش مصنوعی است، اما کاملاً قطعی (Deterministic) عمل می‌کند. با همان داده‌ی ورودی و همان بودجه‌ی CPU، دقیقاً همان جوابِ پیشین را بازمی‌گرداند.

تا وقتی چند سال را صرف اشکال‌زدایی از سامانه‌هایی نکرده باشی که این ویژگی را ندارند، اهمیت این جمله را درک نمی‌کنی. تصور کن سیستمی داری که با اجرای دوباره‌ی ورودی‌های یکسان، خروجی‌های متفاوتی می‌دهد و تو هرگز نمی‌فهمی این تفاوت ناشی از هوشمندیِ الگوریتم بوده، یک باگ منطقی بوده، یا صرفاً حاصلِ تابش پرتوهای کیهانی!

چرا مدل‌های ما به «عادت» نیاز دارند؟

قطعیت در سیستم‌های برنامه‌ریزی، امکاناتی را فراهم می‌کند که در مدل‌های غیرقطعی عملاً غیرممکن هستند:

  • بازتولید آسان باگ‌ها: اگر برنامه‌ریزی گزارشی از یک تخصیص شیفت عجیب می‌دهد، با اجرای مجدد همان مجموعه داده، دقیقاً همان خروجی را می‌گیری. این بهترین ابزار برای تحلیلِ رفتار سیستم است.
  • امکان تست‌نویسی استاندارد: تست‌های واقعی با assertionهای واقعی بنویس که به‌صورت تصادفی در هر اجرای CI شکست نمی‌خورند. تست‌های تو دیگر نمی‌گویند «راه‌حل باید تقریباً این‌طور باشد»؛ آن‌ها دقیقاً می‌گویند «راه‌حل این است».
  • تست‌های A/B دقیق: برای سنجش بهبودِ یک قیدِ جدید، نسخه‌ی قبل و بعد را روی داده‌ی یکسان اجرا کن. هر تغییری که می‌بینی، مستقیماً ناشی از بهبود کدِ خودت است، نه حاصلِ پرتابِ تاس.
  • جلب اعتماد ذی‌نفعان: برنامه‌ریزهایی که از سیستم استفاده می‌کنند، وقتی یک برنامه را دو بار می‌بینند و هر دو بار یکسان است، به آن اعتماد می‌کنند. اگر هر بار جواب متفاوتی به آن‌ها نشان دهی، کارت تمام است؛ مهم نیست ریاضیاتِ پشت آن چقدر قوی باشد.

این مسئله‌ای کوچک نیست؛ مرز بین سیستمی که به آن تکیه می‌کنی و سیستمی که باید مدام به صورت دستی مراقبش باشی، همین‌جاست.

جمع‌بندی: جادویِ نظم در دنیایِ پیش‌بینی‌ناپذیر

می‌فهمم چرا «قطعی بودن» برای بازاریابی هیجان‌انگیز نیست. اینکه بگویی «هوش مصنوعی ما هر بار همان جواب را می‌دهد»، قرار نیست در لینکدین ترند شود. در دورانی که همه انتظار دارند هوش مصنوعی با نوآوری خیره‌شان کند، این حرف شبیه یک عقب‌گرد به نظر می‌رسد.

اما برای مسائلِ برنامه‌ریزی که تصمیماتش روی شیفت‌ها، تحویل‌ها و زندگی واقعی اثر می‌گذارند، همین به‌ظاهر کسل‌کننده بودن، دقیقاً همان چیزی است که نیاز داریم. تو سیستمی می‌خواهی که سه‌شنبه همان‌طور رفتار کند که جمعه رفتار می‌کند. نتیجه‌ای می‌خواهی که بتوانی از آن دفاع کنی.

به بیان دیگر، تو می‌خواهی هوش مصنوعی برنامه‌ریزی‌ات کمی شبیه یک موجود اهل عادت باشد؛ همان ورودی، همان خروجی. همان قهوه، همان کفش‌ها، همان برنامه.

راستش را بخواهی، این محبوب‌ترین نوع جادو برای من است. 🙂

استراتژی در زمان عدم قطعیت

اخیرا به این علاقه‌مند شدم یکم در مورد رشته‌ام مطالعه بیشتری داشته باشم و صرفا درس‌هایی که خوندم یا قراره بخونم نباشه. (بعضی درس‌هایی که پاس کردم الان در موردشون مطلب می‌خونم می‌بینم چه دنیایی داشته و ما بی‌خبر بودیم!) در واقع داشتم توی یوتوب می‌دیدم «بهینه سازی احتمالی دو مرحله‌ای چیست» (خیلی ویدیوی جالبی بود، اول اومد مقاله رو بررسی کرد، بعد برای مقدمه مطلبی که می‌خواست بگه یه قسمتی از Avengers رو پخش کرد که دکتر استرنج می‌گه ۱۴ میلیون راه وجود داره که جنگ چجوری پیش بره و فقط یکی از اونا طوری هست که ما ببریم، قسمت بعد ساز و کار دو مرحله‌ای و در عین حال احتمالی بودن یه برنامه‌ریزی رو می‌گه و در آخر انگار یه مسئله احتمالی رو در دو حالت با یه بازی بررسی می‌کنه) که یه مقاله رو از هاروارد بیزنس ریویو بررسی می‌کنه و گفتم برای بار اول بعد از چند ماه بد نباشه یه پست تخصصی به حساب خودم از این مطلب بنویسم!

برای شروع باید گفت یه سری شرکت هستن برای اینکه یه محصولی رو توسعه بدن و یه انقلاب توی اون صنعت ایجاد کنن، دست به مخارج پر هزینه‌ای می‌زنن تا اگر شاید کارشون گرفت، سود زیادی بکنن. اما همه شرکت‌ها این مبالغ رو به خاطر ریسکی که داره پرداخت نمی‌کنن. به جای اون می‌آن یه سری سرمایه‌گذاری خرد یا با بقیه شرکت‌ها همکاری می‌کنن! توی این شرایط عدم قطعیت، مدیران ممکنه تصمیم‌های سنتی بگیرند، یعنی مثلا بگن این شرایطی که داریم کاملا قابل پیش‌بینی هست، پس همون استراتژی معمول اون شرایط رو در نظر می‌گیرن یا غیرقطعی هست پس کاری نمی‌شه کرد و کی از آینده خبر داره! پس دست به ابزارهای تحلیلی نمی‌زنن. حالا برای شرایطی که رخ می‌ده، این مقاله می‌آد یه چارچوب برای تعیین میزان عدم قطعیت ارائه می‌ده.

(من اینجا خیلی خلاصه مطلب انگلیسی رو گفتم، توی مقاله اصلی مثال‌های عینی زیادی زده شده تا مفهوم‌تر بشه.)

چهار مرحله عدم قطعیت:

سازمان‌ها حتی در ناشناخته‌ترین وضعیت خودشون، اطلاعاتی دارن که می‌تونن از اونا استفاده و شرایط رو تحلیل کنن. عدم قطعیتی که بعد از انجام بهترین تحلیل ممکن، باقی می‌مونه، چیزی است که آن را «عدم قطعیت باقی‌مانده» می‌گیم. اما اغلب، حتی درباره این عدم قطعیت‌های باقی‌مانده هم می‌توان اطلاعات قابل توجهی به دست  بیاریم. در عمل، عدم قطعیت باقی‌مانده‌ای که اکثر تصمیم‌گیرندگان استراتژیک با آن مواجه هستند؛ به یکی از چهار سطح کلی تقسیم می‌شود:

 

  • سطح ۱: آینده شفاف

توی این مرحله، مدیرها یه پیش‌بینی ساده برای آینده انجام می‌دن که برای کارشون کافیه. درسته که هیچ شرایطی قطعی کامل نیست ولی این استراتژی یه مسیر رو در نظر می‌گیره و به سمت اون پیش می‌ره.

برای مثال بیاید ایرلاین الف رو در نظر بگیرید. این ایرلاین با یه ایرلاین دیگه به اسم ب که مزیت کم‌هزینه بودن رو داره وارد رقابت می‌شه. آیا باید سرویس کم‌هزینه‌ای رو خودش بده؟ بخش‌های کم‌هزینه رو به ایرلاین ب واگذار کنه یا وارد رقابت سنگین با ب بشه؟

استراتژی پیشنهادی: در کسب‌وکارهای قابل‌ پیش‌بینی، اکثر شرکت‌ها خودشون رو با شرایط وفق می‌دن و با توجه به تحلیل‌هایی که انجام دادن دورنمایی رو می‌بینن و یک استراتژی تعریف می‌کنن که چطوری و کجا رقابت کنن.

 

سطح ۲: چندین سناریوی مجزای ممکن

در این سطح، آینده می‌تونه به چندین سناریوی مشخص تقسیم بشه ولی دقیق مشخص نیست کدوم یکی رخ می‌ده. برای مثال یه شرکتی می‌دونه که یه فناوری جدید ممکنه بازار رو تغییر بده ولی نمی‌دونه کدوم فناوری غالب می‌شه.

استراتژی پیشنهادی: استراتژی‌هایی اینجا لازمه که در برابر چندین سناریو مقاوم و انعطاف پذیر باشن.

 

سطح ۳: محدوده‌ای از نتایج ممکن

اینجا، آینده به صورت یک محدوده از نتایج ممکن تعریف می‌شه و پیش‌بینی دقیق غیرممکنه. مثلا شرکتی که وارد یه بازار می‌شه و نمی‌دونه سهم بازارش چقدر خواهد بود.

استراتژی پیشنهادی: باید روی انعطاف پذیری تمرکز کرد و بتونه خیلی سریع با شرایط متغیر انطباق بده. مثل اینکه تخم‌مرغ‌هاش رو توی یه سبد نذاره و روی استراتژی‌های مختلف سرمایه‌گذاری کنه.

 

سطح ۴: عدم قطعیت کامل

معلومه دیگه، هیچ چیز از آینده نمی‌دونیم و هیچ سناریوی مشخصی قابل تعریف نیست! مثل شرکتی که می‌خواهد وارد بازار فناوری‌های جدید بشه و قواعد بازی رو عوض کنه.

استراتژی پیشنهادی: باید در تحقیق و توسعه سرمایه‌گذاری انجام بشه و شراکت‌های استراتژیک انجام بده و انعطاف‌پذیری رو هم خیلی بهتر نسبت به سطوح قبلی حفظ کنه.