𝗦𝗮𝗹𝗶𝗲𝗻𝗰𝗲 (Salience) ಎಂದರೆ 𝗖𝗮𝗿𝗿𝘆 𝗩𝗮𝗹𝘂𝗲 (Carry Value) ಅಲ್ಲ
ಹೆಚ್ಚಿನ ಜನರು ಏಜೆಂಟ್ ಮೆಮೊರಿಯನ್ನು (agent memory) ತಪ್ಪಾಗಿ ನಿರ್ಮಿಸುತ್ತಾರೆ.
ಅವರು ಕೇವಲ ಸ್ಟೋರೇಜ್ (storage) ಮೇಲೆ ಗಮನ ಹರಿಸುತ್ತಾರೆ. ಅವರು vector stores ಅಥವಾ ಚತುರವಾದ summarizersಗಳನ್ನು ಬಳಸುತ್ತಾರೆ. ಎಲ್ಲವನ್ನೂ ಉಳ儲ទុក ಮಾಡಿದರೆ, ಏಜೆಂಟ್ಗೆ ಎಲ್ಲವೂ ತಿಳಿದುಬರುತ್ತದೆ ಎಂದು ಅವರು ಭಾವಿಸುತ್ತಾರೆ.
ಅವರು ತಪ್ಪು ಮಾಡುತ್ತಿದ್ದಾರೆ.
ನಿಮ್ಮ ಬಳಿ ನೂರಾರು ಸೆಷನ್ಗಳು (sessions) ಇದ್ದಾಗ, ನೀವು ಎಲ್ಲವನ್ನೂ ಓದಲು ಸಾಧ್ಯವಿಲ್ಲ. ನಿಮ್ಮ ಏಜೆಂಟ್ ಹೊಸ ಸೆಷನ್ ಅನ್ನು ಶೂನ್ಯದಿಂದ (cold start) ಪ್ರಾರಂಭಿಸಿದರೆ, ಅದು ಸಮಯವನ್ನು ವ್ಯರ್ಥ ಮಾಡುತ್ತದೆ. ಒಂದು ವೇಳೆ ಅದು ಅತಿಯಾದ ಗೊಂದಲದೊಂದಿಗೆ (noise) ಪ್ರಾರಂಭವಾದರೆ, ಅದು ತಪ್ಪುಗಳನ್ನು ಮಾಡುತ್ತದೆ.
ಸಮಸ್ಯೆಯೆಂದರೆ ಆಯ್ಕೆ (selection). ಹೆಚ್ಚಿನ ಜನರು ಸಲೈನ್ಸ್ (salience) ಮತ್ತು ಕ್ಯಾರಿ ವ್ಯಾಲ್ಯೂ (carry value) ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ಗೊಂದಲ ಮಾಡಿಕೊಳ್ಳುತ್ತಾರೆ.
- ಸಲೈನ್ಸ್ (Salience) ಎಂದರೆ ಹಿಂದಿನ ಸೆಷನ್ನಲ್ಲಿ ಯಾವುದು ಹೆಚ್ಚು ಗಮನ ಸೆಳೆಯಿತು ಎಂದು ತಿಳಿಸುತ್ತದೆ.
- ಕ್ಯಾರಿ ವ್ಯಾಲ್ಯೂ (Carry value) ಎಂದರೆ ಮುಂದಿನ ಸೆಷನ್ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಏನಾಗ ಬೇಕು ಎಂದು ತಿಳಿಸುತ್ತದೆ.
ಒಂದು ವೇರಿಯಬಲ್ ಹೆಸರಿನ ಬಗ್ಗೆ ನಡೆದ ದೊಡ್ಡ ವಾದವು ಹೆಚ್ಚಿನ ಸಲೈನ್ಸ್ ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಆದರೆ ಆ ಹೆಸರು ಮುಂದಿನ ಕೋಡ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರದಿದ್ದರೆ, ಅದಕ್ಕೆ ಶೂನ್ಯ ಕ್ಯಾರಿ ವ್ಯಾಲ್ಯೂ ಇರುತ್ತದೆ. ನೀವು ಅದನ್ನು ಮುಂದಕ್ಕೆ ಕೊಂಡೊಯ್ದರೆ, ನೀವು ಕೇವಲ ಗೊಂದಲವನ್ನು (noise) ಹೆಚ್ಚಿಸುತ್ತೀರಿ ಅಷ್ಟೆ.
ನಾನು ಈ ನಿಯಮಗಳ ಆಧಾರದ ಮೇಲೆ ಮೆಮೊರಿ ಪೈಪ್ಲೈನ್ ಅನ್ನು ನಡೆಸುತ್ತೇನೆ:
ಮೊದಲಿಗೆ ಮೆಕ್ಯಾನಿಕಲ್ ಸಲೈನ್ಸ್ (Mechanical salience). ಪ್ರಮುಖ ಕ್ಷಣಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಡಿಟರ್ಮಿನಿಸ್ಟಿಕ್ ಸ್ಕೋರರ್ (deterministic scorer) ಬಳಸಿ. ಸಾಮಾನ್ಯ ಕಾಮೆಂಟ್ಗಳಿಗಿಂತ ತಿದ್ದುಪಡಿಗಳಿಗೆ (corrections) ಹೆಚ್ಚಿನ ಪ್ರಾಮುಖ್ಯತೆ ನೀಡಿ. ಪ್ರತಿಯೊಂದು ಹೈಲೈಟ್ ಕೂಡ ಮೂಲ ಟ್ರಾನ್ಸ್ಕ್ರಿಪ್ಟ್ಗೆ (raw transcript) ಲಿಂಕ್ ಆಗಿರಬೇಕು. ಯಾವುದೇ ಮಾಡೆಲ್ ಮೂಲದ ಮಾಹಿತಿಯಿಲ್ಲದೆ ಸತ್ಯಗಳನ್ನು ಸೃಷ್ಟಿಸದಂತೆ ನೋಡಿಕೊಳ್ಳಿ.
ಎರಡನೆಯದಾಗಿ ಸಿಂಥೆಸಿಸ್ (Synthesis). ಹೈಲೈಟ್ಗಳಿಗೆ ಅರ್ಥದ ಒಂದು ಪದರವನ್ನು ಸೇರಿಸಲು ಮಾತ್ರ LLM ಅನ್ನು ಬಳಸಿ. ನಿಮ್ಮ ಹೈಲೈಟ್ಗಳು ಸರಿಯಿಲ್ಲದಿದ್ದರೆ, ಸಾರಾಂಶವು ಕೇವಲ ಆತ್ಮವಿಶ್ವಾಸದಿಂದ ಕೂಡಿದ ಅರ್ಥಹೀನ ಮಾಹಿತಿಯಾಗಿರುತ್ತದೆ.
ರಿಟ್ರಿವಲ್-ಟೈಮ್ ಬ್ರೀಫ್ (retrieval-time brief) ಬಳಸಿ. ಪ್ರತಿ ಪ್ರಾಜೆಕ್ಟ್ಗೂ INDEX.md ನಂತಹ ಫೈಲ್ ಅನ್ನು ತಯಾರಿಸಿ. ಏಜೆಂಟ್ ಸೆಷನ್ ಪ್ರಾರಂಭದಲ್ಲಿ ಈ ಫೈಲ್ ಅನ್ನು ಓದುತ್ತದೆ. ಯಾವುದೇ ಮಾಡೆಲ್ ಈ ಬ್ರೀಫ್ ಅನ್ನು ತಕ್ಷಣವೇ (on the fly) ಸೃಷ್ಟಿಸಬಾರದು. ಇದು ನೀವು ಕೈಯಾರೆ ತೆರೆಯಬಹುದಾದ ಮತ್ತು ಎಡಿಟ್ ಮಾಡಬಹುದಾದ ಒಂದು ಸಾಮಾನ್ಯ ಫೈಲ್ ಆಗಿರಬೇಕು.
ಉತ್ತಮ ಮೆಮೊರಿಯನ್ನು ನಿರ್ಮಿಸಲು, ಕೇವಲ ಪ್ರಮುಖ ವಿಷಯಗಳ ಪಟ್ಟಿಗಿಂತ ಹೆಚ್ಚಿನದಿನ ಅಗತ್ಯವಿದೆ. ನಿಮಗೆ ಬೇಕಾದುದು:
- ಎರಡು ಸ್ಕೋರ್ಗಳು: ಒಂದು ಅದು ಎಷ್ಟು ಪ್ರಮುಖವಾಗಿತ್ತು (salience) ಎಂಬುದಕ್ಕೆ ಮತ್ತು ಇನ್ನೊಂದು ಅದು ಮುಂದೆ ಎಷ್ಟು ಮುಖ್ಯವಾಗುತ್ತದೆ (carry value) ಎಂಬುದಕ್ಕೆ.
- ಮೆಮೊರಿ ಕ್ಲಾಸ್ಗಳು (Memory classes): ಸಕ್ರಿಯ ನಿರ್ಧಾರಗಳು (active decisions), ಕಾರ್ಯಾಚರಣೆಯ ಮಿತಿಗಳು (operating constraints) ಮತ್ತು ಓಪನ್ ಲೂಪ್ಗಳನ್ನು (open loops) ಪ್ರತ್ಯೇಕಿಸಿ.
- ಎಕ್ಸ್ಪೈರಿ ದಿನಾಂಕಗಳು (Expiry dates): ಪ್ರತಿಯೊಂದು ಮೆಮೊರಿಗೂ ಅಳಿದುಹೋಗಲು ಒಂದು ಕಾರಣವಿರಬೇಕು. ಎಕ್ಸ್ಪೈರಿ ಇಲ್ಲದಿದ್ದರೆ, ಸಂದರ್ಭವು (context) ನಿಮ್ಮ ಸಿಸ್ಟಮ್ ಅನ್ನು ತುಂಬಿಹಾಕುತ್ತದೆ.
- ಟ್ರಿಗ್ಗರ್ಗಳು (Triggers): ಮೆಮೊರಿಯ ಒಂದು ಭಾಗವು ಯಾವಾಗ ಕಾಣಿಸಿಕೊಳ್ಳಬೇಕು ಎಂಬುದನ್ನು ನಿಖರವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಿ.
ಗುರಿಯು ರಿಕವರಿ ಕಾಸ್ಟ್ (recovery cost) ಅನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು.
ರಿಕವರಿ ಕಾಸ್ಟ್ ಎಂದರೆ ಏಜೆಂಟ್ ತಾನು ಎಲ್ಲಿ ಬಿಟ್ಟಿದ್ದನೋ ಅಲ್ಲಿಂದ ಮುಂದುವರಿಯಲು ಎಷ್ಟು ಟೋಕನ್ಗಳು ಅಥವಾ ನಿಮಿಷಗಳು ಬೇಕಾಗುತ್ತದೆ ಎಂಬುದಾಗಿದೆ. ನಿಮ್ಮ ಮೆಮೊರಿ ಪೈಪ್ಲೈನ್ ಕೇವಲ ನಾಟಕವಾಗಿದ್ದರೆ, ನಿಮ್ಮ ರಿಕವರಿ ಕಾಸ್ಟ್ ಹೆಚ್ಚಾಗಿಯೇ ಇರುತ್ತದೆ.
ದೊಡ್ಡ ಸ್ಟೋರೇಜ್ ನಿರ್ಮಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಉತ್ತಮ ಆಯ್ಕೆ ಪ್ರಕ್ರಿಯೆಯನ್ನು (selection) ನಿರ್ಮಿಸಲು ಪ್ರಾರಂಭಿಸಿ.
ಮೂಲ: https://dev.to/jugeni/salience-is-not-carry-value-notes-from-a-running-session-memory-pipeline-4dda
ಐಚ್ಛಿಕ ಕಲಿಕಾ ಸಮುದಾಯ: https://t.me/GyaanSetuAi
