ಏಜೆಂಟ್‌ಗೆ ಮೆಮೊರಿ ಸೇರಿಸುವುದು

ಒಂದು AI ಏಜೆಂಟ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಕೇವಲ ಮಾಡೆಲ್ ಮಾತ್ರ ಸಾಲದು. ಅದು ನೀವು ಯಾರೆಂದು ನೆನಪಿಟ್ಟುಕೊಳ್ಳುವ ಮಾರ್ಗವನ್ನು ಹೊಂದಿರಬೇಕು.

AWS Briefing Agent ಅನ್ನು ನಿರ್ಮಿಸುವ ಕುರಿತಾದ ನನ್ನ ಸರಣಿಯಲ್ಲಿ, ಸ್ಟೇಟ್‌ಲೆಸ್ (stateless) ಸಂವಹನಗಳಿಂದ ವೈಯಕ್ತಿಕ ಅನುಭವಗಳತ್ತ (personalized experiences) ಹೇಗೆ ಬದಲಾಗಬಹುದು ಎಂಬುದನ್ನು ನಾನು ಪರಿಶೋಧಿಸುತ್ತಿದ್ದೇನೆ.

ಸ್ಟ್ಯಾಂಡರ್ಡ್ microVMಗಳ ಸಮಸ್ಯೆ ಏನೆಂದರೆ ಅವು ಸ್ಟೇಟ್‌ಲೆಸ್ (stateless) ಆಗಿರುತ್ತವೆ. ಒಂದು ಸೆಷನ್ ಮುಗಿದಾಗ, ಆ ಎನ್ವಿರಾನ್‌ಮೆಂಟ್ (environment) ನಾಶವಾಗುತ್ತದೆ. ಇದು ಡೇಟಾ ಸೋರಿಕೆಯನ್ನು ತಡೆಯುತ್ತದೆ, ಆದರೆ ಇದರರ್ಥ ಏಜೆಂಟ್ ಎಲ್ಲವನ್ನೂ ಮರೆತುಬಿಡುತ್ತದೆ ಎಂದರ್ಥ. ಮೆಮೊರಿ ಇಲ್ಲದಿದ್ದರೆ, ಬಳಕೆದಾರರು ಪ್ರತಿ ಬಾರಿ ಲಾಗ್ ಇನ್ ಮಾಡುವಾಗಲೂ ತಮ್ಮ ಆದ್ಯತೆಗಳನ್ನು (preferences) ಪುನರಾವರ್ತಿಸಬೇಕಾಗುತ್ತದೆ.

ನಾನು ಇದನ್ನು AgentCore Memory ಮತ್ತು Strands Agents ಬಳಸಿ ಪರಿಹರಿಸಿದ್ದೇನೆ.

ಈ ಆರ್ಕಿಟೆಕ್ಚರ್ (architecture) ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂಬುದು ಇಲ್ಲಿದೆ:

ಡೇಟಾವನ್ನು ಸುರಕ್ಷಿತವಾಗಿಡಲು, ಸಿಸ್ಟಮ್ ನೇಮ್‌ಸ್ಪೇಸ್‌ಗಳನ್ನು (namespaces) ಬಳಸುತ್ತದೆ. {actorId} ವೇರಿಯೇಬಲ್ ಅನ್ನು ಬಳಸುವ ಮೂಲಕ, ಒಬ್ಬ ಬಳಕೆದಾರರ ಡೇಟಾ ಇನ್ನೊಬ್ಬ ಬಳಕೆದಾರರ ಸೆಷನ್‌ಗೆ ಎಂದಿಗೂ ಸೋರಿಕೆಯಾಗದಂತೆ ನಾನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುತ್ತೇನೆ.

ಸುರಕ್ಷಿತ ಅಥೆಂಟಿಕೇಶನ್ (authentication) ಗಾಗಿ ನಾನು AWS Cognito ಅನ್ನು ಸಹ ಸಂಯೋಜಿಸಿದ್ದೇನೆ. ಏಜೆಂಟ್ ಗುರುತನ್ನು ಪರಿಶೀಲಿಸಲು JWT ಟೋಕನ್‌ಗಳನ್ನು ವ್ಯಾಲಿಡೇಟ್ ಮಾಡುತ್ತದೆ. ಒಮ್ಮೆ ಪರಿಶೀಲಿಸಿದ ನಂತರ, ಸಿಸ್ಟಮ್ ಟೋಕನ್‌ನಿಂದ ವಿಶಿಷ್ಟ 'sub' ಕ್ಲೈಮ್ ಅನ್ನು ಹೊರತೆಗೆಯುತ್ತದೆ. ಈ ID 'actor_id' ಆಗುತ್ತದೆ, ಇದನ್ನು ಏಜೆಂಟ್ ಸರಿಯಾದ ಮೆಮೊರಿ ರೆಕಾರ್ಡ್‌ಗಳನ್ನು ಪಡೆಯಲು ಬಳಸುತ್ತದೆ.

ಈ ಸಂಯೋಜನೆಯು ಸುಗಮವಾಗಿದೆ (seamless). AgentCoreMemorySessionManager ಅನ್ನು ಬಳಸುವ ಮೂಲಕ, ಏಜೆಂಟ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ:

ಇದರ ಫಲಿತಾಂಶವೆಂದರೆ ವೈಯಕ್ತಿಕ ಅನುಭವ ನೀಡುವ ಏಜೆಂಟ್. ನೀವು ಪದೇ ಪದೇ ಹೇಳುವ ಅಗತ್ಯವಿಲ್ಲದೆ, ಅದು ನಿಮ್ಮ ಪರಿಣತಿ ಮಟ್ಟ ಮತ್ತು ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ AWS ಆಸಕ್ತಿಗಳನ್ನು ತಿಳಿದಿರುತ್ತದೆ.

Source: https://dev.to/aws-heroes/adding-memory-to-the-agent-181k

Optional learning community: https://t.me/GyaanSetuAi