پرش به محتوای اصلی
پرش به محتوای مقاله

Favur: دسته‌بندی ۳گانه برای جلوگیری از فراموشی داده‌های حیاتی AI

·۲۷ مرداد ۱۴۰۵۵ دقیقه مطالعه۱ بازدید
تصمیم‌گیری درباره فراموشی عامل قبل از پر شدن پنجره زمینه
تصمیم‌گیری درباره فراموشی عامل قبل از پر شدن پنجره زمینه
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

جایگزینی استراتژی «خلاصه‌سازی پسینی» با «طبقه‌بندی پیشینی» در حافظه عامل‌ها؛ یعنی تعیین سرنوشت داده در لحظه خلق، نه در لحظه پر شدن پنجره متنی.

تصور کنید یک برنامه‌نویس هوشمند پس از ۴۰ دقیقه کار روی یک پروژه پیچیده، دقیقاً همان داده‌ای را که برای اتمام کار نیاز دارد، فراموش کند. برای درک بهتر، یک عامل (Agent) را در نظر بگیرید که سه فایل را خوانده، مجموعه تست‌ها را دو بار اجرا کرده، یک ردپای خطا (Stack Trace) را شکار کرده و برنامه‌ای برای رفع مشکل نوشته است. وقتی پنجره متنی (Context Window) — مثل میز کاری که جا برای چند ورق دارد، نه برای کل کتابخانه — پر می‌شود، روتین‌های استاندارد فشرده‌سازی معمولاً قدیمی‌ترین یا طولانی‌ترین پیام‌ها را ابتدا حذف می‌کنند. این یعنی ردپای خطا، چون هم طولانی است و هم قدیمی، دور ریخته می‌شود. در نتیجه، عامل در نوبت بعدی خود، دوباره تست‌ها را اجرا می‌کند تا چیزی را بازیابی کند که پیش‌تر در اختیار داشت.

به نقل از گزارش منتشر شده در ۱۸ آگوست ۲۰۲۶، تیم Favur — تیمی از عامل‌ها که نرم‌افزارها را بر اساس مشخصات مکتوب از طریق برنامه‌ریزی، کدنویسی، بازبینی و تست به‌صورت خودکار می‌سازند — برای حل این مشکل، سیستمی را پیاده کرده است که تصمیم می‌گیرد عامل چه چیزی را فراموش کند، پیش از آنکه پنجره متنی اصلاً پر شود.

بسیاری از عامل‌های هوش مصنوعی با تاریخچه خود به عنوان متنی بدون تمایز برخورد می‌کنند و برای تصمیم‌گیری درباره حذف داده‌ها، تنها به طول متن و تازگی آن تکیه می‌کنند. این رویکرد اساساً معیوب است؛ زیرا مهم‌ترین اطلاعات — مانند برنامه پروژه یا یک دستورالعمل خاص — اغلب طولانی هستند و در ابتدای جلسه ایجاد شده‌اند. تا زمانی که فرآیند فشرده‌سازی فعال شود، سیستم با چهارصد پیام متنی روبروست که در آن‌ها هیچ تفاوتی بین نتیجه یک ابزار و یک دستور انسانی وجود ندارد. همان‌طور که در تحلیل‌های قبلی ما درباره‌ی مدیریت حافظه در مدل‌های زبانی اشاره کردیم، تکیه بر «تازگی» یا «طول متن» برای پاک‌سازی حافظه، یک استراتژی شکست‌خورده است. این چالش‌ها در واقع ریشه در محدودیت‌های بنیادین معماری مدل‌ها دارد، موضوعی که در بررسی‌های فنی ما درباره‌ی دسترسی به حافظه بدون خطای عامل‌ها به تفصیل مورد بحث قرار گرفت.

سیستم Favur شبیه به یک بایگانی دیجیتال است که هر برگه را در لحظه نوشتن، با یک مهر اولویت علامت‌گذاری می‌کند. به جای اینکه یک نظافتچی ساده‌ترین یا قدیمی‌ترین کاغذها را دور بریزد، سیستم ابتدا برچسب‌های «اولویت پایین» را حذف می‌کند. این تضمین می‌کند که دستورالعمل‌های «اولویت بالا» حتی زمانی که گفتگو به هزاران درخواست می‌رسد، باقی بمانند. این رویکرد برای Favur یک مورد عادی است و نه یک استثنا؛ به طوری که یکی از پروژه‌های آن‌ها در این ماه، پیش از اتمام، بیش از ۱۰ هزار درخواست مدل ثبت کرده است.

طرح حفظ داده در سه سطح

Favur در لحظه اضافه شدن هر پیام به تاریخچه، یکی از سه کلاس حفظ داده را به آن اختصاص می‌دهد. این تصمیم در محل فراخوانی (Call Site) گرفته می‌شود، زیرا تنها این بخش از سیستم می‌داند چرا یک پیام ثبت شده است:

  • فراموش‌شدنی (Forgettable): داده‌های کم‌ارزش، مانند لیست دایرکتوری‌ها، که یک بار مصرف هستند و پس از آن بی‌فایده می‌شوند.
  • مبهم (Fuzzy): داده‌های میانی که ممکن است برای درک زمینه مفید باشند اما برای بازیابی وضعیت (State Recovery) حیاتی نیستند.
  • سخت‌گیرانه (Strict): داده‌های بسیار ارزشمند. این دسته شامل دستورات انسانی تزریق شده به عامل در حال اجرا و گزارش‌های پیشرفت است — همان ژورنالی که عامل برای خودش می‌نویسد و بعداً برای بازیابی وضعیت خود می‌خواند. این تفکیک دقیق میان دستورات و حافظه، پاسخی به مشکلاتی است که در سیستم‌های نظارتی در برابر حافظه مدل برای مدیریت دستورات عامل‌ها مشاهده شده بود.

تصمیم‌گیری درباره چه چیزی یک عامل می‌تواند فراموش کند، پیش از پر شدن پنجره زمینه

سازوکار فشرده‌سازی حافظه

سیستم برای پاک‌سازی تاریخچه تحت فشار، از هوش مدل استفاده نمی‌کند؛ بلکه صرفاً طبقه‌بندی پیام‌ها را می‌خواند. فرآیند فشرده‌سازی بر اساس آستانه‌های مصرف پنجره متنی و در سه مرحله مجزا اجرا می‌شود. این آستانه‌ها به جای مقادیر ثابت، قابل تنظیم هستند تا با طول‌های مختلف پروژه (مثلاً یک بازسازی کد دو ساعته در مقابل یک پرسش و پاسخ کوتاه) سازگار شوند:

  • سطح اول (۵٪ مصرف): سیستم مطالب فراموش‌شدنی و مبهم را خلاصه می‌کند اما هیچ‌چیز را حذف نمی‌کند. تاریخچه کوتاه‌تر می‌شود، اما شکل کلی اتفاقات به‌صورت فشرده باقی می‌ماند.
  • سطح دوم (۱۰٪ مصرف): داده‌های فراموش‌شدنی و مبهم کاملاً حذف می‌شوند. سپس سیستم شروع به خلاصه‌سازی محتوای «سخت‌گیرانه» می‌کند؛ به این معنی که ژورنال و دستورالعمل‌ها همچنان حضور دارند اما حجم کمتری اشغال می‌کنند.
  • سطح سوم (۲۵٪ مصرف): هر سه کلاس داده به‌طور کامل حذف می‌شوند تا فضای جدید باز شود.

تیم Favur معمولاً مصرف پنجره را به ۵۰٪ محدود می‌کند، زیرا تجربه نشان داده که عامل‌ها پس از این نقطه تمایل به شکست در عملکرد دارند.

تصمیم‌گیری درباره فراموش کردن عامل هوشمند، پیش از پر شدن پنجره زمینه

این مکانیزم تضمین می‌کند که یک ردپای خطا (Stack Trace) که به عنوان «سخت‌گیرانه» ثبت شده است، مدت‌ها پس از پاک شدن لیست دایرکتوری‌ها (که به عنوان «فراموش‌شدنی» ثبت شده بودند) در دسترس بماند. یک لیست دایرکتوری پس از سطح اول تبدیل به خلاصه و پس از سطح دوم حذف می‌شود، که برای یک لیست درست است اما برای یک ردپای خطا فاجعه‌بار است. در اینجا هیچ‌کدام از این نتایج تصمیمِ روتین فشرده‌سازی نبودند؛ بلکه هر دو در لحظه ثبت (Append) تصمیم‌گیری شده بودند. این رویکرد در واقع مشابه مکانیزم‌های تثبیت خطا است که در لایه نشانی اصلاحات برای جلوگیری از تکرار اشتباهات عامل‌ها به کار می‌رود.

این تغییر، فرض بنیادی حافظه در عامل‌ها را از یک «مسئله‌ی خلاصه‌سازی» به یک «مسئله‌ی برچسب‌گذاری» تبدیل می‌کند. با انتقال تصمیم به محل فراخوانی، Favur نیاز مدل به «حدس زدن» اهمیت اطلاعات را در حالی که مدل خودش با پر شدن پنجره متنی در حال دست و پنجه نرم می‌کند، حذف می‌کند. نتیجه، عاملی است که پنجره متنی‌اش با ترتیبی که یک انسان انتخاب کرده است، خالی می‌شود.

هزینه‌های طراحی

انتقال تصمیم به نقطه‌ای که بیشترین اطلاعات در دسترس است، به معنای انتقال آن به بیشترین تعداد نقاط فراخوانی در کد است. در حالی که روتین فشرده‌سازی یک قطعه کد واحد است که می‌توان آن را در یک جا اصلاح کرد، کلاس‌های حفظ داده توازن متفاوتی ایجاد می‌کنند:

  • شکست‌های خاموش: اگر توسعه‌دهنده به اشتباه یک پیام حیاتی را «فراموش‌شدنی» برچسب بزند، عامل بدون هیچ هشداری آن را فراموش می‌کند. این شکست تنها مدت‌ها بعد ظاهر می‌شود، زمانی که به نظر می‌رسد عامل چیزی را فراموش کرده است.
  • سایت‌های فراخوانی بی‌دقت: این طرح تنها به اندازه بی‌دقت‌ترین نقطه فراخوانی‌اش خوب است. هر پیامی که بدون کلاس برسد، دوباره بر اساس طول و تازگی مرتب می‌شود و مناطقی در تاریخچه ایجاد می‌کند که مانند سیستم قدیمی و معیوب رفتار می‌کنند.

توسعه‌دهندگانی که در حال ساخت عامل‌های خودکار طولانی‌مدت هستند باید ارزیابی کنند که آیا منطق فشرده‌سازی فعلی آن‌ها به‌طور تصادفی «وضعیت» (State) عامل‌هایشان را پاک می‌کند یا خیر. شما می‌توانید با بررسی بنچمارک عمومی Favur Evals، این دینامیک‌های حافظه را بیشتر کاوش کنید.

گام بعدی شما

  • اگر در حال ساخت عامل‌های خودکار هستید، منطق پاک‌سازی حافظه خود را بررسی کنید تا مطمئن شوید «وضعیت» (State) عامل را تصادفی حذف نمی‌کنید.
  • برای درک بهتر این دینامیک‌ها، بنچمارک عمومی Favur Evals را مطالعه کنید.
  • بررسی کنید آیا می‌توانید برچسب‌های اولویت را به جای خلاصه سازی در لایه دیتابیس حافظه خود پیاده کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این متدولوژی با حذف خطاهای ناشی از فراموشی در تسک‌های طولانی، پایداری عامل‌های نرم‌افزاری را به شدت افزایش می‌دهد. اعتبار این روش از تجربه عملی Favur در مدیریت هزاران درخواست متوالی در یک جلسه واحد می‌آید.

تأثیر برای ایران

این رویکرد برای توسعه‌دهندگان ایرانی که با محدودیت‌های هزینه API و پنجره‌های متنی مدل‌های ارزان‌تر سر و کار دارند، راهکاری بهینه برای افزایش بهره‌وری بدون نیاز به مدل‌های گران‌تر است.

·نگاه ما
تحریریه دات‌هوش

انتقال تصمیم‌گیری از لحظه «بحران حافظه» به لحظه «تولید داده»، پارادایم مدیریت Context را تغییر می‌دهد. این رویکرد نشان می‌دهد که برای رسیدن به عامل‌های Truly Autonomous، باید از تکیه بر هوش مدل برای مدیریت حافظه دست کشید و به جای آن، ساختارهای متادیتای صریح (Explicit Metadata) را در لایه زیرساخت پیاده کرد.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.