۴۲/۶۰ روز سوالات طراحی سیستم
عامل هوش مصنوعی شما نام کاربر را به خاطر میسپارد.
کاربری از یک عامل میخواهد که یک پرواز ارزان به NYC رزرو کند. آنها هتلهایی با قیمت زیر ۱۵۰ دلار در شب را میخواهند. آنها درخواست مقایسه هزینه کل سفر را دارند.
در مرحله سوم، عامل ۸,۰۰۰ توکن از تاریخچه را به LLM ارسال میکند. اما طوری پاسخ میدهد که انگار اولین مرحله از گفتگو است.
قبل از عرضه این محصول، به یک معماری حافظه نیاز دارید.
یکی را انتخاب کنید:
In-context window: کل تاریخچه را در پرامپت نگه دارید. ساده است. اما پس از ۱۵ مرحله یا ۸,۰۰۰ توکن با شکست مواجه میشود.
Vector memory store: مراحل گذشته را Embed کنید. بهترین موارد مشابه را از طریق شباهت بازیابی کنید. این روش زمانی شکست میخورد که جستجوی "NYC flight" به جای وظیفه فعلی، حافظهای مربوط به یک سفر قدیمی را فراخوانی کند.
Episodic memory with summarization: مراحل قدیمی را در قالب خلاصههای ساختاریافته فشرده کنید. خلاصههای مرتبط را به هر درخواست تزریق کنید. ساخت آن دشوارتر است، اما گیج شدن آن هم سختتر است.
Redis session state: از یک ذخیرهساز کلید-مقدار ساختاریافته استفاده کنید. عامل به طور صریح میخواند و مینویسد. این روش Deterministic است. عامل باید بداند چه چیزی را و چه زمانی ذخیره کند.
یک گزینه پس از ۱۵ مرحله شکست میخورد. یکی در زمان نامناسب، Context اشتباهی را بازیابی میکند. یکی هم انتخاب صحیح برای عاملهای Task-oriented است.
گزینه A، B، C یا D را انتخاب کنید. بگویید آیا در Production با این مسئله روبرو شدهاید یا خیر.
من تحلیل کامل را در کامنتها به اشتراک میگذارم.
منبع: https://dev.to/thejoud1997/4260-days-system-design-questions-4018
انجمن یادگیری اختیاری: https://t.me/GyaanSetuAi