جدیدترین اخبار، مقالهها و آموزشهای دنیای هوش مصنوعی:
🧠 ایجنتهای هوش مصنوعی (AI Agents)
🔎 سیستمهای RAG و مدلهای زبانی بزرگ (LLM)
⚙️ ابزارها، فریمورکها و پروژههای کاربردی GenAI
با ما همراه شوید و از تحولات این حوزه عقب نمانید.
Post #501
211
وقتی در حال توسعه یک ایجنت هستید، بعد از چند پیام ابتدایی همهچیز عالی به نظر میرسد؛ اما با رسیدن به پیام پانزدهم، ناگهان تاخیر پاسخها از چند صد میلیثانیه به چند ثانیه میرسد و هزینه پردازش ابری چندین برابر میشود. دلیل آن ساده است: فرستادن کل تاریخچه چت در هر فراخوانی API.
دو راهکار دمدستی معمولاً برای حل این مشکل استفاده میشود:
• کوتاه کردن تاریخچه: کاهش هزینه به قیمت فراموشی سریع ایجنت و از دست رفتن زمینههای قبلی.
• تزریق ناشیانه حافظه در پرامپت سیستم: تغییر مداوم متن سیستم پرامپت که باعث نابودی کامل Prefix Cache در ارائهدهندگانی مثل OpenAI یا Anthropic میشود و هزینه تمام توکنها را به قیمت ۱۰۰٪ محاسبه میکند.
معماری حافظه در ایجنتهای سطح پروداکشن باید چند اصل کلیدی را رعایت کند:
• استخراج ناهمگام (Asynchronous): فرایند استخراج فکتها در پسزمینه اجرا شود تا درخواست کاربر معطل نماند.
• ساختار دومرحلهای پرامپت (Dual-Tier Architecture): قرار دادن اطلاعات ثابت کاربر بعد از سیستم پرامپت برای کش ماندن ۹۵٪ توکنها، و اضافه کردن حافظههای پویای استخراجشده در انتهای پرامپت.
• محدودیتهای منفی در استخراج: تعیین دقیق مواردی که نباید ذخیره شوند تا پایگاه حافظه با نویز پر نشود.
در پست جدید خبرنامه MLnotes، این معماری و نحوه پیادهسازی آن را به همراه جزئیات فنی و دیاگرام معماری بررسی کردهام:
🔗 https://mlnotes.substack.com/p/stop-dumping-chat-history-into-context
دو راهکار دمدستی معمولاً برای حل این مشکل استفاده میشود:
• کوتاه کردن تاریخچه: کاهش هزینه به قیمت فراموشی سریع ایجنت و از دست رفتن زمینههای قبلی.
• تزریق ناشیانه حافظه در پرامپت سیستم: تغییر مداوم متن سیستم پرامپت که باعث نابودی کامل Prefix Cache در ارائهدهندگانی مثل OpenAI یا Anthropic میشود و هزینه تمام توکنها را به قیمت ۱۰۰٪ محاسبه میکند.
معماری حافظه در ایجنتهای سطح پروداکشن باید چند اصل کلیدی را رعایت کند:
• استخراج ناهمگام (Asynchronous): فرایند استخراج فکتها در پسزمینه اجرا شود تا درخواست کاربر معطل نماند.
• ساختار دومرحلهای پرامپت (Dual-Tier Architecture): قرار دادن اطلاعات ثابت کاربر بعد از سیستم پرامپت برای کش ماندن ۹۵٪ توکنها، و اضافه کردن حافظههای پویای استخراجشده در انتهای پرامپت.
• محدودیتهای منفی در استخراج: تعیین دقیق مواردی که نباید ذخیره شوند تا پایگاه حافظه با نویز پر نشود.
در پست جدید خبرنامه MLnotes، این معماری و نحوه پیادهسازی آن را به همراه جزئیات فنی و دیاگرام معماری بررسی کردهام:
🔗 https://mlnotes.substack.com/p/stop-dumping-chat-history-into-context