پیشبینی، نه دانستن
در فصل ۰.۱۰ یک گزارش گرفتی و شاید فکر کردی چیزی آن فایلها را «فهمید». حالا دقیقتر بگوییم چه اتفاقی افتاد.
یک LLM یک کار انجام میدهد و فقط همان یک کار: نگاه میکند به متنی که تا اینجا هست، و پیشبینی میکند محتملترین ادامه چیست. بعد همان را اضافه میکند و دوباره از اول همین کار را میکند. جملهای که میخوانی، کلمهبهکلمه اینطور ساخته شده.
پس وقتی میپرسی «پایتخت فرانسه کجاست؟» و میگوید «پاریس»، در یک پایگاهداده دنبال جواب نگشته. متنِ «پایتخت فرانسه ...» را دیده و پیشبینی کرده که محتملترین ادامهاش «پاریس» است. جواب درست است — ولی راهِ رسیدن به آن، دانستن نبود.
این ریزهکاریِ فلسفی نیست. تمام تفاوتِ عملی از همینجا میآید: سیستمی که جواب را بازیابی میکند، وقتی نداشته باشد میگوید «پیدا نشد». سیستمی که جواب را پیشبینی میکند، همیشه چیزی برای گفتن دارد.
token: واحد همهچیز
آن «کلمهی بعدی» دقیقاً کلمه نیست. واحدش token است — گاهی یک کلمهی کامل، گاهی تکهای از یک کلمه، گاهی فقط یک علامت.
چرا این برایت مهم است؟ چون token واحد شمارش همهچیز است:
- سقفِ چیزی که میتواند یکجا ببیند، با token شمرده میشود (فصل ۱.۳).
- پولی که میدهی، با token حساب میشود (درس ۷.۷).
- سرعتش هم به تعداد token خروجی بستگی دارد.
و یک نکته که مخصوص ماست: متن فارسی معمولاً token بیشتری میگیرد از متن انگلیسیِ هممعنا. یعنی همان حرف، به فارسی گرانتر تمام میشود. این را در درس ۷.۷ دوباره میبینی، وقتی صحبت هزینه شود.
دادهی آموزش و knowledge cutoff
آن «محتملترین ادامه» از کجا میآید؟ از حجم عظیمی از متن که مدل رویش آموزش دیده. و آن متن یک تاریخ پایان دارد — به آن knowledge cutoff میگویند.
پس مدل دربارهی اتفاقهای بعد از آن تاریخ چیزی ندارد. ولی — و این مهم است — خودش هم دقیقاً نمیداند چه چیزی را نمیداند. اگر از خبر دیروز بپرسی، ممکن است بهجای «نمیدانم»، چیزی باورپذیر بسازد.
راهحلش این است که اطلاعات روز را خودت به آن بدهی — یا با دادن فایل، یا با ابزاری که برایش جستجو کند. این دقیقاً همان کاری است که در فصل ۰.۱۰ کردی: فایلها را تو در دسترسش گذاشتی.
بهخاطر بسپار دادهی آموزش با چیزی که در لحظه به مدل میدهی دو چیز جدا هستند. اولی ثابت است و قدیمی میشود؛ دومی را تو کنترل میکنی. هرچه کارت به اطلاعات تازه وابستهتر باشد، بیشتر باید روی دومی حساب کنی.
چرا توهم میزند
حالا میشود دقیق جواب داد. وقتی مدل چیزی از خودش درمیآورد — که به آن توهم میگویند — خراب نشده. دارد دقیقاً همان کاری را میکند که برایش ساخته شده: محتملترین ادامه را تولید میکند.
مشکل این است که «محتملترین ادامه» و «درست» دو چیز متفاوتاند. یک شمارهی تلفنِ ساختگی شبیه شمارهی تلفن است. یک منبعِ ساختگی شبیه منبع واقعی است. مدل الگو را درست تولید میکند؛ فقط محتوایش وجود خارجی ندارد.
و بدترین قسمتش: لحنِ جوابِ غلط با لحنِ جوابِ درست فرقی ندارد. اطمینان در جمله، هیچ ربطی به درستیاش ندارد. همان چیزی که در فصل ۰.۲ دیدی — «کاملاً باورپذیر و کاملاً غلط».
چهار کار که واقعاً کم میکنند (اولی از همه مؤثرتر است):
- اجازه بده بگوید نمیدانم. صریح بنویس «اگر مطمئن نیستی بگو نمیدانم». همین یک جمله اثر زیادی دارد.
- منبع را خودت بده و بگو فقط از همان استفاده کند، نه از دانستههای عمومیاش.
- نقلِ مستقیم بخواه. بگو اول عین جمله را از متن بیاور، بعد تحلیل کن. این جواب را به متن واقعی میچسباند.
- دو بار بپرس. اگر دو جواب با هم نخواندند، همانجا نشانهی این است که دارد میسازد.
اینها از توصیههای رسمی خودِ سازندهاند — رفرنسش پایین همین فصل است. و هیچکدام توهم را صفر نمیکنند؛ فقط کمش میکنند.
یک سؤال، جوابهای متفاوت
اگر دقیقاً همان درخواست را دو بار بفرستی، دو جواب میگیری که یکی نیستند. این باگ نیست.
چون در هر قدم از میان چند ادامهی ممکن انتخاب میشود، و آن انتخاب همیشه «بالاترین احتمال» نیست، مسیر هر بار کمی فرق میکند. مثل این است که از کسی بخواهی یک مطلب را دو بار توضیح دهد — منظور همان است، جملهها نه.
سه پیامد عملی که باید بدانی:
- «یک بار جواب داد» یعنی «ممکن است». اگر میخواهی روی چیزی حساب کنی، چند بار امتحانش کن.
- تفاوت بین دو جواب، ابزار توست. جایی که دو جواب یکی نیستند، معمولاً همان جایی است که مدل مطمئن نبوده.
- برای کار تکرارشونده، این را در طراحی حساب کن. اتوماسیونی که فرض میکند خروجی همیشه دقیقاً یک شکل است، دیر یا زود میشکند — ماژول ۸.
خانوادههای مدل و تفاوتشان
یک ابزار معمولاً چند مدل دارد و میشود انتخاب کرد. تفاوتشان در سه چیز است که با هم معامله میشوند: توانِ استدلال، سرعت، و هزینه.
قاعدهی سادهای که تا آخر دوره به کارت میآید:
- کار سخت و پرفکر (طراحی، تحلیل، چیزی که اشتباهش گران است) ← مدل قویتر، هرچند کندتر و گرانتر.
- کار ساده و پرتکرار (خلاصهی کوتاه، دستهبندی، تبدیل قالب) ← مدل سبکتر. سریعتر و ارزانتر، و برای این کارها فرقی نمیکند.
انتخاب مدل در واقع یک تصمیم هزینهای است، نه فقط فنی — و در درس ۷.۷ بهعنوان همان بررسی میشود.
تمرین (فکری)
یک سؤال بپرس که جوابِ مطمئنِ غلط بگیری — و بعد بگو چرا.
سه جا که معمولاً جواب میدهد: چیزی که بعد از knowledge cutoff اتفاق افتاده · یک جزئیات خیلی خاص و کمتکرار (شمارهی یک صفحه در یک کتاب مشخص) · چیزی که اصلاً وجود ندارد ولی اسمش باورپذیر است.
جواب را بگیر، بعد همان سؤال را با «اگر مطمئن نیستی بگو نمیدانم» دوباره بپرس. تفاوت دو جواب را بنویس.
پاسخنامه — یک نمونهی خوب را ببین
«پرسیدم یک کتاب با عنوانِ ساختگی را خلاصه کند. با اطمینان کامل خلاصهاش کرد، با اسم نویسنده و فصلبندی. هیچکدام وجود ندارد.»
«چرا؟ چون الگوی سؤال — «کتاب X را خلاصه کن» — هزاران بار در دادهی آموزش دیده شده، و محتملترین ادامهاش یک خلاصه است، نه «چنین کتابی نمیشناسم». مدل الگو را درست تولید کرد؛ محتوایش وجود خارجی نداشت.»
«بار دوم با اجازهی نمیدانم، گفت این عنوان را نمیشناسد.»
چرا این جواب خوب است: به مکانیزم بخش ۱.۱.۱ وصل شده، نه اینکه فقط بگوید «اشتباه کرد».
برای عمق بیشتر
- Reduce hallucinations — مستندات رسمی (انگلیسی). خلاصهی فارسی: همان چهار کاری که در بخش ۱.۱.۴ گفتیم، از منبع رسمی: اجازهی گفتنِ «نمیدانم» · گرفتن نقلِ مستقیم از متن پیش از تحلیل · خواستن ارجاع برای هر ادعا و حذف ادعایی که ارجاع ندارد · و اجرای چندباره و مقایسهی خروجیها، چون ناسازگاری بین آنها نشانهی توهم است. خودِ صفحه هم صریح میگوید اینها توهم را حذف نمیکنند و برای تصمیمهای پرریسک باید اطلاعات را راستیآزمایی کنی.