Most AI ಏಜೆಂಟ್ಗಳು ಅತ್ಯುತ್ತಮ ನೆನಪಿನ ಶಕ್ತಿ (recall) ಹೊಂದಿವೆ ಆದರೆ ಯಾವುದನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಬೇಕು ಎಂಬ ಬಗ್ಗೆ ತರಾಟೆ ನಿರ್ಧಾರವನ್ನು (judgment) ಮಾಡುತ್ತವೆ. ಅವು ಸಾವಿರಾರು ಪುಟಗಳನ್ನು ಹೀರಿಕೊಳ್ಳಬಹುದು, ಆದರೆ ಅಪ್ರಸ್ತುತ ಭಾಗಗಳನ್ನು ಮರೆಯಲು ಯಾರೂ ಅವುಗಳಿಗೆ ಕಲಿಸದ ಕಾರಣ ಅವು ತಮ್ಮದೇ ಆದ ಸಂದರ್ಭದಲ್ಲಿ (context) ಮುಳುಗಿಹೋಗುತ್ತವೆ. Knowledge and Memory Management version 0.0.2 ಅನ್ನು ನಿಖರವಾಗಿ ಇದನ್ನೇ ಪರಿಹರಿಸಲು ನಿರ್ಮಿಸಲಾಗಿದೆ. ಇದು ಕೇವಲ ಒಂದು ಸಣ್ಣ ಪ್ಯಾಚ್ ಅಲ್ಲ. ಏಜೆಂಟ್ ತಾನು ತಿಳಿದಿರುವ ಮಾಹಿತಿಯನ್ನು ಹೇಗೆ ಸಂಗ್ರಹಿಸುತ್ತದೆ, ಸಾಗಿಸುತ್ತದೆ ಮತ್ತು ಆದ್ಯತೆ ನೀಡುತ್ತದೆ ಎಂಬುದನ್ನು ಇದು ಮರುಚಿಂತನೆ ಮಾಡುತ್ತದೆ.
ಮೆಮೊರಿ ಸಮಸ್ಯೆ
ಏಜೆಂಟ್ಗಳು ದಿನನಿತ್ಯ ಪ್ರತಿಯೊಂದು ಪಠ್ಯದ ತುಣುಕನ್ನು ಪವಿತ್ರವೆಂದು ಪರಿಗಣಿಸುತ್ತವೆ. ಒಂದು ಕಚ್ಚಾ ವೆಬ್ ಪುಟವು ಅದರ ನ್ಯಾವಿಗೇಷನ್ ಮೆನುಗಳು, ಕುಕೀ ಬ್ಯಾನರ್ಗಳು ಮತ್ತು ಫೂಟರ್ ಲಿಂಕ್ಗಳೊಂದಿಗೆ ಸಂಗ್ರಹಣೆಗೆ ಬಿದ್ದಿರುತ್ತದೆ. ಒಂದು ವೀಡಿಯೊ ಟ್ರಾನ್ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರತಿಯೊಂದು “um,” ಟೈಮ್ಸ್ಟ್ಯಾಂಪ್ ಮತ್ತು ಸ್ಪಾನ್ಸರ್ ಜಾಹೀರಾತುಗಳೊಂದಿಗೆ ಅಚ್ಚುಕಟ್ಟಾಗಿ ಬರುತ್ತದೆ. ಒಂದು ಲೇಖನವು ನಿಜವಾದ ಒಳನೋಟಕ್ಕಿಂತ ಹೆಚ್ಚಿನ ಜಾಹೀರಾತು ಮಾರ್ಕಪ್ಗಳನ್ನು ಹೊಂದಿರಬಹುದು. ಮಾಹಿತಿಯನ್ನು ಮರಳಿ ಪಡೆಯುವಾಗ (retrieval), ಸಿಸ್ಟಮ್ ಸಿಗ್ನಲ್ ಅನ್ನು ಹುಡುಕಲು ಈ ಎಲ್ಲಾ ಗದ್ದಲದ (noise) ಮೂಲಕ ಶೋಧಿಸುತ್ತದೆ. ಆ ವ್ಯರ್ಥವು ಎರಡು ಕಡೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ: ಕಸದೊಂದಿಗೆ ನಿಮ್ಮ ಕಾಂಟೆಕ್ಸ್ಟ್ ವಿಂಡೋ (context window) ಕುಗ್ಗುತ್ತದೆ ಮತ್ತು ಅರ್ಥಹೀನ ಪಠ್ಯವನ್ನು ಪ್ರೊಸೆಸ್ ಮಾಡಲು ಮತ್ತು ಎಂಬೆಡ್ ಮಾಡಲು ನೀವು ಹಣ ಪಾವತಿಸಬೇಕಾಗಿರುವುದರಿಂದ ನಿಮ್ಮ ಇನ್ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್ ಬಿಲ್ ಹೆಚ್ಚಾಗುತ್ತದೆ.
ಸ್ಕೇಲಿಂಗ್ ಸಮಸ್ಯೆ ಕೂಡ ಅಷ್ಟೇ ನಿರಾಶಾಜನಕವಾಗಿದೆ. ಹೆಚ್ಚಿನ ಆರಂಭಿಕ ಹಂತದ ಏಜೆಂಟ್ಗಳು ಹಾರ್ಡ್ಕೋಡ್ ಮಾಡಲಾದ ಪಥಗಳ (hardcoded paths) ಮೂಲಕ ಒಂದೇ ಯಂತ್ರಕ್ಕೆ ಕಟ್ಟುಬಿದ್ದಿರುತ್ತವೆ. ನಿಮ್ಮ ಲ್ಯಾಪ್ಟಾಪ್ನಿಂದ ಸರ್ವರ್ಗೆ ಅಥವಾ ಒಂದು VPS ನಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ವರ್ಗಾಯಿಸಿದರೆ, ನೀವು ಹಾನಿಗೊಳಗಾದ ರೆಫರೆನ್ಸ್ಗಳನ್ನು ಸರಿಪಡಿಸಲು ಕನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳ ಮೂಲಕ grep ಮಾಡಲು ಒಂದು ಮಧ್ಯಾಹ್ನವನ್ನೇ ವ್ಯಯಿಸಬೇಕಾಗುತ್ತದೆ. ಏಜೆಂಟ್ ಸಾಫ್ಟ್ವೇರ್ ಆಗಿ ಇರುವುದನ್ನು ನಿಲ್ಲಿಸಿ, ಕೇವಲ ಒಂದು ಕೋಣೆಯಲ್ಲಿ ಮಾತ್ರ ಇರಬಲ್ಲ ಅಸ್ಥಿರ ಕಲಾಕೃತಿಯಂತೆ (fragile art installation) ಬದಲಾಗುತ್ತದೆ.
V0.0.2 ರಲ್ಲಿ ಏನದು ಬದಲಾಗಿದೆ
ಈ ಬಿಡುಗಡೆಯು ಎರಡೂ ಸಮಸ್ಯೆಗಳನ್ನು ನೇರವಾಗಿ ಎದುರಿಸುತ್ತದೆ. ಇದು ಪೋರ್ಟಬಲ್ ಪಥಿಂಗ್ ಸ್ಕೀಮ್ ಮತ್ತು ಏಕೀಕೃತ ಸಾರಾಂಶ ಪೈಪ್ಲೈನ್ ಅನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ, ಇದು ಜ್ಞಾನವು ಮೆಮೊರಿಗೆ ತಲುಪುವ ಮೊದಲೇ ಅದನ್ನು ಶುದ್ಧೀಕರಿಸುತ್ತದೆ. ಇದರ ಪರಿಣಾಮವಾಗಿ, ಸುಲಭವಾಗಿ ವರ್ಗಾಯಿಸಬಹುದಾದ ಮತ್ತು ಕಡಿಮೆ ವೆಚ್ಚದಲ್ಲಿ ನಡೆಸಬಹುದಾದ ಏಜೆಂಟ್ ಲಭ್ಯವಾಗುತ್ತದೆ.
ನೀವು ನಿಮ್ಮ ಇನ್ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್ ಜೊತೆ ಹೋರಾಡುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತೀರಿ. ಸೀಮಿತ ಕಾಂಟೆಕ್ಸ್ಟ್ನಲ್ಲಿ ಅತಿಯಾದ ದಾಖಲೆಗಳನ್ನು ತುಂಬುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತೀರಿ. ಏಜೆಂಟ್ ಕೇವಲ ಉತ್ತಮವಾಗಿ ನೆನಪಿಟ್ಟುಕೊಳ್ಳುತ್ತದೆ.
$AGENT_HOME ನೊಂದಿಗೆ ವಿನ್ಯಾಸದ ಮೂಲಕವೇ ಪೋರ್ಟಬಲ್
ಅತ್ಯಂತ ಪ್ರಾಯೋಗಿಕ ಬದಲಾವಣೆಯೆಂದರೆ $AGENT_HOME ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯಬಲ್ನ ಪರಿಚಯ. ಸಿಸ್ಟಮ್ ಸ್ಪರ್ಶಿಸುವ ಪ್ರತಿಯೊಂದು ಪಥ—knowledge bases, working memory, cached summaries, session logs—ಈ ರೂಟ್ನ ಆಧಾರದ ಮೇಲೆ ಪರಿಹರಿಸಲ್ಪಡುತ್ತವೆ (resolves). ಇದರರ್ಥ ನೀವು ಒಂದು ಸಾಲು ಕೋಡ್ ಅನ್ನು ಮುಟ್ಟದೆಯೇ ನಿಮ್ಮ ಇಡೀ ಏಜೆಂಟ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ಎಲ್ಲಿ ಬೇಕಾದರೂ ವರ್ಗಾಯಿಸಬಹುದು.
ಸಾಮಾನ್ಯ ವರ್ಗಾವಣೆಯನ್ನು (migration) ಪರಿಗಣಿಸಿ. ನಿನ್ನೆ ನಿಮ್ಮ ಏಜೆಂಟ್ /srv/ai-agent ನಲ್ಲಿರುವ DigitalOcean droplet ನಲ್ಲಿ ಇತ್ತು. ಇಂದು ನೀವು ಅದನ್ನು ಸ್ಥಳೀಯವಾಗಿ (locally) ನಡೆಸಲು ಅಥವಾ ಸಹೋದ್ಯೋಗಿಗೆ ಹಸ್ತಾಂತರಿಸಲು ಬಯಸುತ್ತೀರಿ. ಹಿಂದೆ, ನೀವು JSON ಕಾನ್ಫಿಗರೇಶನ್ಗಳು, Python ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು ಶೆಲ್ ವ್ಯಾಪರ್ಗಳಾದ್ಯಂತ ಹರಡಿರುವ ಹಾರ್ಡ್ಕೋಡ್ ಮಾಡಲಾದ ಅಬ್ಸಲ್ಯೂಟ್ ಪಥಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಬೇಕಾಗುತ್ತಿತ್ತು. ನೀವು ಡಜನ್ ಫೈಲ್ಗಳ ಮೂಲಕ sed ಮಾಡಬೇಕಾಗುತ್ತಿತ್ತು, ಮತ್ತು ಪ್ರತಿಯೊಂದು ರೆಫರೆನ್ಸ್ ಅನ್ನು ನೀವು ಪತ್ತೆಹಚ್ಚಿದ್ದೀರಿ ಎಂದು ಭಾವಿಸಬೇಕಾಗುತ್ತಿತ್ತು. version 0.0.2 ನೊಂದಿಗೆ, ನೀವು ಅದನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬಿಟ್ಟುಬಿಡಬಹುದು. ನೀವು ಫೋಲ್ಡರ್ ಅನ್ನು ಕಾಪಿ ಮಾಡಿ, export AGENT_HOME=/your/path ಎಂದು ಸೆಟ್ ಮಾಡಿ, ಮತ್ತು ರನ್ ಮಾಡಿ. ಇಂಜೆಸ್ಟಿನ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು, ಮೆಮೊರಿ ಇಂಡೆಕ್ಸ್ ಮತ್ತು ರಿಟ್ರಿವಲ್ ಲೇಯರ್ ಎಲ್ಲವೂ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹೊಂದಾಣಿಕೆಯಾಗುತ್ತವೆ ಏಕೆಂದರೆ ಅವು ತಮಗೆ ಈಗಾಗಲೇ ತಿಳಿದಿದೆ ಎಂದು ಭಾವಿಸುವ ಬದಲು ಹೋಮ್ ಎಲ್ಲಿದೆ ಎಂದು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಕೇಳುತ್ತವೆ.
ಈ ಪೋರ್ಟಬಿಲಿಟಿ ಕೇವಲ ಅನುಕೂಲಕ್ಕಾಗಿ ಮಾತ್ರವಲ್ಲ. ಇದು ನಿಮ್ಮ ಸೆಟಪ್ ಅನ್ನು ಪುನರಾವರ್ತಿತವಾಗಿ (reproducible) ಮಾಡುತ್ತದೆ. ನಿಮ್ಮ ಯಂತ್ರದಲ್ಲಿ ಮಾತ್ರ ಅರ್ಥವಾಗುವ ಪಥಗಳೊಂದಿಗೆ ರೆಪೊಸಿಟರಿಯನ್ನು ಹಾಳುಮಾಡದೆ ನೀವು ನಿಮ್ಮ ಜ್ಞಾನ ಡೈರೆಕ್ಟರಿಯನ್ನು ವರ್ಷನ್ ಕಂಟ್ರೋಲ್ನಲ್ಲಿ ಟ್ರ್ಯಾಕ್ ಮಾಡಬಹುದು. ಒಬ್ಬ ಸಹೋದ್ಯೋಗಿ ರೆಪೊವನ್ನು ಕ್ಲೋನ್ ಮಾಡಬಹುದು, $AGENT_HOME ಅನ್ನು ಅವರ ಸ್ವಂತ ಫೈಲ್ಸಿಸ್ಟಮ್ಗೆ ತೋರಿಸಬಹುದು ಮತ್ತು ಅವರ ಸ್ವಂತ ಡೇಟಾವನ್ನು ಇಂಜೆಸ್ಟ್ ಮಾಡಬಹುದು. ನಿಮ್ಮ CI ಪೈಪ್ಲೈನ್ ಪ್ರತಿಯೊಂದು ಪರಿಸರಕ್ಕಾಗಿ (environment) ಕಾನ್ಫಿಗರೇಶನ್ಗಳನ್ನು ಮರುಬರೆಯದೆ, ಹೊಸ ಏಜೆಂಟ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು, ಒಂದು ವೇರಿಯಬಲ್ ಅನ್ನು ಸೆಟ್ ಮಾಡಬಹುದು ಮತ್ತು ವರ್ತನೆಯನ್ನು ಪರಿಶೀಲಿಸಬಹುದು.
ನೀವು ಏಜೆಂಟ್ ಅನ್ನು systemd ಸೇವೆಯಾಗಿ ರನ್ ಮಾಡುವುದಾದರೆ, service unit ಗೆ ವೇರಿಯಬಲ್ ಅನ್ನು ಸೇರಿಸಿ. ನೀವು ಅದನ್ನು ಕಂಟೇನರೈಸ್ ಮಾಡಿದರೆ, ನಿಮ್ಮ Dockerfile ಅಥವಾ compose ಫೈಲ್ನಲ್ಲಿ ಅದನ್ನು ಪಾಸ್ ಮಾಡಿ. ನೀವು ಬಹುಬಾಹು ಶೆಲ್ಗಳಲ್ಲಿ ಕೆಲಸ ಮಾಡುವುದಾದರೆ, ಅದು ಉಳಿಯುವಂತೆ (persist) ನಿಮ್ಮ .bashrc ಅಥವಾ .zshrc ನಲ್ಲಿ ಅದನ್ನು ಹಾಕಿ. ಸೆಟಪ್ ಅನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಬೋರಿಂಗ್ ಆಗಿ ಮಾಡಲಾಗಿದೆ ಏಕೆಂದರೆ ಇನ್ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್ ಬೋರಿಂಗ್ ಆಗಿರಬೇಕು.
ಮೂರು ಮೂಲಗಳು, ಒಂದು ಕ್ಲೀನಪ್ ಪೈಪ್ಲೈನ್
ಸಿಸ್ಟಮ್ ಮೂರು ನಿರ್ದಿಷ್ಟ ಚಾನಲ್ಗಳಿಂದ ಜ್ಞಾನವನ್ನು ಇಂಜೆಸ್ಟ್ ಮಾಡುತ್ತದೆ:
- ವೆಬ್ ಪುಟಗಳು (Web pages). ಇವು HTML ಬಾಯ್ಲರ್ ಪ್ಲೇಟ್ನಲ್ಲಿ ಸುತ್ತುವರಿಯಲ್ಪಟ್ಟಿವೆ. ನಿಜವಾದ ವಿಷಯವು ಮೂರು ಸಾವಿರ ಪದಗಳ ಮಾರ್ಕಪ್, ನ್ಯಾವಿಗೇಷನ್ ಮತ್ತು ಕಾಮೆಂಟ್ ವಿಭಾಗಗಳ ಒಳಗೆ ಅಡಗಿರುವ ಮೂರು ನೂರು ಪದಗಳಾಗಿರಬಹುದು.
- ವೀಡಿಯೊ ಟ್ರಾನ್ಸ್ಕ್ರಿಪ್ಟ್ಗಳು (Video transcripts). ಸ್ಪೀಚ್-ಟು-ಟೆಕ್ಸ್ಟ್ ಔಟ್ಪುಟ್ ಅತಿಯಾದ ವಿವರಣೆಯನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಫಿಲ್ಲರ್ಗಳು, ಪುನರಾವರ್ತನೆಗಳು, ಟೈಮ್ಸ್ಟ್ಯಾಂಪ್ಗಳು ಮತ್ತು ವಿಷಯಕ್ಕೆ ಸಂಬಂಧವಿಲ್ಲದ ಮಾತುಗಳು ಒಳನೋಟವನ್ನು ನೀಡದೆ ಟೋಕನ್ಗಳನ್ನು ಬಳಸುವ ಕಡಿಮೆ ಸಾಂದ್ರತೆಯ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಸೃಷ್ಟಿಸುತ್ತವೆ.
- ಲೇಖನಗಳು (Articles). ಫಾರ್ಮ್ಯಾಟ್ಗಳು ವಿಭಿನ್ನವಾಗಿರುತ್ತವೆ. ಕೆಲವು ಸ್ವಚ್ಛವಾದ ಪಠ್ಯವನ್ನು ಪ್ರಕಟಿಸುತ್ತವೆ. ಇತರವುಗಳು ಜಾಹೀರಾತುಗಳು, ನ್ಯೂಸ್ಲೆಟರ್ ಸೈನ್ ಅಪ್ ಬಾಕ್ಸ್ಗಳು ಮತ್ತು ಸೋಶಿಯಲ್ ಎಂಬೆಡ್ಗಳೊಂದಿಗೆ ಓದುವ ಅನುಭವವನ್ನು ವಿಭಜಿಸುತ್ತವೆ.
Version 0.0.2 ಇವುಗಳನ್ನು ಕೇವಲ ನಿರ್ವಹಿಸಬೇಕಾದ ಪ್ರತ್ಯೇಕ ಸೈಲೋಗಳಾಗಿ (silos) ಪರಿಗಣಿಸುವುದಿಲ್ಲ. ಬದಲಾಗಿ, ಅವು ವರ್ಕಿಂಗ್ ಮೆಮೊರಿಗೆ (working memory) ಪ್ರವೇಶಿಸುವ ಮೊದಲು, ಮೂರನ್ನೂ ಒಂದೇ ಸಮ್ಮರೀಸೇಶನ್ ಲೇಯರ್ (summarization layer) ಮೂಲಕ ಕಳುಹಿಸುತ್ತದೆ. ಈ ಲೇಯರ್ ಕ್ಲೈಮ್ಗಳು (claims), ಪ್ರಕ್ರಿಯೆಗಳು (procedures), ಡೇಟಾ ಪಾಯಿಂಟ್ಗಳು ಮತ್ತು ಸಂಬಂಧಗಳನ್ನು ಹೊರತೆಗೆಯುತ್ತದೆ. ಮನುಷ್ಯರು ಸಹಜವಾಗಿ ನಿರ್ಲಕ್ಷಿಸುವ ಅನಗತ್ಯ ಮಾಹಿತಿಯನ್ನು (noise) ಇದು ಕೈಬಿಡುತ್ತದೆ.
ಸಮ್ಮರೀಸೇಶನ್ (Summarization) ಏಕೆ ಒಂದು ಸ್ಕೇಲಿಂಗ್ ಸ್ಟ್ರಾಟಜಿ (Scaling Strategy)?
ಸಮ್ಮರೀಸೇಶನ್ ಅನ್ನು ಒಂದು ಐಷಾರಾಮಿ ವೈಶಿಷ್ಟ್ಯವಾಗಿ, ಅಂದರೆ ಇದ್ದರೆ ಒಳ್ಳೆಯದು ಆದರೆ ಅತ್ಯಗತ್ಯವಲ್ಲದ ವಿಷಯವೆಂದು ನೋಡುವ ಪ್ರವೃತ್ತಿ ಇದೆ. ಅದು ತಪ್ಪು. ಒಂದು language-model agent ಗೆ, ಸಮ್ಮರೀಸೇಶನ್ ಎಂಬುದು ಸ್ಕೇಲಿಂಗ್ ಅಗತ್ಯವಾಗಿದೆ (scaling requirement).
ಕಾಂಟೆಕ್ಸ್ಟ್ ವಿಂಡೋಗಳಿಗೆ (Context windows) ಮಿತಿಗಳಿವೆ. ರಿಟ್ರಿವಲ್ ಬಜೆಟ್ಗಳಿಗೆ (Retrieval budgets) ವೆಚ್ಚವಿದೆ. ಕುಕೀ ಬ್ಯಾನರ್ ಅಥವಾ ವೀಡಿಯೊ ಸ್ಪಾನ್ಸರ್ ಓದಿನ ಮೇಲೆ ವ್ಯಯಿಸುವ ಪ್ರತಿಯೊಂದು ಟೋಕನ್ ಕೂಡ, ನೀವು ರೀಸನಿಂಗ್ (reasoning) ಗಾಗಿ ಬಳಸಲಾಗದ ಟೋಕನ್ ಆಗಿರುತ್ತದೆ. ನಿಮ್ಮ ಏಜೆಂಟ್ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಸಿದ್ಧಪಡಿಸುವಾಗ, ಸುತ್ತಲೂ ಹೆಚ್ಚು ಪಠ್ಯವಿದ್ದ ಮಾತ್ರಕ್ಕೆ ಅದು ಹೆಚ್ಚು ಬುದ್ಧಿವಂತವಾಗುವುದಿಲ್ಲ. ಬದಲಾಗಿ, ಸರಿಯಾದ ಪಠ್ಯವಿದ್ದಾಗ ಮಾತ್ರ ಅದು ಹೆಚ್ಚು ಬುದ್ಧಿವಂತವಾಗುತ್ತದೆ.
ಇಂಜೆಸ್ಟಿನ್ ಸಮಯದಲ್ಲಿ (ingestion time) ಅನಗತ್ಯ ಮಾಹಿತಿಯನ್ನು (noise) ತೆಗೆದುಹಾಕುವ ಮೂಲಕ, ಸಿಸ್ಟಮ್ ಸಿಗ್ನಲ್ ಅನ್ನು ಸಂಕುಚಿತಗೊಳಿಸುತ್ತದೆ (compresses). ನಿಮ್ಮ ಏಜೆಂಟ್ ಒಂದೇ ಕಾಂಟೆಕ್ಸ್ಟ್ ಬಜೆಟ್ನಲ್ಲಿ ಹೆಚ್ಚಿನ ಮೂಲಗಳನ್ನು (sources) ಬಳಸಿಕೊಳ್ಳಬಹುದು. ಎರಡು ರ (raw) ಡಾಕ್ಯುಮೆಂಟ್ಗಳು ಅಡಗಿಬೀಳುತ್ತಿದ್ದ ಜಾಗದಲ್ಲಿ, ಹತ್ತು ಡಿಸ್ಟಿಲ್ಡ್ (distilled) ಡಾಕ್ಯುಮೆಂಟ್ಗಳು ಹೊಂದಿಕೊಳ್ಳುತ್ತವೆ. ಈ ಸಾಂದ್ರತೆಯೇ (density) ಏಜೆಂಟ್ ಅನ್ನು ಐದು ಮೂಲಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಒಂದು ಸಣ್ಣ ಪ್ರೊಟೊಟೈಪ್ನಿಂದ ನೂರಾರು ಮೂಲಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಪ್ರೊಡಕ್ಷನ್ ಸಿಸ್ಟಮ್ ಆಗಿ ಬೆಳೆಯಲು (scale) ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಮೆಮೊರಿ ಫುಟ್ಪ್ರಿಂಟ್ (memory footprint) ನಿಯಂತ್ರಣದಲ್ಲಿರುತ್ತದೆ. ಅನಗತ್ಯ ಮಾಹಿತಿಯ ಅತಿಕ್ರಮಣವು ಮಾಯವಾಗುವುದರಿಂದ ರಿಟ್ರಿವಲ್ ಗುಣಮಟ್ಟ ಸುಧಾರಿಸುತ್ತದೆ. ಬಾಯ್ಲರ್ಪೀಲ್ಟ್ (boilerplate) ಮಾಹಿತಿಯನ್ನು ಎಂಬೆಡ್ ಮತ್ತು ಕ್ವೆರಿ ಮಾಡಲು ನೀವು ಹಣ ವ್ಯಯಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುವುದರಿಂದ ಟೋಕನ್ ವೆಚ್ಚವು ಕಡಿಮೆಯಾಗುತ್ತದೆ.
ಇದು ಸೂಕ್ಷ್ಮತೆಗಳನ್ನು (nuance) ಎಸೆದುಹಾಕುವ ಕಠಿಣ ಲಾಸ್ಸಿ ಕಂಪ್ರೆಷನ್ (lossy compression) ಬಗ್ಗೆ ಅಲ್ಲ. ಇದು ಪೈಪ್ಲೈನ್ನಲ್ಲಿ ಎನ್ಕೋಡ್ ಮಾಡಲಾದ ಎಡಿಟೋರಿಯಲ್ ಜಡ್ಜ್ಮೆಂಟ್ (editorial judgment) ಬಗ್ಗೆ ಆಗಿದೆ. ಸಮ್ಮರಿ ತಾಂತ್ರಿಕ ವಿವರಗಳು, ನಾಮಧೇಯ ಘಟಕಗಳು (named entities), ಕಾರಣಾತ್ಮಕ ಸಂಬಂಧಗಳು (causal links) ಮತ್ತು ಸೂಚನಾತ್ಮಕ ಹಂತಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಇದು ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ತ್ಯಾಜ್ಯ ಮತ್ತು ಅನಗತ್ಯ ಸಂಭಾಷಣೆಯ ಭಾಗಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.
ಪ್ರಾರಂಭಿಸುವುದು ಹೇಗೆ
ಸಿಸ್ಟಮ್ ನಿಮ್ಮ ಕೆಲಸಕ್ಕೆ ಅಡ್ಡಿಯಾಗಬಾರದು ಎಂಬ ಉದ್ದೇಶದಿಂದ, ಇದರ ಸೆಟಪ್ ಅನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಅತ್ಯಂತ ಸರಳವಾಗಿ ಮಾಡಲಾಗಿದೆ.
ನಿಮ್ಮ ಟರ್ಮಿನಲ್ ತೆರೆಯಿರಿ ಮತ್ತು ರೂಟ್ ಪಾತ್ (root path) ಅನ್ನು ಸೆಟ್ ಮಾಡಿ:
export AGENT_HOME=/your/path
ಈ ಸಾಲನ್ನು ನಿಮ್ಮ ಶೆಲ್ ಪ್ರೊಫೈಲ್ಗೆ (shell profile) ಸೇರಿಸುವ ಮೂಲಕ ಅಥವಾ ನಿಮ್ಮ ಏಜೆಂಟ್ ಅನ್ನು ರನ್ ಮಾಡುವ ಯಾವುದೇ ಆರ್ಕೆಸ್ಟ್ರೇಶನ್ ಲೇಯರ್ಗೆ (orchestration layer) ಸೇರಿಸುವ ಮೂಲಕ ಇದನ್ನು ಶಾಶ್ವತಗೊಳಿಸಿ. ಕೆಳಗಿನ ಡೈರೆಕ್ಟರಿ ರಚನೆಯನ್ನು (directory structure) ಸ್ಥಿರವಾಗಿಡಿ. ಏಜೆಂಟ್ ತನ್ನ ಫೋಲ್ಡರ್ಗಳು—ಅವುಗಳನ್ನು ನೀವು knowledge/, memory/, summaries/ ಅಥವಾ ಬೇರೆ ಯಾವುದನ್ನೇ ಹೆಸರಿಸಿದರೂ—ಆ ರೂಟ್ಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಇರಬೇಕೆಂದು ನಿರೀಕ್ಷಿಸುತ್ತದೆ. ವೇರಿಯಬಲ್ ಸಕ್ರಿಯಗೊಂಡ ನಂತರ, ನಿಮ್ಮ ವೆಬ್ ಪುಟಗಳು, ಟ್ರಾನ್ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು ಲೇಖನಗಳನ್ನು ಏಜೆಂಟ್ಗೆ ತೋರಿಸಿ. ಇಂಜೆಸ್ಟಿನ್ ಮತ್ತು ಸಮ್ಮರೀಸೇಶನ್ ಪೈಪ್ಲೈನ್ ಉಳಿದದ್ದನ್ನು ನಿಭಾಯಿಸುತ್ತದೆ.
ನೀವು ಹಿಂದಿನ ವರ್ಷದಿಂದ ಮೈಗ್ರೇಟ್ (migrate) ಮಾಡುತ್ತಿದ್ದರೆ, ಪ್ರಕ್ರಿಯೆಯು ಅಷ್ಟೇ ಸರಳವಾಗಿದೆ. ನಿಮ್ಮ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಡೇಟಾವನ್ನು ಹೊಸ $AGENT_HOME ಹೈರಾರ್ಕಿ (hierarchy) ಗೆ ವರ್ಗಾಯಿಸಿ, ವೇರಿಯಬಲ್ ಅನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡಿ ಮತ್ತು ಏಜೆಂಟ್ ಪಾತ್ಗಳನ್ನು ಸರಿಯಾಗಿ ಗುರುತಿಸುತ್ತಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಯಾವುದೇ ಮೈಗ್ರೇಶನ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳ ಅಗತ್ಯವಿಲ್ಲ. ಯಾವುದೇ ಡೇಟಾಬೇಸ್ ಸ್ಕೀಮಾ ಬಂಪ್ಗಳ ಅಗತ್ಯವಿಲ್ಲ. ಏಜೆಂಟ್ ಡಿಸ್ಕ್ನಲ್ಲಿ ಎಲ್ಲಿ ನೆಲೆಸಿದೆ ಎಂಬುದಕ್ಕೆ ಕೇವಲ ಒಂದು ಸಿಂಗಲ್ ಸೋರ್ಸ್ ಆಫ್ ಟ್ರೂತ್ (single source of truth) ಮಾತ್ರ ಇರುತ್ತದೆ.
ನಿಜವಾದ ಸಾರಾಂಶ
ಉತ್ತಮ ಮೆಮೊರಿ ಮ್ಯಾನೇಜ್ಮೆಂಟ್ ಎಂದರೆ ಹೆಚ್ಚು ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುವುದಲ್ಲ. ಅದು ನಿಮ್ಮ ಬಳಿ ಈಗಾಗಲೇ ಇರುವ ಡೇಟಾವನ್ನು ಸರಿಯಾಗಿ ವಿಂಗಡಿಸುವುದು (curating). Version 0.0.2 ಪೋರ್ಟಬಿಲಿಟಿ (portability) ಮತ್ತು ಸಮ್ಮರೀಸೇಶನ್ ಅನ್ನು ಕೇವಲ ನಂತರದ ಆಲೋಚನೆಗಳಾಗಿ ನೋಡದೆ, ಪ್ರಮುಖ ವಿಷಯಗಳಾಗಿ ಪರಿಗಣಿಸುತ್ತದೆ. ನೀವು ಏನನ್ನೂ ಹಾಳು ಮಾಡದೆ ನಿಮ್ಮ ಏಜೆಂಟ್ ಅನ್ನು ಯಂತ್ರಗಳ ನಡುವೆ ವರ್ಗಾಯಿಸುವ ಸ್ವಾತಂತ್ರ್ಯವನ್ನು ಪಡೆಯುತ್ತೀರಿ ಮತ್ತು ಕಾಂಟೆಕ್ಸ್ಟ್ ಅನ್ನು ಒಳಗೊಂಡಿರುವ ಕಾಂಟೆಕ್ಸ್ಟ್ ವಿಂಡೋದ ದಕ್ಷತೆಯನ್ನು ಪಡೆಯುತ್ತೀರಿ.
ನಿಮ್ಮ ಹೋಮ್ ಡೈರೆಕ್ಟರಿಯನ್ನು ಸೆಟ್ ಮಾಡಿ. ಏಜೆಂಟ್ಗೆ ನೈಜ ಮೂಲಗಳನ್ನು ನೀಡಿ. ಸಿಸ್ಟಮ್ ಅನಗತ್ಯ ಕಸವನ್ನು (junk) ತೆಗೆದುಹಾಕಲು ಬಿಡಿ. ನೀವು ಪಾತ್ ಎರರ್ಗಳನ್ನು (path errors) ಡಿಬಗ್ ಮಾಡಲು ಕಡಿಮೆ ಸಮಯ ಮತ್ತು ಅನಗತ್ಯ ಮಾಹಿತಿಯನ್ನು ಪ್ರೊಸೆಸ್ ಮಾಡಲು ಕಡಿಮೆ ಹಣ ವ್ಯಯಿಸುತ್ತೀರಿ, ಮತ್ತು ಏಜೆಂಟ್ ನಿಜವಾಗಿಯೂ ಕಲಿತದ್ದನ್ನು ಬಳಸಲು ಹೆಚ್ಚು ಸಮಯವನ್ನು ಮೀಸಲಿಡುತ್ತೀರಿ.
Source: https://dev.to/mage0535/thinking-1-analyze-the-request-12go
Community: https://t.me/GyaanSetuAi
