𝟰𝟮/𝟲𝟬 ימי שאלות System Design
סוכן ה-AI שלך זוכר שם משתמש.
משתמש מבקש מסוכן להזמין טיסה זולה ל-NYC. הוא מבקש מלונות במחיר של פחות מ-$150 ללילה. הוא מבקש השוואת עלויות כוללת של הטיול.
בשלב השלישי, הסוכן שולח 8,000 טוקנים (tokens) של היסטוריה ל-LLM. הוא עונה כאילו זו הפעם הראשונה בצ'אט.
אתה צריך ארכיטקטורת זיכרון לפני שאתה משחרר (ship) את זה.
בחר אחת:
In-context window: לשמור את כל ההיסטוריה בתוך ה-prompt. זה פשוט. זה נכשל אחרי 15 סבבים (turns) או 8,000 טוקנים.
Vector memory store: לבצע embedding לסבבים קודמים. לשלוף את ההתאמות הטובות ביותר לפי דמיון. זה נכשל כשחיפוש עבור "NYC flight" שולף זיכרון מטיול ישן במקום מהמשימה הנוכחית.
Episodic memory עם סיכום (summarization): לדחוס סבבים ישנים לסיכומים מובנים. להזריק סיכומים רלוונטיים לכל בקשה. קשה יותר לבנות. קשה יותר לבלבל.
Redis session state: שימוש במאגר key-value מובנה. הסוכן קורא וכותב בצורה מפורשת. זה דטרמיניסטי. הסוכן חייב לדעת מה לשמור ומתי.
אפשרות אחת נכשלת אחרי 15 סבבים. אחת שולפת את ההקשר (context) הלא נכון בזמן הלא נכון. אחת היא הבחירה הנכונה עבור סוכנים מונחי-משימה (task-oriented agents).
בחר A, B, C, או D. ספר לי אם נתקלת בזה ב-production.
אני משתף את הפירוט המלא בתגובות.
מקור: https://dev.to/thejoud1997/4260-days-system-design-questions-4018
קהילת למידה אופציונלית: https://t.me/GyaanSetuAi