حافظه در هوش مصنوعی: چه چیزی واقعاً یادش میماند
کاربر فکر میکند مدل او را میشناسد. زیر کلمهی «حافظه» چهار سازوکار جدا قایم شدهاند؛ اینجا هر چهار را تفکیک میکنیم: کجا ذخیره میشود، چقدر میماند و چه کسی میبیند.
یک مشاور کسبوکار در تهران سه ماه است هر روز با یک مدل زبانی کار میکند. یک روز مینویسد «همان تحلیلی که هفتهی پیش دربارهی پروندهی آقای رحیمی دادی را دوباره بنویس» و جوابی میگیرد که به هیچ رحیمی ربط ندارد. خیال میکند مدل طفره میرود. نمیرود؛ آن گفتگو برای او اصلاً اتفاق نیفتاده است.
ریشهی سوءتفاهم یک کلمه است: حافظه. زیرش چهار سازوکار با محل ذخیره، عمر و سطح دسترسی کاملاً متفاوت قایم شدهاند. تا جدا نشوند، هم انتظار غلط میسازید و هم اطلاعات را جایی میگذارید که خیال میکردید نمیماند.
چهار چیزی که همه به آنها میگوییم حافظه
چهار سازوکار در کارند: پنجرهی زمینه، حافظهی سرویس، بازیابی از سند، آموزش مجدد. تفاوت واقعیشان در نام نیست، در سه ستون بعدی است:
| سازوکار | کجا ذخیره میشود | چقدر میماند | چه کسی میبیند |
|---|---|---|---|
| پنجرهی زمینه | همراه هر درخواست، بدون ذخیره | تا سقف همان گفتگو | فقط همان گفتگو |
| حافظهی سرویس | پایگاه دادهی سرویسدهنده | تا وقتی پاکش کنید | همهی گفتگوهای بعدی |
| بازیابی از سند | مخزن اسناد، بیرون از مدل | تا حذف شدن سند | هر کسی با دسترسی به مخزن |
| آموزش مجدد | وزنهای یک نسخهی جدا | تا جایگزینی آن نسخه | هر کاربر همان نسخه |
پنجرهی زمینه: چیزی که فقط همین حالا زنده است
مدل هر بار که جواب میدهد، کل گفتگو را از اول میخواند؛ بین دو درخواست حافظهای ندارد و این سرویس است که تاریخچه را نگه میدارد. مثل کارمندی که هر صبح با حافظهی صفر سر کار میآید و پروندهی روی میز را میخواند تا بفهمد دیروز چه گذشت.
این پرونده اندازه دارد؛ با توکن سنجیده میشود نه کلمه و برای فارسی زودتر پر میشود — دلیلش در توکن چیست هست. پر کردنِ درستش مهارتی جداست به نام مهندسی زمینه.
چرا در گفتگوی طولانی اولِ متن فراموش میشود
وقتی گفتگو از سقف رد شود، هشداری نمیگیرید. سرویس یا قدیمیترین پیامها را کنار میگذارد یا فشردهشان میکند، و مدل با همان اطمینان قبلی روی نسخهای ناقص از تاریخچه حرف میزند. لازم هم نیست به سقف برسید تا افت شروع شود: در متنهای خیلی بلند، توجه مدل معمولاً به ابتدا و انتها بیشتر از وسط است.
مدل هرگز نمیگوید «آن قسمت را دیگر نمیبینم»؛ فقط جواب میدهد. از بیرون شبیه توهم است، ولی درمانش فرق دارد: پرونده را کوتاه کنید، نه پرامپت را سختگیرتر.
حافظهی سرویس: یادداشتی که کنار حساب شما میماند
بعضی سرویسها نکتههای مهم را از گفتگوها بیرون میکشند و در پروفایل شما ذخیره میکنند: شغل، لحن دلخواه، نام شرکت. این نه بخشی از مدل است و نه بخشی از پنجره؛ یادداشتی جداست که ابتدای هر گفتگوی تازه اضافه میشود — حتی گفتگوهای کاملاً بیربط.
یک صراحت هم لازم است: حافظهی خودکار هنوز خوب کار نمیکند. اغلب شهر محل زندگیتان را ثبت میکند و آن قاعدهی نگارشیای را که ده بار تکرار کردهاید نه.
بازیابی از سند و آموزش مجدد، دو چیز کاملاً جدا
در بازیابی، اسناد بیرون از مدل میمانند و سر هر پرسش فقط تکههای مرتبط به همان درخواست چسبانده میشود. مدل یاد نگرفته؛ متن درست را بهموقع جلویش گذاشتهاند. منطقش در RAG چیست و پایهاش در مدخل Retrieval-augmented generation آمده.
آموزش مجدد اما وزنها را در نسخهای جدا عوض میکند: کاری آگاهانه و پرهزینه، نه چیزی که از چت روزمره دربیاید؛ مرزهایش در فاینتیونینگ چیست جدا شده.
مشاوری که پروندهها را قاطی میکند
برگردیم به همان مشاور. هر سه مشتریاش در یک گفتگو بودند: کارگاه بستهبندی زعفران در مشهد، یک مطب، و فروشگاه پوشاکی تبریز. سه هفته خوب پیش رفت، تا رقم گردش مالی مطب وسط پیشنهاد فروشگاه ظاهر شد و کسی متوجه نشد، چون متن روان بود.
خطایی رخ نداده بود؛ هر سه پرونده در یک پنجرهی زمینه بودند و مدل نشانهای نداشت که نباید به هم ربطشان بدهد. مرز پروندهها را آدمها میکشند: برای هر پرونده یک گفتگوی جدا، و در ابتدایش خلاصهای که خودتان مینویسید:
پرونده: مشتری «الف» — بستهبندی زعفران، مشهد
وضعیت: ۶ پرسنل، فروش عمده، بدون فروش آنلاین
تصمیمها تا امروز:
۱) بستهبندی ۵ گرمی عید کنار گذاشته شد
۲) قیمتگذاری بر مبنای عمده میماند
پرسش امروز: ...
قید: فقط بر اساس همین متن جواب بده. اگر چیزی اینجا
نیست، بنویس «در پرونده نیست» و حدس نزن.
همین چند خط جای ده پیام قبلی را میگیرد. در نارنگی برای هر پرونده گفتگوی تازه بسازید و قالب بالا را در پیام اول بگذارید.
چه چیزی را نباید در حافظه بگذارید
حافظهی سرویس راحت است و خطرش از همین راحتی میآید: هرچه یک بار آنجا بنشیند، بعدها خودبهخود بالا میآید.
هرچه تایپ میکنید از سرور سرویس میگذرد و معمولاً مدتی در لاگ میماند، حتی اگر گفتگو را پاک کنید. پس کد ملی، شمارهی کارت، رمز، کلید API و پروندهی پزشکی با نام بیمار جایی در حافظه ندارند. نامها را با «مشتری الف» جایگزین کنید؛ کیفیت جواب فرقی نمیکند. خط قرمزهای کاملتر در امنیت اطلاعات در هوش مصنوعی هست.
سه کاری که همین امروز جواب میدهد
اول، خلاصه را خودتان بنویسید. سپردنش به مدل یعنی سپردن انتخابِ اینکه چه چیزی مهم است — انتخابی که همیشه با شما همنظر نیست.
دوم، موضوع تازه یعنی گفتگوی تازه. گفتگوی صدپیامی که همهی کارهایتان در آن جمع شده، تاریخچه نیست؛ منبع خطاست.
سوم، ماهی یک بار فهرست ذخیرهشدهها را بخوانید و هرچه به کارِ امروز نمیآید حذف کنید. حافظهی کهنه بدتر از نبودِ حافظه است.
جمعبندی
مدل شما را نمیشناسد. آنچه شبیه شناختن است، متنی است که یا خودتان نوشتهاید یا سرویس جلوی مدل گذاشته. همین یک جمله که جا بیفتد، هم انتظارتان واقعی میشود و هم اطلاعات حساس را جای اشتباه نمیگذارید.
و یک قاعدهی ساده: اگر فراموش شدن اطلاعاتی برایتان مشکلساز است، خودتان بیرون از چت نگهش دارید.
برای ادامه: