منظور شما مبلغ صورتحسابتان را تعیین میکند!
دکتر محیا کربلایی*
یک بار در یکی از معدود گروههایی که عضو هستم، استادی از یکی از گزارشهای روزانهای که تهیه کرده بودم، خیلی تعریف کرد. من ناخودآگاه میخواستم پاسخ بدهم: «منظورتان این است که تا امروز گزارشها درخشان نبودند؟!» البته پیام ندادم. ولی بلافاصله به یاد یکی از این کلیپهای خندهدار افتادم که نشان میدهند آقایان چه میگویند و خانمها چه میشنوند. مرد میگفت: «عزیزم، بیا امشب شام بریم بیرون.» چیزی که خانم میشنید این بود: «عزیزم، دستپختت آنقدر بدمزه است که ترجیح میدهم غذای بیرون بخورم.» در صحنه بعد، مرد با دیدن همسرش میگفت: «وای عزیزم، چقدر خوشگل شدی!» ترجمهای که به گوش خانم میرسید این بود: «تا حالا که قیافهات قابل تحمل نبود، خوب شد رفتی آرایشگاه!»
داشتم میخندیدم و به این فکر میکردم که چهبسا خیلی هم دور از واقعیت نیستند! اما اینکه ما یک چیز میگوییم و طرفمان چیز دیگری میشنود، مختص خانمها و آقایان نیست. این موضوع حتی با هوش مصنوعی هم اتفاق میافتد. یاد گفتوگوهای خودم با «دبیرک» افتادم؛ همان دستیار هوش مصنوعیام. البته ما هنوز به مرحله دعوت به شام نرسیدهایم. فعلا گاهی سر یک نمودار هم دعوایمان میشود چه برسد به شام.
این آشغال نیست، نمودار است!
این دبیرک گاهی خیلی ملالغتی میشود. یک بار که به او گفته بودم نمودار زیبایی برای یکی از گزارشها بکشد، چیزی به من تحویل داد که ظاهرا همه چیز داشت، به جز نشان دادن آن اطلاعاتی که من میخواستم. از او پرسیدم: «این چه آشغالی است به من میدهی؟»
دبیرک که طوری تربیت شده که جواب دقیق دادن در همه خازنهایش رفته، گفت: «ببخشیدا، این آشغال نیست. یک نمودار میلهای است که اطلاعات ارسالی جنابعالی را نمایش میدهد.»
گفتم: «خودم میبینم نمودار است! یک چیز بهتر میخواستم.»
این بچه مصنوعی، رنگها را عوض کرد، نوشتهها را درشتتر و عناوین را مفصلتر کرد. ولی منِ طبیعی همچنان به ایراد گرفتنم ادامه میدادم: «نه! حرفهایترش کن.»
آخر ما باید یک گزارش حرفهای درجه یک تحویل میدادیم که خواننده حتی با چند ثانیه نگاه کردن به آن، مفاهیم کلی و اصلیترین گزارهها را بدون هیچ مشکلی درک میکرد.
این بار دبیرک با گزارشی با رنگ و لعاب سنگینتر برگشت: سرمهای. چون ظاهرا هر چیزی سرمهای باشد، احتمال حرفهای بودنش بیشتر است. حالا دیگر لحن من از آن آدم طبیعی رفتهرفته غیرطبیعیتر میشد: «اصلا منظورم این نبود!» چند دور دیگر هم ادامه دادیم. او با جدیت تغییر میداد و من با جدیت بیشتری ناراضی میشدم. آخر سر هم گفتم: «ولش کن، اصلا نخواستم. خودم انجام میدهم!»
واقعا که گاهی اوقات این هوش مصنوعی بیشتر وقت آدم را میگیرد تا کارش را راه بیندازد.
خطایی که پیام خطا ندارد
برای انجام بسیاری از کارها با کامپیوتر، قبلا یا باید نرمافزار مناسبی پیدا میکردیم، یا اگر خیلی زرنگ بودیم آستین بالا میزدیم و برنامهای مینوشتیم. اخیرا مدلهای زبانی راه دیگری پیش رویمان گذاشتهاند: به همان زبانی که گفتوگو میکنیم، کاری میخواهیم و پاسخ میگیریم که عموما هم آنها خیلی مودبانهتر از ما صحبت میکنند!
در زبانهای برنامهنویسی، کلیدواژهها محدود و قواعد ترکیب دستورها مشخصاند. البته برنامهنویس میتواند نامهای تازه تعریف کند و از کتابخانههای فراوان استفاده کند. پس مساله فقط کوچکی دایره لغات نیست. نکته مهم این است که کامپایلر یا مفسر (compiler/interpreter) دستورها را بر اساس قواعد مشخص زبان پردازش میکند. قرار نیست از لحن ما حدس بزند که وقتی میگوییم «آن را بگذار اینورتر»، منظورمان چند پیکسل به سمت راست است یا چپ!
اگر این قواعد را رعایت نکنیم، با «خطای دستوری» روبهرو میشویم. مثلا در پایتون، جا انداختن دو نقطه بعد از شرط یا تو رفتگی نادرست ابتدای خط میتواند مانع اجرای کد شود. آنقدر جدی است که گاهی چند فاصله نابهجا را چنان به دل میگیرد که یک قدم هم از قدم برنمیدارد! بعضی خطاها هم فقط هنگام اجرا آشکار میشوند؛ مثل وقتی که برنامه بخواهد عددی را بر صفر تقسیم کند. (خب آدم همیشه امیدوار است درآمد خالص غیر صفر باشد!)
اما دسته دیگری از اشتباهها، خطاهای منطقیاند: برنامه اجرا میشود، حتی پیغام خطایی هم نمیدهد، ولی محاسبه یا روشی که نوشتهایم اشتباه است. مثلا برای محاسبه میانگین، مجموع فروش را بر تعداد نادرستی تقسیم کردهایم. نتیجه، ظاهری معتبر دارد، اما پاسخ مساله ما نیست (البتهای کاش خطاهای منطقی همیشه به همین سادگی بودند!) بنابراین اجرای موفق برنامه، بهتنهایی درستی نتیجه را ثابت نمیکند. با این حال، معنای دستور تقسیم روشن است و به طعنه و کنایه و پشت چشم نازک کردن ما کاری ندارد.
در ارتباط با مدل زبانی، پیش از رسیدن به این مراحل، یک لایه تفسیر هم داریم. مدل باید از درخواست و اطلاعاتی که در اختیار دارد، برداشت کند چه میخواهیم. «حرفهایترش کن» از نظر زبانی ایرادی ندارد، اما معیار مشخصی هم برای حرفهای بودن تعیین نمیکند. ممکن است مدل سوال بپرسد یا خودش برداشتی را مبنای کار قرار دهد. اینجا الزاما چیزی وجود ندارد که مثل یک پرانتز بستهنشده، جلوی ادامه کار را بگیرد.
در گفتوگوهای چندمرحلهای، پیامها و پاسخهای قبلی هم میتوانند بخشی از زمینه پاسخ بعدی باشند. در نتیجه، اگر بحث ما چند دور بر سر رنگ و اندازه نوشتهها بچرخد، ممکن است اصلاحات بعدی هم حول همین جزئیات پیش بروند، درحالیکه مشکل اصلی، انتخاب اطلاعات نمودار بوده است. پاسخ تازه میتواند با گفتوگوی ما سازگار باشد و همچنان به هدفی که نگفتهایم نزدیک نشود.
وقتی پای ایجنت در میان است، این برداشت میتواند مبنای اقدام هم قرار بگیرد: نوشتن کد، اجرای ابزار، ساخت فایل و استفاده از نتیجه هر مرحله برای مرحله بعد. ممکن است همه ابزارها درست کار کنند، فایل هم سالم باز شود، اما مجموعه کارها برای برداشتی انجام شده باشد که از ابتدا منظور ما نبوده است. موفقیت فنی هر مرحله، تضمین نمیکند که مقصد درست انتخاب شده باشد.
این آسانی گفتوگو گاهی ما را هم کمدقت میکند. تصور میکنیم حالا دیگر میتوانیم بدون دانستن آن عبارتهای نامفهوم برنامهنویسی، نرمافزار تولید کنیم! هورا! اما نحوه برخوردمان هنوز در حد «من از این خوشم نمیآد» یا
«نه، اینجوری نه!» باقی مانده است. وقتی اوضاع خرابتر شود، شاید برای شیرفهم کردن ماشین از کلمات توهینآمیز هم استفاده کنیم. نارضایتیمان واضحتر میشود؛ خواستهمان لزوما نه!
سوءتفاهم با هوش مصنوعی برایتان هزینه دارد!
متاسفانه این صحنه برای خیلی از همکاران انسانی هم آشناست. مدیری میگوید: «برای جلسه فردا یک گزارش درستوحسابی آماده کن.» همکار تازهوارد، برای اینکه چیزی کم نگذارد، بیست صفحه جدول و توضیح تهیه میکند. مدیر نگاهی میاندازد و میگوید: «کی وقت دارد این همه را بخواند؟ فقط میخواستم بدانم کجا از برنامه عقب هستیم!»
احتمالا اگر همین جمله آخر از اول گفته شده بود، هر دو روز بهتری داشتند.همکار با سابقه شاید از تجربه فهمیده باشد «درستوحسابی» در زبان این مدیر یعنی چه. همکار جدید هنوز این فرهنگ لغت اختصاصی را ندارد. مدیر هم ممکن است این فاصله را به حساب کمتوانی او بگذارد، کار را پس بگیرد و شب با خستگی بگوید: «اینجا همه کارها را باید خودم انجام بدهم.»
متاسفانه برای همکاری که کسی از کارش راضی نبوده و حتی وقت هم نگذاشته تا درست توضیح بدهد چه انتظاری از او دارد، ممکن است نهایتا فقط دلخوری بماند. اما هوش مصنوعی در این زمینه یک پیشرفت قابل ملاحظه داشته است! این ایرادها را به خودش نمیگیرد. وقتی هزینههای استفادهاش بر اساس میزان مصرف باشد، با هر رفتوبرگشت قبضتان را چاقتر میکند! به این ترتیب، کارفرمایی که نمیتواند درست منظورش را بفهماند، ممکن است در نهایت هم خسته و کلافه خودش کار را انجام دهد، هم هزینه تلاشهای بینتیجه را بپردازد.
خوشبختانه من و دبیرک پیش از آنکه رابطهمان دچار تنش شود، توانستهایم اخلاق یکدیگر را بهتر بشناسیم. هم من بهتر میدانم چطور درخواستهای شفاف از او داشته باشم، هم او میداند قبل از اینکه توکنهایش را بسوزاند، اول مطمئن شود هر دو درباره یک خروجی واحد حرف میزنیم: برای چه مخاطبی، با چه هدفی و با چه نشانهای از موفقیت. تا خدای نکرده کارمان به جاهای باریک کشیده نشود. البته هنوز به صرف شام با ایجنتها بدبین هستم، نمی دانم خوردن صفر و یک واقعا با معده ما انسانها سازگار است یا نه!
* ریاضیدان و طراح راهحلهای هوشمند