४२/६० दिवस सिस्टम डिझाइन प्रश्न
तुमचा AI एजंट वापरकर्त्याचे नाव लक्षात ठेवतो.
एक वापरकर्ता एजंटला NYC साठी स्वस्त विमान तिकीट बुक करण्यास सांगतो. ते प्रति रात्र $१५० पेक्षा कमी किमतीचे हॉटेल्स शोधायला सांगतात. ते संपूर्ण सहलीच्या खर्चाची तुलना करायला सांगतात.
तिसऱ्या टप्प्यापर्यंत, एजंट LLM ला ८,००० टोकन्सचा इतिहास पाठवतो. तो अशा प्रकारे उत्तर देतो जणू काही हा चॅटचा पहिलाच टप्पा आहे.
हे उत्पादन (ship) करण्यापूर्वी तुम्हाला मेमरी आर्किटेक्चरची (memory architecture) गरज आहे.
एक निवडा:
In-context window: प्रॉम्प्टमध्ये संपूर्ण इतिहास ठेवा. हे सोपे आहे. परंतु १५ टप्पे किंवा ८,००० टोकन्सनंतर हे निकामी ठरते.
Vector memory store: मागील टप्पे एम्बेड (embed) करा. साम्यतेनुसार (similarity) सर्वोत्तम मॅचेस मिळवा. जेव्हा "NYC flight" साठी शोध घेतल्यावर सध्याच्या कामाऐवजी जुन्या सहलीची मेमरी समोर येते, तेव्हा हे निकामी ठरते.
Episodic memory with summarization: जुन्या टप्प्यांचे संरचित सारांशात (structured summaries) रूपांतर करा. प्रत्येक विनंतीमध्ये संबंधित सारांश समाविष्ट करा. हे तयार करणे कठीण आहे, परंतु गोंधळ होण्याची शक्यता कमी असते.
Redis session state: एक संरचित key-value store वापरा. एजंट स्पष्टपणे वाचतो आणि लिहितो. हे डिटरमिनिस्टिक (deterministic) आहे. एजंटला काय आणि कधी साठवायचे आहे हे माहित असणे आवश्यक आहे.
एक पर्याय १५ टप्प्यांनंतर निकामी होतो. एक चुकीच्या वेळी चुकीचा संदर्भ (context) मिळवून देतो. टास्क-ओरिएंटेड (task-oriented) एजंटसाठी एक पर्याय योग्य आहे.
A, B, C, किंवा D पैकी एक निवडा. तुम्हाला प्रोडक्शनमध्ये (production) याचा सामना करावा लागला असल्यास मला सांगा.
मी संपूर्ण विश्लेषण कमेंट्समध्ये शेअर करतो.
Source: https://dev.to/thejoud1997/4260-days-system-design-questions-4018
Optional learning community: https://t.me/GyaanSetuAi