همان پنجره چتی را باز میکنید که سهشنبه گذشته استفاده کرده بودید و هوش مصنوعی دقیقاً از همانجایی که رها کرده بودید، ادامه میدهد. او به دستورالعملهای قبلی شما ارجاع میدهد، لحن کنایهآمیز شما را تقلید میکند و میپرسد که آیا آن گزارش را تمام کردهاید یا خیر. برای یک لحظه، احساس میکنید با همکاری کار میکنید که واقعاً به حرفهای شما توجه میکند. اما وقتی گفتگوی جدیدی را شروع میکنید، همه چیز ناپدید میشود. لحن او بیروح میشود. جزئیات پروژه از بین میروند. او شما را با نام اشتباه صدا میزند. چه اتفاقی افتاد؟
ماشین شما را فراموش نکرده است. از همان ابتدا هم شما را نمیشناخت.
توهم حافظه
ما طوری برنامهریزی شدهایم که همه جا حافظه ببینیم. وقتی یک چتبات به خاطر میآورد که شما نقاط گلولهای (bullet points) کوتاه را ترجیح میدهید یا در حوزه سلامت کار میکنید، همان غریزهای را در ما تحریک میکند که وقتی یک متصدی بار، سفارش همیشگی شما را به یاد میآورد. اما این یک ترفند طراحی است، نه شناخت. مدلهای زبانی بزرگ، حقایق مربوط به شما را در وزنهای (weights) خود ذخیره نمیکنند. آنها دفترچه خاطرات روزانه از تعاملات شما ندارند. آنها نمیتوانند به پوشهای با برچسب "ترجیحات کاربر" نگاه کنند، زیرا چنین پوشهای وجود ندارد.
آنچه شبیه به حافظه به نظر میرسد، صرفاً متنی است که در یک پنجره کانتکست (context window) قرار دارد. مدل، تاریخچه چتهای اخیر، پرامپت فعلی شما و هر دستورالعمل سیستمی که توسط توسعهدهنده اضافه شده است را میخواند. او همه اینها را در یک نگاه پردازش میکند، کلمه بعدی را پیشبینی میکند و پاسخ میدهد. وقتی آن متن ناپدید شود، "حافظه" نیز از بین میرود. مدل به رفتار پایه خود بازمیگردد که اغلب با اعتمادبهنفس، عمومی و کمی بیش از حد پرشور است. این توهم از هم میپاشد چون کانتکست تغییر کرده است، نه به این دلیل که هوش مصنوعی دچار فراموشی شده است.
آنچه هوش مصنوعی واقعاً از آن استفاده میکند
اگر میخواهید خروجی قابل اعتمادی داشته باشید، باید چهار منبعی را که اطلاعات واقعاً از آنها تأمین میشود، درک کنید:
- تاریخچه چت: رفتوآمدهای اخیر در رشته (thread) فعلی شما. این بخش موقتی است. یک رشته جدید شروع کنید و همه چیز از بین میرود.
- دستورالعملهای خاص در پرامپت: هر آنچه همین الان در کادر تایپ یا کپی میکنید. این مستقیمترین شکل کنترل است.
- اسناد از یک پایگاه دانش: فایلها یا پایگاههای دادهای که سیستم میتواند در آنها جستجو کرده و به پرامپت تزریق کند. این کار مستلزم یک مرحله بازیابی (retrieval) است و آن مرحله میتواند بدون هیچ هشداری با شکست مواجه شود.
- دادههای استخراجشده از یک گردش کار (workflow): فراخوانیهای API، جستجو در پایگاه داده یا ویژگیهای حافظهای که توسط اپلیکیشنهای شخص ثالث اضافه شدهاند. کیفیت اینها فقط به اندازه کدی است که آنها را به هم متصل میکند.
هیچکدام از اینها حافظه ارگانیک نیستند؛ اینها صرفاً زیرساختهای انتقال داده هستند. اگر لولهای قطع شود یا سند اشتباهی به درون پرامپت کشیده شود، هوش مصنوعی به شما هشدار نخواهد داد. او فقط از آنچه میبیند استفاده میکند و یک پاسخ صیقلخورده، باورپذیر و کاملاً اشتباه ارائه میدهد.
وقتی کانتکست از هم میپاشد: یک مثال واقعی
تیم بازاریابی را تصور کنید که از یک هوش مصنوعی میخواهد پیشنویس ایمیلهای مشتریان را بنویسد. روز دوشنبه، سارا یک چت شروع میکند و یک راهنمای سبک کوتاه را در آن میچسباند: "از زبان آرام و خویشتندار استفاده کن. از علامت تعجب خودداری کن. در پایان فقط نام شرکت را بنویس." هوش مصنوعی دقیقاً از راهنما پیروی میکند. تیم عاشق پیشنویسها میشود.
روز چهارشنبه، جیک یک چت کاملاً جدید باز میکند. او تایپ میکند: "پیشنویس ایمیلهای پیگیری مشتریان را بنویس." او راهنمای سبک را کپی نمیکند. هوش مصنوعی، با دیدن هیچ دستورالعمل متضادی، به حالت پیشفرضِ نثر بازاریابی پرانرژی بازمیگردد. علامتهای تعجب از هر سو به چشم میخورند. او پیشنهاد میدهد: "بیایید بترکانیم!" (Let's crush this!). تیم ناله میکند. آنها میپرسند: "چرا هوش مصنوعی فراموش کرد؟"
او فراموش نکرد. چیزی برای فراموش کردن وجود نداشت. جیک فراموش کرد راهنمای سبک را در پنجره کانتکست جدید بگنجاند، و مدل هیچ راهی نداشت که بداند تیم دو روز پیش در یک گفتگوی دیگر، قانونی را تعیین کرده است. ناامیدی تیم واقعی بود، اما علت آن انسانی بود، نه مکانیکی. تیم انتظار حافظه پایدار داشت، اما ابزار فقط یک یادداشتبرداری موقت در اختیار آنها گذاشته بود.
تست واقعی: آنچه ماشین میبیند را بازرسی کنید
سریعترین راه برای بهبود نتایج این است که پرسیدنِ "آیا هوش مصنوعی این را به یاد میآورد؟" را متوقف کنید و بپرسید: "در حال حاضر واقعاً چه کانتکستی به او داده میشود؟" تنظیمات خود را با سه سوال بسنجید:
هوش مصنوعی هر بار به چه چیزهایی نیاز دارد؟ این کانتکست غیرقابل مذاکره شماست. لحن برند، سیاستهای ایمنی، قالبهای خروجی و محدودیتهای انطباق. اگر این موارد حیاتی هستند، باید در یک سند مرجع باشند که به هر پرامپت مرتبط تزریق میشود، نه در یک رشته چت مربوط به سه هفته پیش.
چه چیزهایی را میتوانید برای بازیابی بعدی ذخیره کنید؟ یادداشتهای پروژههای قدیمی، مشخصات محصول یا تحقیقات گذشته میتوانند در یک فایل ساختاریافته یا پایگاه داده قرار بگیرند. اما ذخیرهسازی به تنهایی کافی نیست. شما باید دقیقاً بدانید سیستم چگونه تصمیم میگیرد که کدام بخش از آن ذخیرهسازی را به گفتگو بیاورد. اگر بازیابی به تطبیق کلمات کلیدی وابسته باشد، یک عبارت کمی متفاوت در پرامپت شما ممکن است صفحه اشتباهی را فراخوانی کند.
یک فرد باید چه مواردی را به صورت دستی بررسی کند؟ وقتی هزینه خطا بالا است — ارقام مالی، خلاصههای پزشکی، متون حقوقی، اطلاعیههای عمومی — کورکورانه به فرآیند (pipeline) اعتماد نکنید. یک انسان باید تأیید کند که هوش مصنوعی از نسخه درست سند استفاده کرده است و خروجی در دنیای واقعی منطقی است. مدل نمیتواند به شما بگوید که فقط به لیست قیمت سال گذشته استناد کرده است. مگر اینکه آن را در پرامپت (prompt) ذکر کنید، مدل نمیداند اکنون چه سالی است.
ساخت یک گردش کار با اولویتِ زمینه (Context)
کار قابل اعتماد با هوش مصنوعی، عمدتاً ناشی از معماری اطلاعات خوب است. در اینجا نحوه ساخت آن آمده است.
قوانین ثابت خود را در یک سند مرجع قرار دهید. این تنها منبع حقیقت (single source of truth) شماست. وقتی قوانین تغییر میکنند، فقط همین یک فایل را ویرایش کنید. دستورالعملها را در دهها رشته گفتگوی مختلف پراکنده نکنید.
تنها بخشهای مرتبط آن سند را برای وظیفه مورد نظر ارسال کنید. ریختن یک دفترچه راهنمای صد صفحهای در پرامپت، هزینهبر و پر از نویز است. آن دو صفحهای را که برای این سوال خاص اهمیت دارند، بازیابی کنید. دقت بر حجم برتری دارد.
جزئیات کوتاهمدت را در پرامپت فعال نگه دارید. اگر در حال ایدهپردازی برای عناوین یک پست وبلاگ درباره دوچرخههای برقی هستید، در پرامپت به «دوچرخههای برقی» اشاره کنید. فرض نکنید مدل میداند به چه چیزی فکر میکنید، صرفاً چون دیروز به آن اشاره کردهاید.
زمانی که اشتباهات پرهزینه هستند، از یک انسان برای بازبینی خروجیها استفاده کنید. هوش مصنوعی هرگز احساس خجالت نمیکند. او یک فاکتور اشتباه یا یک عذرخواهی نامناسب را با همان اعتمادبهنفسی ارسال میکند که در سایر موارد دارد. یک نفر باید نقش بررسی منطقی (sanity check) را ایفا کند.
لایهبهلایه فکر کنید
تصور اطلاعات هوش مصنوعی به صورت چهار لایه روی هم قرار گرفته، که هر کدام قابلیت اطمینان و ریسکهای خاص خود را دارند، کمککننده است.
زمینه فوری (Immediate context) همان پرامپت فعلی است. این ۱۰۰ درصد تحت کنترل شماست، اما تنها در صورتی که برای نوشتن آن وقت بگذارید. پرامپتهای مبهم، نتایج مبهم به همراه دارند.
زمینه ذخیرهشده (Stored context) اطلاعاتی است که در جایی ذخیره کردهاید: یک ویکی در Notion، یک vector database، یا پوشهای از فایلهای PDF. این اطلاعات وجود دارند، اما هوش مصنوعی تا زمانی که چیزی فاصله را پر نکند، نمیتواند آنها را ببیند.
زمینه بازیابیشده (Retrieved context) دادههایی است که توسط منطق جستجو، کد یا یک plugin از حافظه به پرامپت منتقل میشوند. اینجاست که بیشتر شکستهای خاموش رخ میدهند. سیستم ممکن است به جای قرارداد اصلاحشده، یک قرارداد قدیمی را فراخوانی کند، یا به جای spreadsheet، یک اسکرینشات را بیاورد.
زمینه انسانی (Human context) قضاوت خود شماست درباره اینکه چه چیزی درست است، چه چیزی اهمیت دارد و چه چیزی غیرعادی به نظر میرسد. این تنها لایهای است که میداند آیا یک پاسخ قدیمی است، آیا یک منبع قابل اعتماد است یا آیا لحن مناسب با موقعیت است یا خیر. این لایه را برونسپاری نکنید.
تیمهایی که بهترین نتایج را میگیرند، از مدلهای هوشمندتر استفاده نمیکنند. آنها در حال ساخت سیستمهایی هستند که در آن زمینه (context) قابل مشاهده، دارای نسخه (versioned) و به راحتی قابل تأیید باشد. آنها میدانند که یک هوش مصنوعی با زمینه کامل، هر بار عملکرد بهتری نسبت به یک مدل نابغه که با اطلاعات غلط کار میکند، خواهد داشت.
پس از برخورد با این ابزارها مانند کارآموزان فراموشکاری که نیاز به توبیخ دارند، خودداری کنید. با آنها مانند لنز برخورد کنید. آنها فقط چیزی را به شما نشان میدهند که مقابلشان قرار میدهید. عادت کنید قبل از سرزنش کردن منظره، شیشه را چک کنید.
به انجمن یادگیری هوش مصنوعی GyaanSetu بپیوندید: https://t.me/GyaanSetuAi
