AI ಏಜೆಂಟ್‌ಗಳ ಕಠಿಣ ಭಾಗ ಕೆಲಸ ಮಾಡುವುದಲ್ಲ, ಅದು ಯೋಜಿಸುವುದು (Planning)

ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುವ AI ಏಜೆಂಟ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು ಸುಲಭ. ಆದರೆ ಅವುಗಳನ್ನು ಸರಿಯಾಗಿ ಯೋಜಿಸುವ ಏಜೆಂಟ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು ಕಷ್ಟ.

ನಾನು ಒಂದು CLI ಅನ್ನು ನಿರ್ಮಿಸಿದ್ದೇನೆ, ಅಲ್ಲಿ ನೀವು ಒಂದು ವಾಕ್ಯವನ್ನು ಟೈಪ್ ಮಾಡಿದರೆ LLM ನಿಮ್ಮ ನೈಜ ಖಾತೆಗಳ ಮೇಲೆ ಕ್ರಮಗಳನ್ನು (actions) ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ನಾನು ಎರಡು ಮೋಡ್‌ಗಳನ್ನು ಬಳಸುತ್ತೇನೆ: Direct mode ಮತ್ತು Plan mode.

Direct mode ವೇಗಕ್ಕಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. Plan mode ಸುರಕ್ಷತೆಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. Plan mode ನಲ್ಲಿ, ಏಜೆಂಟ್ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಮುಟ್ಟುವ ಮೊದಲು ಪ್ರತಿಯೊಂದು ಹಂತವನ್ನು ನಿಮಗೆ ತೋರಿಸುತ್ತದೆ.

ನಾನು ವಿಶ್ವಾಸಾರ್ಹ ಪ್ಲಾನರ್ ಅನ್ನು ಹೇಗೆ ನಿರ್ಮಿಸಿದೆ ಎಂಬುದು ಇಲ್ಲಿದೆ:

• ಮೆದುಳನ್ನು ವಿಭಜಿಸಿ (Split the brain) ಒಂದು ಏಜೆಂಟ್ ಯೋಜನೆ (planning) ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆ (execution) ಎರಡನ್ನೂ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಪ್ಲಾನಿಂಗ್ ಏಜೆಂಟ್ ಯೋಚಿಸಲು ಬಯಸುತ್ತದೆ. ಎಕ್ಸಿಕ್ಯೂಷನ್ ಏಜೆಂಟ್ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಬಯಸುತ್ತದೆ. ನಾನು ಇವುಗಳನ್ನು ಎರಡು ವಿಭಿನ್ನ ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್‌ಗಳೊಂದಿಗೆ ಎರಡು ಬೇರೆ ಬೇರೆ ಏಜೆಂಟ್‌ಗಳಾಗಿ ಪ್ರತ್ಯೇಕಿಸಿದೆ. ಇದು ಅವುಗಳು ಪರಸ್ಪರ ಸಂಘರ್ಷ ಮಾಡುವುದನ್ನು ತಡೆಯುತ್ತದೆ.

• ಏಜೆಂಟ್‌ಗೆ ಕಣ್ಣುಗಳನ್ನು ನೀಡಿ (Give the agent eyes) ಊಹೆಯ ಮೇಲೆ ಕೆಲಸ ಮಾಡುವ ಪ್ಲಾನರ್ ಅಪಾಯಕಾರಿ. ನನ್ನ ಮೊದಲ ಆವೃತ್ತಿಯು ಕೇವಲ ಊಹೆಗಳ ಆಧಾರದ ಮೇಲೆ ಯೋಜನೆಗಳನ್ನು ರೂಪಿಸುತ್ತಿತ್ತು. ಈಗ, ಪ್ಲಾನರ್ ಮೊದಲು ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಸಂಶೋಧಿಸಲು read-only ಪರಿಕರಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಒಂದು ಹಂತವನ್ನು ಬರೆಯುವ ಮೊದಲು ಅದು ನಿಮ್ಮ ನೈಜ Salesforce ಫೀಲ್ಡ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ.

• ಉತ್ತರಗಳನ್ನು ಮೊದಲೇ ಭರ್ತಿ ಮಾಡಿ (Prefill the answers) ಏಜೆಂಟ್‌ಗಳು ಹೆಚ್ಚಾಗಿ ಸರಿಯಲ್ಲದ ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳುತ್ತವೆ. ಅವು ತುಂಬಾ ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಿದರೆ, ಅಂತಿಮವಾಗಿ ನೀವು ಅವರಿಗಾಗಿ ಕೆಲಸ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ನಾನು ಇದನ್ನು ಬದಲಾಯಿಸಿದೆ. ಪ್ಲಾನರ್ ಇನ್ನೂ ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳುತ್ತದೆ, ಆದರೆ ಅದು ಶಿಫಾರಸು ಮಾಡಿದ ಉತ್ತರವನ್ನು (recommended answer) ಒದಗಿಸುತ್ತದೆ. ನೀವು ಅದನ್ನು ಕೇವಲ ಖಚಿತಪಡಿಸಬಹುದು ಅಥವಾ ಸಣ್ಣ ಬದಲಾವಣೆ ಮಾಡಬಹುದು. ಇದು ಮ್ಯಾನುಯಲ್ ಡೇಟಾ ಎಂಟ್ರಿ ಇಲ್ಲದೆಯೇ ಯೋಜನೆಯನ್ನು ನಿಖರವಾಗಿಡುತ್ತದೆ.

• ಕೇವಲ ಪಟ್ಟಿಯನ್ನು ಮಾತ್ರವಲ್ಲ, ಸಂದರ್ಭವನ್ನು (context) ಹಸ್ತಾಂತರಿಸಿ ನೀವು ಎಕ್ಸಿಕ್ಯೂಟರ್‌ಗೆ ಕೇವಲ ಹಂತಗಳ ಪಟ್ಟಿಯನ್ನು ನೀಡಿದರೆ, ಅದು ಅದರ ಹಿಂದಿನ ತರ್ಕವನ್ನು (reasoning) ಕಳೆದುಕೊಳ್ಳುತ್ತದೆ. ನಾನು ಪ್ಲಾನರ್ ಮೂಲಕ ಹಂತಗಳ ಜೊತೆಗೆ ಊಹೆಗಳು ಮತ್ತು ಅಪಾಯಗಳನ್ನು ಸಹ ಕಳುಹಿಸುವಂತೆ ಮಾಡಿದೆ. ಈಗ ಎಕ್ಸಿಕ್ಯೂಟರ್‌ಗೆ ಪ್ರತಿಯೊಂದು ಕ್ರಮದ ಹಿಂದಿನ "ಏಕೆ" ಎಂಬ ಕಾರಣ ತಿಳಿಯುತ್ತದೆ.

• ಅಪಾಯವನ್ನು ಗುರುತಿಸಿ (Label the danger) ಅಪಾಯಗಳನ್ನು ನೀವು ನೋಡಬಲ್ಲೆನಾದಾಗ ಮಾತ್ರ ಯೋಜನೆ ಸುರಕ್ಷಿತವಾಗಿರುತ್ತದೆ. ಡಿಲೀಟ್ ಮಾಡುವುದು ಅಥವಾ ಮರುನಾಮಕರಣ ಮಾಡುವಂತಹ ವಿನಾಶಕಾರಿ ಕ್ರಮಗಳನ್ನು (destructive actions) ನನ್ನ ಸಿಸ್ಟಮ್ ಗುರುತಿಸುತ್ತದೆ. ಏಜೆಂಟ್ ಅಂತಹ ಹಂತಕ್ಕೆ ಬಂದಾಗ, ಅದು ನಿಂತು ನಿಮ್ಮನ್ನು ಕೇಳುತ್ತದೆ.

• ಡೇಟಾವನ್ನು ನಿರ್ಣಾಯಕವಾಗಿ ಬಳಸಿ (Use data as the tiebreaker) ಒಂದು ಹಂತ ವಿಫಲವಾಗಿದೆ ಎಂದು ಏಜೆಂಟ್ ಭಾವಿಸಿದಾಗ ಮತ್ತು ನೀವು ಅದನ್ನು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಲು (retry) ಹೇಳಿದಾಗ, ಅದು ಕಣ್ಣು ಮುಚ್ಚಿ ಅದಕ್ಕೆ ಪಾಲಿಸುವುದಿಲ್ಲ. ಅದು ನೈಜ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಒಂದು ವೇಳೆ ಕೆಲಸ ಈಗಾಗಲೇ ಮುಗಿದಿದೆ ಎಂದು ಡೇಟಾ ತೋರಿಸಿದರೆ, ಏಜೆಂಟ್ ನಿಮ್ಮ ಮಾತಿಗಿಂತ ಡೇಟಾವನ್ನು ನಂಬುತ್ತದೆ.

ಸುರಕ್ಷತೆಯ ಬಗ್ಗೆ ಸತ್ಯ: Plan mode ಎಂಬುದು prompt injection ಅಥವಾ ನೋಡದೆಯೇ "approve" ಕ್ಲಿಕ್ ಮಾಡುವ ಬಳಕೆದಾರರನ್ನು ತಡೆಯುವುದಿಲ್ಲ. ಇದು ಜವಾಬ್ದಾರಿಯನ್ನು "ಮಾದರಿಯನ್ನು (model) ನಂಬುವ" ಕಡೆಯಿಂದ "ಪರಿಶೀಲಿಸಲು ಮನುಷ್ಯನನ್ನು ನಂಬುವ" ಕಡೆಗೆ ವರ್ಗಾಯಿಸುತ್ತದೆ.

ರಚನೆಯು (structure) ಸುರಕ್ಷತಾ ತಡೆಗೋಲುಗಳನ್ನು (guardrails) ಒದಗಿಸುತ್ತದೆ, ಆದರೆ ನಿಮ್ಮ ಪರಿಶೀಲನೆಯೇ ಅಂತಿಮ ಸುರಕ್ಷತೆಯನ್ನು ನೀಡುತ್ತದೆ.

Source: https://dev.to/abdullahsaad5/the-hard-part-of-my-ai-agent-wasnt-doing-the-work-it-was-planning-it-n0k

Optional learning community: https://t.me/GyaanSetuAi