چند روز پیش، داشتم به این فکر می کردم که برای استفاده از ChatGPT (یا Bing/Sydney یا هر سرویس مشابه) باید بدانید. سوال پرسیدن از آن آسان است، اما همه ما می دانیم که این مدل های زبان بزرگ اغلب پاسخ های نادرست ایجاد می کنند. که این سوال را ایجاد می کند: اگر من چیزی از ChatGPT بپرسم، چقدر باید بدانم که آیا پاسخ درست است؟
بنابراین من یک آزمایش سریع انجام دادم. به عنوان یک پروژه برنامه نویسی کوتاه، چند سال پیش فهرستی از تمام اعداد اول کمتر از 100 میلیون تهیه کردم. من از این لیست برای ایجاد یک عدد 16 رقمی استفاده کردم که حاصل ضرب دو عدد اول 8 رقمی بود (99999787 ضربدر 99999821 برابر است با 9999960800038127). سپس از ChatGPT پرسیدم که آیا این عدد اول است یا خیر، و چگونه تشخیص داد که عدد اول است یا خیر.
سریعتر یاد بگیرید عمیق تر حفاری کنید. دورتر را ببینید.
ChatGPT به درستی پاسخ داد که این عدد اول نیست. این تا حدودی تعجب آور است زیرا، اگر مطالب زیادی در مورد ChatGPT خوانده باشید، می دانید که ریاضیات یکی از نقاط قوت آن نیست. (احتمالاً لیست بزرگی از اعداد اول در جایی در مجموعه آموزشی آن وجود دارد.) با این حال، استدلال آن نادرست بود – و این بسیار جالب تر است. ChatGPT یک سری کد پایتون را به من داد که آزمایش اولیه Miller-Rabin را اجرا می کرد و گفت که تعداد من بر 29 بخش پذیر است. کدی که ارائه شد چند خطای نحوی اساسی داشت – اما این تنها مشکل نبود. اول اینکه 9999960800038127 بر 29 بخش پذیر نیست (به شما اجازه می دهم این را به خودتان ثابت کنید). پس از رفع خطاهای آشکار، کد پایتون شبیه پیادهسازی صحیح Miller-Rabin به نظر میرسید – اما عددی که Miller-Rabin خروجی میدهد یک عامل نیست، بلکه یک «شاهد» است که این واقعیت را تأیید میکند که عددی که شما آزمایش میکنید نیست. اول نیست تعداد خروجی آن نیز 29 نیست. بنابراین ChatGPT در واقع برنامه را اجرا نکرد. جای تعجب نیست، بسیاری از مفسران اشاره کرده اند که ChatGPT کدی را که می نویسد اجرا نمی کند. همچنین به اشتباه متوجه شد که الگوریتم چه کار می کند و خروجی آن چیست و این خطای جدی تری است.
سپس از آن خواستم تا در دلیل پاسخ قبلی خود تجدید نظر کند و به همراه یک برنامه پایتون متفاوت عذرخواهی بسیار مودبانه ای به خاطر نادرست بودن آن گرفتم. این برنامه از ابتدا درست بود. این یک آزمون نیروی اولیه بود که هر عدد صحیح (هم فرد و هم زوج!) کوچکتر از جذر عدد مورد آزمایش را امتحان می کرد. نه شیک و نه اجرا، بلکه درست است. اما باز هم، چون ChatGPT در واقع برنامه را اجرا نمی کند، لیست جدیدی از «عوامل اصلی» را به من داد – که هیچ کدام درست نبود. جالب اینجاست که خروجی مورد انتظار (و نادرست) خود را در کد گنجانده است:
n = 9999960800038127
factors = factorize(n)
print(factors) # prints [193, 518401, 3215031751]
من ادعا نمی کنم که ChatGPT بی فایده است – دور از آن. در پیشنهاد راهحلهایی برای حل یک مشکل خوب است و میتواند شما را به راهحل درست هدایت کند، خواه پاسخ درستی به شما بدهد یا نه. میلر رابین جالب است. می دانستم که وجود دارد، اما اگر از من خواسته نمی شد، به خود زحمت نمی دادم آن را جستجو کنم. (این یک کنایه خوب است: ChatGPT به من انگیزه داد.)
بازگشت به سوال اصلی: ChatGPT در ارائه “پاسخ” به سوالات خوب است، اما اگر نیاز دارید که بدانید پاسخ صحیح است، یا باید بتوانید خودتان مشکل را حل کنید یا تحقیقات لازم را انجام دهید. آن مشکل را حل کند این احتمالاً یک برد است، اما شما باید محتاط باشید. ChatGPT را در موقعیت هایی قرار ندهید که صحت مشکل است، مگر اینکه خودتان بخواهید و بتوانید کار سخت را انجام دهید.