ವೆಬ್ ಫಾರ್ಮ್ನ ಪ್ರತಿಯೊಂದು ಪಠ್ಯದ ಕ್ಷೇತ್ರವನ್ನು (text field) ತುಂಬಬಲ್ಲ Claude AI ಏಜೆಂಟ್, ಮೂರು ಚಿತ್ರಗಳನ್ನು ಅಟ್ಯಾಚ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದಾಗ ಅಂತಿಮ ಹಂತದಲ್ಲಿ ನಿಂತುಹೋಯಿತು. ಇದು Desktop App ನ ಫೈಲ್-ಅಪ್ಲೋಡ್ ನಿರ್ವಹಣೆಯಲ್ಲಿ ದಾಖಲಿಸದ (undocumented) ಒಂದು ಮಿತಿಯನ್ನು ಬಹಿರಂಗಪಡಿಸಿದೆ. ಈ ವೈಫಲ್ಯವು ಮುಖ್ಯವಾಗುತ್ತದೆ ಏಕೆಂದರೆ ಇದು ಸಂಪೂರ್ಣವಾಗಿ ಕಾಣುವ ಎಂಡ್-ಟು-ಎಂಡ್ ಆಟೊಮೇಷನ್ ಅನ್ನು ಮ್ಯಾನುಯಲ್ ಹ್ಯಾಂಡ್-ಆಫ್ ಆಗಿ ಬದಲಾಯಿಸುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಡೆವಲಪರ್ಗಳು ತಾವು AI-ಚಾಲಿತ ವರ್ಕ್ಫ್ಲೋಗಳನ್ನು ಹೇಗೆ ನಿರ್ಮಿಸಬೇಕು ಎಂಬುದನ್ನು ಮರುಪರಿಶೀಲಿಸಬೇಕಾಗುತ್ತದೆ.
ಈ ಸಮಸ್ಯೆ ಈಗ ಏಕೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತಿದೆ
Claude ಏಜೆಂಟ್ಗಳು ಮೂರು ಪರಿಸರಗಳಲ್ಲಿ (environments) ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ: ಕಮಾಂಡ್-ಲೈನ್ ಇಂಟರ್ಫೇಸ್ (CLI), Visual Studio Code ಎಕ್ಸ್ಟೆನ್ಶನ್ ಅಥವಾ ಸ್ಟ್ಯಾಂಡ್ಅಲೋನ್ Desktop App. CLI ಯಲ್ಲಿ, ಏಜೆಂಟ್ ಸೆಷನ್ಗೆ ಸೇರಿಸಲಾದ ಡೈರೆಕ್ಟರಿಯಿಂದ ಫೈಲ್ ಅನ್ನು ಓದುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ ತೊಂದರೆಯಿಲ್ಲದೆ ಅಪ್ಲೋಡ್ ಮಾಡುತ್ತದೆ. ಆದರೆ Desktop App ಈ ವರ್ತನೆಯನ್ನು ಅನುಸರಿಸುವುದಿಲ್ಲ. ಏಜೆಂಟ್ ತನ್ನದೇ ಆದ ತಾತ್ಕಾಲಿಕ ಫೋಲ್ಡರ್ಗೆ ಫೈಲ್ ಅನ್ನು ಬರೆದಾಗಲೂ ಸಹ, ಅಪ್ಲಿಕೇಶನ್ ಅಪ್ಲೋಡ್ ಅನ್ನು ತಿರಸ್ಕರಿಸುತ್ತದೆ. ಇದಕ್ಕೆ ಕಾರಣವಾಗಿ ಸಾರ್ವಜನಿಕ ದಾಖಲೆಗಳಲ್ಲಿ (public docs) ಕಾಣಿಸದ "shared" ಫೈಲ್ಗಳ ಆಂತರಿಕ ವ್ಯಾಖ್ಯಾನವನ್ನು ಅದು ಉಲ್ಲೇಖಿಸುತ್ತದೆ.
ಒಬ್ಬ ಬಳಕೆದಾರರು ಫಾರ್ಮ್ ಅನ್ನು ತುಂಬುವ, “save draft” ಕ್ಲಿಕ್ ಮಾಡುವ ಮತ್ತು ನಂತರ ಮೂರು ಚಿತ್ರಗಳನ್ನು ಅಟ್ಯಾಚ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುವ ಒಂದು ಆಟೊಮೇಷನ್ ಅನ್ನು ನಿರ್ಮಿಸಿದಾಗ ಈ ವ್ಯತ್ಯಾಸವು ಕಂಡುಬಂದಿತು. ಪಠ್ಯದ ಕ್ಷೇತ್ರಗಳು ಯಾವುದೇ ತೊಂದರೆಯಿಲ್ಲದೆ ತುಂಬಲ್ಪಟ್ಟವು, ಆದರೆ ಅಪ್ಲೋಡ್ ಹಂತವು ಪ್ರತಿ ಬಾರಿಯೂ ದೋಷವನ್ನು (error) ತೋರಿಸಿತು.
ಡೆವಲಪರ್ಗಳು ಏನನ್ನು ಪ್ರಯತ್ನಿಸಿದ್ದಾರೆ
- ಅಪ್ಲಿಕೇಶನ್ ರಚಿಸುವ ಸೆಷನ್ ಫೋಲ್ಡರ್ಗೆ ಫೈಲ್ಗಳನ್ನು ಸೇರಿಸಿದರು.
- ಏಜೆಂಟ್ ಹೋಸ್ಟ್ ಫೋಲ್ಡರ್ ಅನ್ನು ನೋಡಲು ಅನುವು ಮಾಡಿಕೊಡುವ directory-connect ಪರಿಕರವನ್ನು ಬಳಸಿದರು.
- ಚಾಟ್ ವಿಂಡೋದಲ್ಲಿ ನೇರವಾಗಿ ಚಿತ್ರಗಳನ್ನು ಅಟ್ಯಾಚ್ ಮಾಡಿದರು.
- ಮ್ಯಾನುಯಲ್ ಅಪ್ಲೋಡ್ ಫೋಲ್ಡರ್ ಅನ್ನು ರಚಿಸಿ ಫಾರ್ಮ್ ಅನ್ನು ಅದರ ಕಡೆಗೆ ನಿರ್ದೇಶಿಸಿದರು.
ಈ ಎಲ್ಲಾ ವಿಧಾನಗಳು ಒಂದೇ ರೀತಿಯ ತಿರಸ್ಕಾರದ ದೋಷವನ್ನು (rejection error) ನೀಡಿದವು. ಫೈಲ್-ಪಿಕ್ಕರ್ ಡೈಲಾಗ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸುವ ಬ್ರೌಸರ್ ವಿಂಡೋವು ડેಸ್ಕ್ಟಾಪ್ ಆಟೊಮೇಷನ್ಗಾಗಿ ರೀಡ್-ಓನ್ಲಿ (read-only) ಮೋಡ್ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಏಜೆಂಟ್ಗೆ ಡೈಲಾಗ್ ಕಾಣಿಸುತ್ತದೆ ಆದರೆ ಅದರೊಳಗೆ ಕ್ಲಿಕ್ ಮಾಡಲು ಅಥವಾ ಪಾತ್ (path) ಟೈಪ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ UI-ಆಟೊಮೇಷನ್ ತಂತ್ರಗಳು ವಿಫಲವಾಗುತ್ತವೆ.
ಒಂದು ದುರ್ಬಲ “ಬ್ಯಾಕ್ಡೋರ್”
ಯಶಸ್ವಿಯಾದ ಏಕೈಕ ವಿಧಾನವು Windows ಕ್ಲಿಪ್ಬೋರ್ಡ್ ಅನ್ನು ಬಳಸಿತು:
- ಒಂದು PowerShell ಸ್ಕ್ರಿಪ್ಟ್ ಗುರಿ ಫೈಲ್ ಅನ್ನು ಕ್ಲಿಪ್ಬೋರ್ಡ್ಗೆ ಕಾಪಿ ಮಾಡುತ್ತದೆ.
- ಏಜೆಂಟ್ Ctrl + V ಕೀಸ್ಟ್ರೋಕ್ ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ.
- ಬ್ರೌಸರ್ ಪೇಸ್ಟ್ ಇವೆಂಟ್ ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಫೈಲ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡುತ್ತದೆ.
ಈ ಹ್ಯಾಕ್ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಆದರೆ ಇದು ಬಳಕೆದಾರರ ಕ್ಲಿಪ್ಬೋರ್ಡ್ ಅನ್ನು ಅಳಿಸಿಹಾಕುತ್ತದೆ, Windows ಗೆ ಮಾತ್ರ ಸೀಮಿತವಾಗಿದೆ ಮತ್ತು Desktop App ನ ಯಾವುದೇ ಅಪ್ಡೇಟ್ನೊಂದಿಗೆ ಇದು ಸ್ಥಗಿತಗೊಳ್ಳಬಹುದು. ಇದು ಪ್ರೊಡಕ್ಷನ್ ಪೈಪ್ಲೈನ್ಗಳಿಗೆ ಸುಸ್ಥಿರವಾದ ಪರಿಹಾರವಲ್ಲ.
ಈ ಮಿತಿಯ ನಿಜವಾದ ಅರ್ಥವೇನು
ಮೂಲ ಸಮಸ್ಯೆ ಸಾಫ್ಟ್ವೇರ್ ಬಗ್ ಅಲ್ಲ; ಇದು ಫೈಲ್ ಅನುಮತಿಗಳನ್ನು (file permissions) ಕೇವಲ ಫೈಲ್-ಸಿಸ್ಟಮ್ ಫ್ಲಾಗ್ ಆಗಿ ಪರಿಗಣಿಸದೆ, ಹೋಸ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ನ ಗುಣಲಕ್ಷಣವಾಗಿ ಪರಿಗಣಿಸುವ ದಾಖಲಿಸದ ಒಂದು ಅಂಶವಾಗಿದೆ. CLI ಯಲ್ಲಿ, ಏಜೆಂಟ್ ಪ್ರಕ್ರಿಯೆಯ (process) ರೀಡ್ ಆಕ್ಸೆಸ್ ಅನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತದೆ, ಆದ್ದರಿಂದ ಸೆಷನ್ ನೋಡಬಲ್ಲ ಯಾವುದೇ ಫೈಲ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಬಹುದು. Desktop App ನಲ್ಲಿ, ರನ್ಟೈಮ್ ಏಜೆಂಟ್ನ ಫೈಲ್-ಸಿಸ್ಟಮ್ ವೀಕ್ಷಣೆಯನ್ನು ಪ್ರತ್ಯೇಕಿಸುತ್ತದೆ (isolates), ಇದು ಕೇವಲ ಗುಪ್ತವಾದ “shared” ಮಾನದಂಡಗಳನ್ನು ಪೂರೈಸುವ ಫೈಲ್ಗಳನ್ನು ಮಾತ್ರ ಅನುಮತಿಸುತ್ತದೆ.
ಈ ನಿರ್ಬಂಧವು Desktop App ನ ಆರ್ಕಿಟೆಕ್ಚರ್ನಲ್ಲೇ ಅಳವಡಿಸಲ್ಪಟ್ಟಿರುವುದರಿಂದ, UI ಮ್ಯಾನಿಪ್ಯುಲೇಶನ್ ಅಥವಾ ತಾತ್ಕಾಲಿಕ ಫೋಲ್ಡರ್ಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುವ ಪರಿಹಾರಗಳು ಯಶಸ್ವಿಯಾಗಿಲ್ಲ.
ವಿಶ್ವಾಸಾರ್ಹ ಮುಂದಿನ ಹಾದಿಗಳು
ಒಂದು ವರ್ಕ್ಫ್ಲೋಗೆ ಫೈಲ್ ಅಪ್ಲೋಡ್ಗಳು ಅಗತ್ಯವಿದ್ದರೆ, ಡೆವಲಪರ್ಗಳಿಗೆ ಮೂರು ವಿಶ್ವಾಸಾರ್ಹ ಆಯ್ಕೆಗಳಿವೆ:
- ಏಜೆಂಟ್ ಅನ್ನು CLI ಯಿಂದ ರನ್ ಮಾಡಿ. ಈ ಪರಿಸರವು ಸೆಷನ್ನ ಫೈಲ್-ಸಿಸ್ಟಮ್ ಅನುಮತಿಗಳನ್ನು ಗೌರವಿಸುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಹಂತಗಳಿಲ್ಲದೆ ಅಪ್ಲೋಡ್ ಮಾಡುತ್ತದೆ.
- VS Code ಎಕ್ಸ್ಟೆನ್ಶನ್ ಬಳಸಿ. ಈ ಎಕ್ಸ್ಟೆನ್ಶನ್ CLI ನ ಅನುಮತಿ ಮಾದರಿಯನ್ನು ಪ್ರತಿಫಲಿಸುತ್ತದೆ, ಇದು ಎಡಿಟರ್ ನೋಡಬಲ್ಲ ಫೈಲ್ಗಳನ್ನು ಏಜೆಂಟ್ಗಳು ಓದಲು ಮತ್ತು ಅಪ್ಲೋಡ್ ಮಾಡಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
- ಅಪ್ಲೋಡ್ ಹಂತವನ್ನು ಮನುಷ್ಯರಿಗೆ ಬಿಡಿ. ಒಂದು ದುರ್ಬಲ ಪರಿಹಾರವನ್ನು ನಿರ್ಮಿಸಲು ಗಂಟೆಗಟ್ಟಲೆ ಕಳೆಯುವ ಬದಲು, ಎರಡು ನಿಮಿಷದ ಮ್ಯಾನುಯಲ್ ಕ್ರಮವು ಉತ್ತಮವಾಗಿದೆ.
ಮೊದಲ ಎರಡು ಆಯ್ಕೆಗಳನ್ನು ಆರಿಸಿಕೊಳ್ಳುವುದು ಆಟೊಮೇಷನ್ ಅನ್ನು Desktop App ಹೊರಗೆ ರನ್ ಮಾಡುತ್ತದೆ.
ಅಂತಿಮ ತೀರ್ಮಾನ
Claude AI ಏಜೆಂಟ್ಗಳಲ್ಲಿನ ಫೈಲ್-ಅಪ್ಲೋಡ್ ಸಾಮರ್ಥ್ಯವು ಎಲ್ಲಾ ರನ್ಟೈಮ್ಗಳಲ್ಲಿ ಏಕರೂಪವಾಗಿರುವುದಿಲ್ಲ; ಇದು ಏಜೆಂಟ್ ಅನ್ನು ಹೇಗೆ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ ಎಂಬುದರ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ. ವಿಶ್ವಾಸಾರ್ಹ ಆಟೊಮೇಷನ್ಗಾಗಿ, ಫೈಲ್-ಸಿಸ್ಟಮ್ ಅನುಮತಿಗಳನ್ನು ನಂಬಿಕಸ್ಥವಾಗಿ ಗೌರವಿಸುವ ಏಕೈಕ ಪರಿಸರಗಳಾಗಿ CLI ಮತ್ತು VS Code ಎಕ್ಸ್ಟೆನ್ಶನ್ ಅನ್ನು ಪರಿಗಣಿಸಿ. Desktop App ಅನ್ನು ಬಳಸುವಾಗ, ಮ್ಯಾನುಯಲ್ ಹ್ಯಾಂಡ್-ಆಫ್ ಅನ್ನು ಯೋಜಿಸಿ ಅಥವಾ ದುರ್ಬಲವಾದ ಕ್ಲಿಪ್ಬೋರ್ಡ್ ಹ್ಯಾಕ್ ಅನ್ನು ಒಪ್ಪಿಕೊಳ್ಳಿ. ಈ ವ್ಯತ್ಯಾಸವನ್ನು ನಿರ್ಲಕ್ಷಿಸುವುದು ಸುಗಮ ಎಂಡ್-ಟು-ಎಂಡ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ದುಬಾರಿ ಡಿಬಗ್ಗಿಂಗ್ ವ್ಯಾಯಾಮವಾಗಿ ಬದಲಾಯಿಸಬಹುದು.
