AI ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ನಿಯಮ ಆಧಾರಿತ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವಿಕೆ (Rule-Based Automation) ಏಕೆ ವಿಫಲವಾಗುತ್ತದೆ

ಹೆಚ್ಚಿನ ಅಭಿವರ್ಧಕರು (developers) ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವಿಕೆಯನ್ನು ಒಂದು ಟ್ರಿಗ್ಗರ್, ಒಂದು ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಒಂದು ಔಟ್‌ಪುಟ್ ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತಾರೆ. ಇದು ಕ್ರೋನ್ ಜಾಬ್‌ಗಳು (cron jobs) ಮತ್ತು ನಿಯೋಜನಾ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಗೆ (deployment scripts) ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಆದರೆ ನೀವು ಸಾಫ್ಟ್‌ವೇರ್ ಬರೆಯಲು AI ಅನ್ನು ಬಳಸಿದಾಗ ಇದು ವಿಫಲವಾಗುತ್ತದೆ.

AI ಹಂತಗಳ ಸ್ಥಿರ ಅನುಕ್ರಮವನ್ನು ಅನುಸರಿಸುವುದಿಲ್ಲ. ಇದು ಆರ್ಕಿಟೆಕ್ಚರ್ (architecture) ಮತ್ತು ಅವಲಂಬನೆಗಳ (dependencies) ಬಗ್ಗೆ ತೀರ್ಮಾನಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಈ ಬದಲಾವಣೆಯು ಸರಳ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವಿಕೆಯಿಂದ ನಿರ್ವಹಣಾತ್ಮಕ ಅನುಷ್ಠಾನಕ್ಕೆ (managed execution) ಬದಲಾಗುವ ಅಗತ್ಯವನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ.

ಸರಳ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವಿಕೆಯಲ್ಲಿನ ಸಮಸ್ಯೆ

ಸರಳ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವಿಕೆಯು ಊಹಿಸಬಹುದಾದ ಕಾರ್ಯಗಳಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಇದು ಬಾಯ್ಲರ್‌ಪ್ಲೇಟ್ (boilerplate) ಬರೆಯಲು ಅಥವಾ ಲಿಂಟರ್‌ಗಳನ್ನು (linters) ಚಲಾಯಿಸಲು ಅತ್ಯುತ್ತಮವಾಗಿದೆ. ಈ ಕಾರ್ಯಗಳು ಸ್ಪಷ್ಟವಾದ ಹಾದಿ ಮತ್ತು ತಿಳಿದಿರುವ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಹೊಂದಿರುತ್ತವೆ.

ಒಂದು ಕಾರ್ಯಕ್ಕೆ ಸಂದರ್ಭದ (context) ಅಗತ್ಯವಿದ್ದಾಗ ಸಮಸ್ಯೆಗಳು ಎದುರಾಗುತ್ತವೆ. ಹೊಸ ಫೀಚರ್ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸೇವೆಗಳೊಂದಿಗೆ ಹೇಗೆ ಸಂವಹನ ನಡೆಸುತ್ತದೆ ಎಂಬುದು ನಿಮಗೆ ತಿಳಿದಿರಬೇಕು. ಸ್ಕೀಮಾ ಬದಲಾವಣೆಯು (schema change) ಯಾವುದನ್ನಾದರೂ ಹಾಳು ಮಾಡುತ್ತದೆಯೇ ಎಂದು ನೀವು ಪರಿಶೀಲಿಸಬೇಕು.

ಕೇವಲ ಕೈಗಿರುವ ಕಾರ್ಯದ ಮೇಲೆ ಮಾತ್ರ ಗಮನಹರಿಸುವ ಪರಿಕರಗಳು (tools) ಹೆಚ್ಚಾಗಿ ವಿಫಲವಾಗುತ್ತವೆ. ಅವು ಸರಿಯಾಗಿ ಕಾಣುವ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತವೆ ಆದರೆ ನಿಮ್ಮ ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ಹಾಳುಮಾಡುತ್ತವೆ. ಈ ಕೋಡ್ ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ವ್ಯವಸ್ಥೆಯ ಬಗ್ಗೆ ಅರಿವನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ.

ನಿಮ್ಮ ವರ್ಕ್‌ಫ್ಲೋದಲ್ಲಿನ ಅಂತರ

ಹೆಚ್ಚಿನ ಕಂಪನಿಗಳು ಈಗಾಗಲೇ ಸುಲಭವಾದ ಕಾರ್ಯಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಿವೆ. ಉದ್ಯಮದ ದತ್ತಾಂಶವು 30% ರಿಂದ 40% ವರ್ಕ್‌ಫ್ಲೋಗಳು ಈಗಾಗಲೇ ಸ್ವಯಂಚಾಲಿತಗೊಂಡಿವೆ ಎಂದು ತೋರಿಸುತ್ತದೆ.

ಉಳಿದ ಕೆಲಸಕ್ಕೆ ತೀರ್ಮಾನ ತೆಗೆದುಕೊಳ್ಳುವ ಸಾಮರ್ಥ್ಯ ಬೇಕಾಗುತ್ತದೆ. ಇದು ಸಾಫ್ಟ್‌ವೇರ್ ಎಂಜಿನಿಯರಿಂಗ್‌ನ ಕಠಿಣ ಭಾಗವಾಗಿದೆ. ಇಲ್ಲಿಯೇ ನಿಯಮ ಆಧಾರಿತ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವಿಕೆಯು ಸಂದರ್ಭದ ಕೊರತೆಯಿಂದಾಗಿ ದುಬಾರಿಯಾಗುತ್ತದೆ.

ನಿರ್ವಹಣಾತ್ಮಕ ಅನುಷ್ಠಾನವು (managed execution) ಏನು ಒದಗಿಸುತ್ತದೆ

ನಿರ್ವಹಣಾತ್ಮಕ ಅನುಷ್ಠಾನವು ವ್ಯವಸ್ಥೆಗಳು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ ಎಂಬುದನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ. ಇದು ಮೂರು ಹಂತಗಳ ಮೇಲೆ ಗಮನಹರಿಸುತ್ತದೆ:

• ಯೋಜನೆ (Planning) ಅನುಷ್ಠಾನಕ್ಕಿಂತ ಮೊದಲು ಬರುತ್ತದೆ. ವ್ಯವಸ್ಥೆಯು ಅಗತ್ಯತೆಗಳು ಮತ್ತು ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಾಗಿ ಯೋಜನೆಯನ್ನು ರೂಪಿಸುತ್ತದೆ. ಯಾವುದೇ ಕೋಡ್ ಬರೆಯುವ ಮೊದಲು ನೀವು ಈ ಯೋಜನೆಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತೀರಿ. • ವೇಗಕ್ಕಿಂತ ದೃಶ್ಯೀಕರಣಕ್ಕೆ (Visibility) ಆದ್ಯತೆ. ಪರಿಕರಗಳು ಈಗ ತಮ್ಮ ಕೆಲಸವನ್ನು ತೋರಿಸಲು ಆದ್ಯತೆ ನೀಡುತ್ತವೆ. ನಂತರ ಊಹಿಸುವ ಬದಲು ನೀವು ಬಿಲ್ಡ್‌ನ ಹಿಂದಿನ ತರ್ಕವನ್ನು ನೋಡಬಹುದು. • ನಿಯಂತ್ರಿತ ವರ್ಕ್‌ಫ್ಲೋಗಳು. ಏಜೆಂಟ್ ಕ್ರಮಗಳನ್ನು ಪರಿಶೀಲಿಸಬಹುದಾದ ರೀತಿಯಲ್ಲಿ ಇರಿಸಲು ವ್ಯವಸ್ಥೆಗಳು ಸ್ಟೇಟ್ ಮೆಷಿನ್‌ಗಳು (state machines) ಮತ್ತು ಕಾರ್ಯ ನಿಯೋಜನೆಯನ್ನು (task delegation) ಬಳಸುತ್ತವೆ.

ಸರಿಯಾದ ಪರಿಕರವನ್ನು ಹೇಗೆ ಆಯ್ಕೆ ಮಾಡುವುದು

ಒಂದು ಪರಿಕರವು ಸಮಯವನ್ನು ಉಳಿಸುತ್ತದೆಯೇ ಎಂದು ಕೇಳಬೇಡಿ. ಬಹುತೇಕ ಎಲ್ಲಾ ಪರಿಕರಗಳು ಸಮಯವನ್ನು ಉಳಿಸುತ್ತವೆ. ಕಾರ್ಯದ ವ್ಯಾಪ್ತಿಯ (scope) ಬಗ್ಗೆ ಕೇಳಿ.

ಸೀಮಿತ ಮತ್ತು ಕಡಿಮೆ ಅಪಾಯದ ಕಾರ್ಯಗಳಿಗಾಗಿ ಸರಳ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವಿಕೆಯನ್ನು ಬಳಸಿ. ಇದು ವೇಗವಾಗಿರುತ್ತದೆ ಮತ್ತು ಕಡಿಮೆ ಹೊರೆಯನ್ನು (overhead) ಹೊಂದಿರುತ್ತದೆ.

ಸಂಕೀರ್ಣ ಬಿಲ್ಡ್‌ಗಳಿಗಾಗಿ ನಿರ್ವಹಣಾತ್ಮಕ ಅನುಷ್ಠಾನವನ್ನು ಬಳಸಿ. ಆರ್ಕಿಟೆಕ್ಚರಲ್ ನಿರ್ಧಾರಗಳು ಹೆಚ್ಚಿನ ಪರಿಣಾಮ ಬೀರುವಾಗ ಇದನ್ನು ಬಳಸಿ.

ಗುರಿಯು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವಿಕೆಯನ್ನು ಬದಲಾಯಿಸುವುದಲ್ಲ. ಗುರಿಯು ಕೆಲಸದ ಅಪಾಯಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಪರಿಕರವನ್ನು ಹೊಂದಿಸುವುದಾಗಿದೆ.

ಮೂಲ: https://dev.to/8080_ai/why-rule-based-automation-breaks-in-ai-development-and-what-managed-execution-fixes-1j9f