پیش از ابزار

اندیشه

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

برای من، فناوری هرگز فقط مجموعه‌ای از ابزارها نبوده است. پشت هر انتخاب فنی، آشکار یا پنهان، نگاهی به مسئله، انسان، اختیار و مسئولیت وجود دارد. اگر این لایه دیده نشود، پیچیده‌ترین ابزارها هم ممکن است فقط ما را در پاسخ‌دادن به پرسشی اشتباه، سریع‌تر و دقیق‌تر کنند.
۰۱مسئلهپیش از انتخاب ابزار
۰۲واقعیتپیش از وفاداری به مدل
۰۳اختیارهمراه با مسئولیت
۰۴ساختنپیش از ادعا
۰۱

از مسئله شروع می‌کنم، نه از ابزار

سال‌ها کار در الکترونیک، رباتیک، امنیت شبکه و هوش مصنوعی به من آموخته است که فناوری‌ها عوض می‌شوند، اما یک خطا تقریباً همیشه تکرار می‌شود: پاسخ را زودتر از مسئله انتخاب می‌کنیم.

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

گاهی حتی نام پروژه، پاسخ را از پیش تعیین کرده است: «پروژهٔ هوش مصنوعی»، «سامانهٔ بلاک‌چینی» یا هر عنوان جذاب دیگری که ابزار را پیش از مسئله روی میز می‌گذارد. از آن لحظه به بعد، به‌جای آنکه ابزار را برای مسئله انتخاب کنیم، مسئله‌ای پیدا می‌کنیم که ابزار انتخاب‌شده را توجیه کند.

برای همین انتخاب ابزار را آخرین مرحلهٔ اندیشیدن به فناوری می‌دانم، نه نخستین مرحلهٔ آن.

وقتی پرسش اشتباه باشد، بهترین فناوری فقط پاسخ دقیق‌تری به پرسشی غلط می‌دهد.

۰۲

مدل را باید بتوان عوض کرد

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

اما هیچ مدلی تمام واقعیت نیست؛ هر مدل چیزی را آشکار می‌کند و چیزهایی را کنار می‌گذارد.

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

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

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

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

هنر در عوض‌کردن مدل است، نه در پرستیدن آن.

۰۳

دانستن باید امکان تردید را حفظ کند

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

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

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

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

«انظر الی ما قال، لا تنظر الی من قال» علی بن ابی‌طالب (علیه‌السلام)

۰۴

آزادی را در امکان انتخاب دوباره می‌بینم

وابستگی فنی معمولاً ناگهانی شکل نمی‌گیرد. تصمیم‌های کوچک روی هم انباشته می‌شوند: انتخاب یک ابزار، یک تأمین‌کننده، یک قالب داده یا معماری‌ای که در ابتدا کاملاً منطقی به نظر می‌رسد. مدتی بعد هنوز روی کاغذ حق انتخاب داریم، اما هزینهٔ تغییر آن‌قدر بالا رفته است که راه دیگری عملاً باقی نمانده.

من آزادی در فناوری را نبود ساختار نمی‌دانم. بدون ساختار، همکاری، مقیاس و استمرار ممکن نمی‌شود. مسئله زمانی پدید می‌آید که ساختار از وسیله‌ای برای همکاری به سازوکاری برای حذف امکان‌های دیگر تبدیل شود.

ارزش متن‌باز نیز برایم صرفاً در رایگان‌بودن یا مشاهدهٔ کد نیست؛ اهمیت اصلی آن در حفظ امکان فهمیدن، تغییر‌دادن، رقابت و خروج است. البته بازبودن کد به‌تنهایی چنین آزادی‌ای را تضمین نمی‌کند. وابستگی می‌تواند در داده، زیرساخت، دانش فنی یا هزینهٔ مهاجرت دوباره ساخته شود.

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

آزادی فنی برای من یعنی انتخاب امروز، حق انتخاب فردا را از میان نبرد.

۰۵

اختیار و مسئولیت باید کنار هم بمانند

در امنیت، یک مجوز هیچ‌وقت فقط یک تنظیم فنی نیست. هر مجوز تعیین می‌کند چه کسی چه چیزی را ببیند، چه تغییری ایجاد کند و تا کجا بتواند بر دیگران یا بر کل سامانه اثر بگذارد.

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

اصل حداقل دسترسی را به همین دلیل صرفاً یک قاعدهٔ امنیتی نمی‌بینم. هر فرد، خدمت یا عامل هوشمند باید به‌اندازهٔ مسئولیتی که بر عهده دارد اختیار داشته باشد؛ نه کمتر، تا مسئولیتش نمایشی نشود، و نه بیشتر، تا قدرتش بدون پاسخ‌گویی باقی نماند.

نمی‌توان کسی را مسئول نتیجه دانست، اما امکان دیدن اطلاعات، فهمیدن تصمیم یا مداخله در آن را از او گرفت. به همان اندازه نیز نمی‌توان اختیار گسترده‌ای به یک مدیر، سامانه یا مدل هوش مصنوعی داد و هنگام بروز خطا، مسئولیت را میان اجزای سیستم گم کرد.

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

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

راه دیگر الزاماً حد وسطی مبهم میان دو سوی مسئله نیست. می‌توان دسترسی به داده را محدود، مشروط، قابل‌مشاهده و قابل‌لغو کرد. می‌توان اختیار یک سامانهٔ هوشمند را با پیامد تصمیمش متناسب ساخت و مداخلهٔ انسان را دقیقاً جایی قرار داد که اثر واقعی داشته باشد.

امنیتی که فقط با بستن همهٔ راه‌ها به دست آید، مسئله را حل نکرده است. آزادی‌ای هم که برای کارکردن ناچار به حذف همهٔ کنترل‌ها باشد، پایدار نمی‌ماند.

اختیار بدون مسئولیت خطرناک است؛ مسئولیت بدون اختیار، نمایشی است.

۰۶

ساختن، محک اندیشه است

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

دورهٔ کارشناسی‌ام یازده سال طول کشید.

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

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

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

در آموزش هم آنچه برایم اهمیت دارد نام ابزارها و دستورها نیست؛ این‌ها تغییر می‌کنند. آنچه ارزش انتقال دارد، توان شکستن مسئله، پیداکردن فرض‌های پنهان و بازتعریف پرسشی است که همه برای آن پاسخی آماده دارند.

برای من، آنچه این شش اصل را به هم پیوند می‌دهد، آمادگی برای بازبینی است. مسئله، مدل، تخصص، ساختار، اختیار و ساختن همگی برای فهمیدن و عمل‌کردن لازم‌اند؛ اما هیچ‌کدام نباید چنان با ما یکی شوند که تغییرشان در برابر واقعیت، شکست به نظر برسد.

این‌ها پاسخ‌های نهایی من نیستند؛ معیارهایی‌اند که با آن‌ها سعی می‌کنم پاسخ‌های خودم را دوباره بررسی کنم.

لازم نیست باورت را عوض کنی؛ فقط مطمئن شو هنوز می‌توانی آن را در برابر واقعیت عوض کنی.