೪೨/೬೦ ದಿನಗಳ ಸಿಸ್ಟಮ್ ಡಿಸೈನ್ ಪ್ರಶ್ನೆಗಳು
ನಿಮ್ಮ AI ಏಜೆಂಟ್ ಬಳಕೆದಾರರ ಹೆಸರನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳುತ್ತದೆ.
ಒಬ್ಬ ಬಳಕೆದಾರರು ಏಜೆಂಟ್ಗೆ NYC ಗೆ ಅಗ್ಗದ ವಿಮಾನ ಪ್ರಯಾಣವನ್ನು ಬುಕ್ ಮಾಡಲು ಕೇಳುತ್ತಾರೆ. ಅವರು ಪ್ರತಿ ರಾತ್ರಿ $150 ಕ್ಕಿಂತ ಕಡಿಮೆ ದರದಲ್ಲಿರುವ ಹೋಟೆಲ್ಗಳಿಗಾಗಿ ಕೇಳುತ್ತಾರೆ. ಅವರು ಒಟ್ಟು ಪ್ರಯಾಣದ ವೆಚ್ಚದ ಹೋಲಿಕೆಯನ್ನು ಕೇಳುತ್ತಾರೆ.
ಮೂರನೇ ಹಂತಕ್ಕೆ ಬರುವಷ್ಟರಲ್ಲಿ, ಏಜೆಂಟ್ 8,000 ಟೋಕನ್ಗಳ ಇತಿಹಾಸವನ್ನು LLM ಗೆ ಕಳುಹಿಸುತ್ತದೆ. ಇದು ಚಾಟ್ನ ಮೊದಲ ಹಂತದಂತೆಯೇ ಉತ್ತರಿಸುತ್ತದೆ.
ಇದನ್ನು ಬಿಡುಗಡೆ ಮಾಡುವ ಮೊದಲು ನಿಮಗೆ ಮೆಮೊರಿ ಆರ್ಕಿಟೆಕ್ಚರ್ (memory architecture) ಅಗತ್ಯವಿದೆ.
ಒಂದನ್ನು ಆರಿಸಿ:
In-context window: ಇಡೀ ಇತಿಹಾಸವನ್ನು ಪ್ರಾಂಪ್ಟ್ನಲ್ಲಿ ಇರಿಸಿ. ಇದು ಸರಳವಾಗಿದೆ. ಇದು 15 ಹಂತಗಳು ಅಥವಾ 8,000 ಟೋಕನ್ಗಳ ನಂತರ ವಿಫಲವಾಗುತ್ತದೆ.
Vector memory store: ಹಿಂದಿನ ಹಂತಗಳನ್ನು ಎಂಬೆಡ್ (Embed) ಮಾಡಿ. ಸಾಮ್ಯತೆಯನ್ನು (similarity) ಆಧರಿಸಿ ಉತ್ತಮ ಹೊಂದಾಣಿಕೆಗಳನ್ನು ಪಡೆಯಿರಿ. "NYC flight" ಎಂಬ ಹುಡುಕಾಟವು ಪ್ರಸ್ತುತ ಕಾರ್ಯದ ಬದಲಿಗೆ ಹಳೆಯ ಪ್ರವಾಸದ ನೆನಪನ್ನು ತರಿಸಿದಾಗ ಇದು ವಿಫಲವಾಗುತ್ತದೆ.
Episodic memory with summarization: ಹಳೆಯ ಹಂತಗಳನ್ನು ರಚನಾತ್ಮಕ ಸಾರಾಂಶಗಳಾಗಿ ಸಂಕುಚಿತಗೊಳಿಸಿ (Compress). ಪ್ರತಿಯೊಂದು ವಿನಂತಿಗೆ ಸಂಬಂಧಿತ ಸಾರಾಂಶಗಳನ್ನು ಸೇರಿಸಿ. ಇದನ್ನು ನಿರ್ಮಿಸುವುದು ಕಷ್ಟ, ಆದರೆ ಗೊಂದಲ ಉಂಟುಮಾಡುವುದು ಕಷ್ಟ.
Redis session state: ರಚನಾತ್ಮಕ ಕೀ-ವ್ಯಾಲ್ಯೂ ಸ್ಟೋರ್ ಅನ್ನು ಬಳಸಿ. ಏಜೆಂಟ್ ಸ್ಪಷ್ಟವಾಗಿ ಓದುತ್ತದೆ ಮತ್ತು ಬರೆಯುತ್ತದೆ. ಇದು ಡಿಟರ್ಮಿನಿಸ್ಟಿಕ್ (deterministic) ಆಗಿದೆ. ಏಜೆಂಟ್ಗೆ ಏನನ್ನು ಮತ್ತು ಯಾವಾಗ ಸಂಗ್ರಹಿಸಬೇಕು ಎಂಬುದು ತಿಳಿದಿರಬೇಕು.
ಒಂದು ಆಯ್ಕೆಯು 15 ಹಂತಗಳ ನಂತರ ವಿಫಲವಾಗುತ್ತದೆ. ಒಂದು ತಪ್ಪು ಸಮಯದಲ್ಲಿ ತಪ್ಪು ಸಂದರ್ಭವನ್ನು (context) ತರಿಸುತ್ತದೆ. ಒಂದು ಟಾಸ್ಕ್-ಓರಿಯೆಂಟೆಡ್ (task-oriented) ಏಜೆಂಟ್ಗಳಿಗೆ ಸರಿಯಾದ ಆಯ್ಕೆಯಾಗಿದೆ.
A, B, C, ಅಥವಾ D ಅನ್ನು ಆರಿಸಿ. ನೀವು ಇದನ್ನು ಪ್ರೊಡಕ್ಷನ್ನಲ್ಲಿ ಎದುರಿಸಿದ್ದರೆ ನನಗೆ ತಿಳಿಸಿ.
ನಾನು ಸಂಪೂರ್ಣ ವಿವರಣೆಯನ್ನು ಕಾಮೆಂಟ್ಗಳಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳುತ್ತೇನೆ.
Source: https://dev.to/thejoud1997/4260-days-system-design-questions-4018
Optional learning community: https://t.me/GyaanSetuAi