ಡೌನ್ಟೈಮ್ ಇಲ್ಲದೆ AI ಏಜೆಂಟ್ಗಳನ್ನು ಮೈಗ್ರೇಟ್ ಮಾಡುವುದು
ನಾನು ಎರಡು AI ಏಜೆಂಟ್ಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದೆ: OpenClaw ಮತ್ತು Hermes.
OpenClaw ನಿಗದಿತ ಕಾರ್ಯಗಳಿಗಾಗಿ (scheduled tasks) ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತಿತ್ತು. Hermes ಸಂಕೀರ್ಣ ತರ್ಕಕ್ಕಾಗಿ (complex reasoning) ಉತ್ತಮವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತಿತ್ತು. ಆದರೆ, OpenClaw ನಲ್ಲಿ ಒಂದು ದೊಡ್ಡ ದೋಷವಿತ್ತು. ಕಾರ್ಯಗಳು ಹೆಚ್ಚಾದಾಗ, ಅದು ಟೈಮ್ ಔಟ್ ಆಗಿ ಕೆಲಸವನ್ನು ಅರ್ಧಕ್ಕೇ ಬಿಟ್ಟುಬಿಡುತ್ತಿತ್ತು. Hermes ಎಂದಿಗೂ ಹೀಗೆ ಮಾಡುತ್ತಿರಲಿಲ್ಲ. ಅದು ಕಾರ್ಯವನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಂಡು ಕೆಲಸವನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತಿತ್ತು.
ನಾನು ಎಲ್ಲವನ್ನೂ Hermes ಗೆ ವರ್ಗಾಯಿಸಲು ನಿರ್ಧರಿಸಿದೆ. ನನಗೆ ಹಠಾತ್ ಬದಲಾವಣೆ ಬೇಕಿರಲಿಲ್ಲ. ಹಠಾತ್ ಬದಲಾವಣೆಯು ಅಪಾಯಕಾರಿ. ಹೊಸ ವ್ಯವಸ್ಥೆಯು ವಿಫಲವಾದರೆ, ನಾನು ನನ್ನ ನೋಟಿಫಿಕೇಶನ್ಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೇನೆ.
ನಾನು ಸಮಾಂತರ ಮೈಗ್ರೇಷನ್ ತಂತ್ರವನ್ನು (parallel migration strategy) ಆರಿಸಿಕೊಂಡೆ.
ನಾನು OpenClaw ಅನ್ನು ಚಾಲನೆಯಲ್ಲಿಟ್ಟೆ. ನಾನು Hermes ಅನ್ನು ಶ್ಯಾಡೋ ಸಿಸ್ಟಮ್ (shadow system) ಆಗಿ ಸೇರಿಸಿದೆ. ಇದು ಎರಡೂ ಏಜೆಂಟ್ಗಳನ್ನು ಪಕ್ಕಪಕ್ಕದಲ್ಲಿ ಹೋಲಿಸಲು ನನಗೆ ಅನುಮತಿಸಿತು.
ನನ್ನ ನೋಟಿಫಿಕೇಶನ್ ವ್ಯವಸ್ಥೆಯು ಅಸ್ತವ್ಯಸ್ತವಾಗಿತ್ತು. ಅದು ನಾಲ್ಕು ವಿಭಿನ್ನ ವಿಧಾನಗಳನ್ನು ಬಳಸುತ್ತಿತ್ತು:
- Shell scripts
- Node monitors
- Bash helpers
- Python scripts
ನಾನು ಕೋಡ್ ಅನ್ನು ಮರುಬರೆಯಲಿಲ್ಲ. ನಾನು ಹೊಸ ವಿತರಣೆಯನ್ನು ಹೆಚ್ಚುವರಿಯಾಗಿ (additive) ಮಾಡಿದೆ. ನಾನು hermes_mirror.sh ಎಂಬ ಒಂದು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ರಚಿಸಿದೆ. ಹಿನ್ನೆಲೆಯಲ್ಲಿ (background) ಈ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಕರೆಯಲು ನಾನು ಪ್ರತಿಯೊಂದು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕೆಲಸಕ್ಕೂ ಒಂದು ಸಾಲನ್ನು ಸೇರಿಸಿದೆ.
ಈ ವಿಧಾನವು ಮೂರು ಪ್ರಯೋಜನಗಳನ್ನು ನೀಡಿತು:
- ಸುರಕ್ಷತೆ: ಮಿರರ್ ವಿಫಲವಾದರೂ, ಮೂಲ ಸಂದೇಶವು ಇನ್ನೂ ಕಳುಹಿಸಲ್ಪಡುತ್ತದೆ.
- ಸರಳತೆ: ಒಂದು ಸ್ಕ್ರಿಪ್ಟ್ ಎಲ್ಲಾ ಮಿರರಿಂಗ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.
- ನಿಯಂತ್ರಣ: ಒಂದು ವೇರಿಯೇಬಲ್ ಅನ್ನು ಬದಲಾಯಿಸುವ ಮೂಲಕ ನಾನು ಎಲ್ಲಾ ಮಿರರಿಂಗ್ ಅನ್ನು ನಿಲ್ಲಿಸಬಹುದು.
ನಂತರ ನಾನು ಸಮಯದ ವಿಷಯದಲ್ಲಿ ತಪ್ಪು ಮಾಡಿದೆ.
ಎರಡು ಸಂದೇಶಗಳು ಸರಿಯಾಗಿ ಒಂದೇ ಸೆಕೆಂಡಿನಲ್ಲಿ ಬರಬಾರದು ಎಂದು ನಾನು ಬಯಸಲಿಲ್ಲ. ಅದು ಗೊಂದಲಮಯವಾಗಿರುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸಿದೆ. ನಾನು Hermes ಸಂದೇಶಗಳಿಗಾಗಿ ಮೂರು ನಿಮಿಷಗಳ ವಿಳಂಬವನ್ನು (delay) ನಿಗದಿಪಡಿಸಿದೆ.
ನಾನು ಒಂದು ಪರೀಕ್ಷೆ ನಡೆಸಿದೆ. OpenClaw ಸಂದೇಶ ಬಂದಿತು. ಆದರೆ Hermes ಸಂದೇಶ ಬರಲಿಲ್ಲ. ವ್ಯವಸ್ಥೆಯು ಕೆಟ್ಟುಹೋಗಿದೆ ಎಂದು ನಾನು ಭಾವಿಸಿದೆ.
ವ್ಯವಸ್ಥೆಯು ಕೆಟ್ಟುಹೋಗಿರಲಿಲ್ಲ. ಅದು ಕೇವಲ ಮೂರು ನಿಮಿಷಗಳ ಟೈಮರ್ ಕಾಯುತ್ತಿತ್ತು. ಮೈಗ್ರೇಷನ್ನಲ್ಲಿ, "ವಿಳಂಬ" ಎಂಬುದು "ವಿಫಲ"ವಾಗಿ ಕಾಣಿಸುತ್ತದೆ.
ನಾನು ವಿಳಂಬವನ್ನು 20 ಸೆಕೆಂಡುಗಳಿಗೆ ಇಳಿಸಿದೆ. ಸಂದೇಶಗಳು ಕಳೆದುಹೋದಂತೆ ಕಾಣಿಸದಂತೆ ಅವುಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ಇದು ಸಾಕಾಗಿತ್ತು.
ಸ್ವಯಂಚಾಲಿತ ಕೋಡ್ ಬದಲಾವಣೆಗಳ ಅಪಾಯದ ಬಗ್ಗೆಯೂ ನಾನು ಕಲಿತೆ. ನನ್ನ Python ಫೈಲ್ಗಳಿಗೆ ಹೊಸ ಸಾಲನ್ನು ಸೇರಿಸಲು ನಾನು ಒಂದು ಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಿದೆ. ಅದು ಒಂದು ಫೈಲ್ ಹೊರತುಪಡಿಸಿ ಉಳಿದೆಲ್ಲದಕ್ಕೂ ಕೆಲಸ ಮಾಡಿತು. ಆ ಫೈಲ್ನಲ್ಲಿ ವಿಭಿನ್ನ ಇಂಪೋರ್ಟ್ ರಚನೆ (import structure) ಇತ್ತು. ಅದು ಕ್ರ್ಯಾಶ್ ಆಗಲು ಕಾರಣವಾಯಿತು. ಸುರಕ್ಷಿತವೆಂದು ನೀವು ಭಾವಿಸುವ ಫೈಲ್ಗಳನ್ನು ಸಹ ಯಾವಾಗಲೂ ಪರಿಶೀಲಿಸಿ.
ಮೈಗ್ರೇಷನ್ ಇನ್ನೂ ಮುಗಿದಿಲ್ಲ. ನಾನು ಒಂದೊಂದೇ ಕೆಲಸವನ್ನು ವರ್ಗಾಯಿಸುತ್ತಿದ್ದೇನೆ. Hermes ಅದನ್ನು ಯಶಸ್ವಿಯಾಗಿ ವಿತರಿಸುವುದನ್ನು ನೋಡಿದ ನಂತರವಷ್ಟೇ ನಾನು OpenClaw ಕೆಲಸವನ್ನು ನಿಲ್ಲಿಸುತ್ತೇನೆ.
ಮೈಗ್ರೇಷನ್ ಎಂಬುದು ಒಂದು ಕ್ಷಣದಲ್ಲಿ ಆಗುವಂತಿಲ್ಲ. ಅದು ಹೊಸ ವ್ಯವಸ್ಥೆಯತ್ತ ನಡೆಯುವ ಸ್ಥಿರವಾದ ನಡಿಗೆಯಾಗಬೇಕು.
ಐಚ್ಛಿಕ ಕಲಿಕಾ ಸಮುದಾಯ: https://t.me/GyaanSetuAi