ಏಜೆಂಟ್ ಮೆಮೊರಿ: 7 ವಿಧಗಳು, ಮತ್ತು 2 ನಿಜವಾಗಿಯೂ ನೆನಪಿಟ್ಟುಕೊಳ್ಳುವುದಿಲ್ಲ

ನಿಮ್ಮ ಏಜೆಂಟ್‌ಗೆ ಮೆಮೊರಿ ಸಮಸ್ಯೆ ಇಲ್ಲ. ಅದಕ್ಕೆ ಏಳು ವಿಭಿನ್ನ ರೀತಿಯ ಮೆಮೊರಿಗಳಿವೆ. ಹೆಚ್ಚಿನ ತಂಡಗಳು ಕೇವಲ ಎರಡನ್ನು ಮಾತ್ರ ನಿರ್ಮಿಸುತ್ತವೆ.

ನೀವು ಮೊದಲು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕಾದ ವಿಷಯವೆಂದರೆ: ಮಾಡೆಲ್ ಯಾವುದನ್ನೂ ನೆನಪಿಟ್ಟುಕೊಳ್ಳುವುದಿಲ್ಲ. ಒಂದು LLM ಎಂಬುದು ಒಂದು pure function. ಇದು ಇನ್‌ಪುಟ್ ಅನ್ನು ಪಡೆದು ಔಟ್‌ಪುಟ್ ಅನ್ನು ನೀಡುತ್ತದೆ. ಇದು ಕರೆಗಳ (calls) ನಡುವೆ ಯಾವುದೇ ಸ್ಥಿತಿಯನ್ನು (state) ಹೊಂದಿರುವುದಿಲ್ಲ. ಮೆಮೊರಿ ಎಂದು ನಮಗೆ ಅನಿಸುವುದು ಕೇವಲ ಪ್ರತಿ ವಿನಂತಿಯೊಂದಿಗೆ (request) ಇತಿಹಾಸವನ್ನು ಮರುಪಠಿಸುವ ಒಂದು ಪದರವಾಗಿದೆ. ನೀವು ಪ್ರತಿ ಬಾರಿಯೂ ಆ ಟೋಕನ್‌ಗಳಿಗಾಗಿ ಹಣ ಪಾವತಿಸುತ್ತೀರಿ.

ಹೆಚ್ಚಿನ ಎಂಜಿನಿಯರಿಂಗ್ ಪ್ರಯತ್ನಗಳು ಎರಡು ಮಾದರಿಗಳಿಗೆ ಸೀಮಿತವಾಗುತ್ತವೆ: ಸಂಭಾಷಣೆಯ ಇತಿಹಾಸ (conversation history) ಮತ್ತು RAG. ಇವು ಏಳು ವಿಧಗಳಲ್ಲಿ ಎರಡಾಗಿವೆ. ಸಮಸ್ಯೆ ಏನೆಂದರೆ? ಇವು ಕಾಲಾನಂತರದಲ್ಲಿ ನಿಮ್ಮ ಏಜೆಂಟ್ ಅನ್ನು ಹೆಚ್ಚು ಬುದ್ಧಿವಂತನ್ನಾಗಿ ಮಾಡುವುದಿಲ್ಲ.

ಇಲ್ಲಿ ಏಳು ವಿಧದ ಮೆಮೊರಿಗಳಿವೆ:

• Working: ಪ್ರಸ್ತುತ ಕಾಂಟೆಕ್ಸ್ಟ್ ವಿಂಡೋದಲ್ಲಿರುವ ಎಲ್ಲವೂ. • Semantic: ಸತ್ಯಗಳು, ಆದ್ಯತೆಗಳು ಮತ್ತು ಡೊಮೇನ್ ಜ್ಞಾನ. • Episodic: ಹಿಂದಿನ ಘಟನೆಗಳ ಲಾಗ್ ಮತ್ತು ಯಾವುದು ಕೆಲಸ ಮಾಡಿತು ಅಥವಾ ವಿಫಲವಾಯಿತು ಎಂಬ ಮಾಹಿತಿ. • Procedural: ಕೌಶಲ್ಯಗಳು, ವರ್ಕ್‌ಫ್ಲೋಗಳು ಮತ್ತು ಟೂಲ್ ಪ್ಯಾಟರ್ನ್‌ಗಳು. • Retrieval: ಸಿಮ್ಯಿಲಾರಿಟಿ ಸರ್ಚ್ ಮೂಲಕ ಜ್ಞಾನವನ್ನು ಪಡೆಯುವುದು. • Parametric: ಮಾಡೆಲ್ ತೂಕಗಳಲ್ಲಿ (weights) ಅಡಕವಾಗಿರುವ ಜ್ಞಾನ. • Prospective: ಭವಿಷ್ಯದ ಉದ್ದೇಶಗಳು ಮತ್ತು ನಿಗದಿತ ಕಾರ್ಯಗಳು.

ಇವುಗಳಲ್ಲಿ ಎರಡೂ ನಿಜವಾದ ಮೆಮೊರಿ ಅಲ್ಲ. RAG ಎಂಬುದು ಕೇವಲ ಒಂದು ವಿತರಣಾ ವ್ಯವಸ್ಥೆ (delivery mechanism). ಇದು ಪೈಪ್‌ಲೈನ್ ಇದ್ದಂತೆ, ನೀರಲ್ಲ. ಇದು ಡೇಟಾವನ್ನು ಸ್ಟೋರ್‌ನಿಂದ ವರ್ಕಿಂಗ್ ಮೆಮೊರಿಗೆ ವರ್ಗಾಯಿಸುತ್ತದೆ. ನೀವು ಕೇವಲ ವೆಕ್ಟರ್ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಬಳಸಿದರೆ, ನೀವು ಕೇವಲ ಪೈಪ್ ಅನ್ನು ನಿರ್ಮಿಸಿ ದ್ರವವನ್ನು ಮರೆತಂತೆ.

ನಿಜವಾಗಿಯೂ ಕಲಿಯುವ ಏಜೆಂಟ್ ಅನ್ನು ನಿರ್ಮಿಸಲು, ನಿಮಗೆ consolidation loop ಬೇಕಾಗುತ್ತದೆ. ಅಂದರೆ ಎಪಿಸೋಡಿಕ್ ಮೆಮೊರಿಯನ್ನು ಸೆಮ್ಯಾಂಟಿಕ್ ಮೆಮೊರಿಯನ್ನಾಗಿ ಪರಿವರ್ತಿಸುವುದು ಎಂದರ್ಥ.

ಈ ಪ್ರಕ್ರಿಯೆಯು ಹೀಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:

  1. ಏಜೆಂಟ್ ಒಂದು ಘಟನೆಯನ್ನು ಅನುಭವಿಸುತ್ತದೆ (Episodic).
  2. ಏಜೆಂಟ್ ಅದೇ ಮಾದರಿಯು ಅನೇಕ ಬಾರಿ ಪುನರಾವರ್ತನೆಯಾಗುವುದನ್ನು ನೋಡುತ್ತದೆ.
  3. ಏಜೆಂಟ್ ಆ ಮಾದರಿಯನ್ನು ಒಂದು ಶಾಶ್ವತ ನಿಯಮವಾಗಿ ರೂಪಿಸುತ್ತದೆ (Semantic).

ಈಗ, ಏಜೆಂಟ್ ಹನ್ನೆರಡು ಉದಾಹರಣೆಗಳ ಮೂಲಕ ಯೋಚಿಸುವ ಅಗತ್ಯವಿಲ್ಲ. ಅದು ಕೇವಲ ಒಂದು ಸತ್ಯವನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ.

ನಿಮ್ಮ ನಿರ್ಮಾಣವನ್ನು ಹೇಗೆ ಆದ್ಯತೆಗೊಳಿಸುವುದು:

  • ವರ್ಕಿಂಗ್ ಮೆಮೊರಿಯನ್ನು ಬಜೆಟ್‌ನಂತೆ ನಿರ್ವಹಿಸಿ. ಇದು ನಿಮ್ಮ ಅತಿ ಹೆಚ್ಚು ವೆಚ್ಚದ ಭಾಗವಾಗಿದೆ. ಸಾರಾಂಶ (summarization) ಮತ್ತು eviction ವಿಧಾನಗಳನ್ನು ಮೊದಲೇ ಬಳಸಿ.
  • ನಿಮ್ಮ ಸ್ಟೋರ್‌ಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಿ. ಸತ್ಯಗಳು, ಘಟನೆಗಳು ಮತ್ತು ನಿಯಮಗಳನ್ನು ಬೇರೆ ಬೇರೆ ಸ್ಥಳಗಳಲ್ಲಿ ಇರಿಸಿ.
  • ಪ್ರೊಸ್ಪೆಕ್ಟಿವ್ ಮೆಮೊರಿಗಾಗಿ ಶೆಡ್ಯೂಲರ್ ಬಳಸಿ. ನಿರ್ದಿಷ್ಟ ದಿನಾಂಕದಂದು ನಡೆಯಬೇಕಾದ ವಿಷಯಗಳಿಗಾಗಿ ವೆಕ್ಟರ್ ಸ್ಟೋರ್ ಅನ್ನು ಬಳಸಬೇಡಿ.
  • ಪ್ಯಾರಾಮೆಟ್ರಿಕ್ ಮೆಮೊರಿಗಾಗಿ ಸ್ಪಷ್ಟವಾದ ಗಡಿಯನ್ನು ಎಳೆಯಿರಿ. ತರ್ಕಕ್ಕಾಗಿ (reasoning) ಮಾಡೆಲ್ ಬಳಸಿ, ಆದರೆ ಬಡ್ಡಿ ದರಗಳು ಅಥವಾ ಉತ್ಪನ್ನದ ನಿಯಮಗಳಂತಹ ಬದಲಾಗುವ ಡೇಟಾಗಳಿಗಾಗಿ ನಿಮ್ಮ ಸ್ವಂತ ಸ್ಟೋರ್‌ಗಳನ್ನು ಬಳಸಿ.

ಇಂದು ಹೆಚ್ಚಿನ ಏಜೆಂಟ್‌ಗಳು ಕೇವಲ ಒಂದು ಕಾಂಟೆಕ್ಸ್ಟ್ ವಿಂಡೋ ಮತ್ತು ವೆಕ್ಟರ್ DB ಆಗಿವೆ. ಗೆಲ್ಲುವ ಏಜೆಂಟ್‌ಗಳು ಯಾವುವು ಎಂದರೆ, ನಿನ್ನೆಯ ತಪ್ಪುಗಳನ್ನು ನಾಳೆಯ ನಿಯಮಗಳನ್ನಾಗಿ ಪರಿವರ್ತಿಸಬಲ್ಲವು.

ಮೂಲ: https://dev.to/shudiptotrafder/agent-memory-7-types-and-2-of-them-arent-memory-6oi

ಐಚ್ಛಿಕ ಕಲಿಕಾ ಸಮುದಾಯ: https://t.me/GyaanSetuAi