ಒಂದು AI ಏಜೆಂಟ್ನ ಒಳಗೆ
AI ಏಜೆಂಟ್ ಪ್ರದರ್ಶನಗಳು (demos) ವಿಡಿಯೋಗಳಲ್ಲಿ ಅದ್ಭುತವಾಗಿ ಕಾಣಿಸಬಹುದು. ಆದರೆ ನೀವು ನಿಜವಾದ ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಿದಾಗ ಅವು ಹೆಚ್ಚಾಗಿ ವಿಫಲವಾಗುತ್ತವೆ.
ಏಜೆಂಟ್ ತಪ್ಪು ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಅದು ನಿರ್ಧಾರಗಳನ್ನು ಮರೆತುಬಿಡುತ್ತದೆ. ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ಟೂಲ್ಗಳನ್ನು ಕರೆಯುತ್ತದೆ. ಅದು ಅಂತ್ಯವಿಲ್ಲದ ಲೂಪ್ನಲ್ಲಿ ಸಿಲುಕಿಕೊಳ್ಳುತ್ತದೆ. ಇವು ಮಾಡೆಲ್ನ ವೈಫಲ್ಯಗಳಲ್ಲ. ಇವು ವರ್ಕ್ಫ್ಲೋ (workflow) ವೈಫಲ್ಯಗಳು.
ಏಜೆಂಟ್ ಎಂಬುದು ಒಂದು ಸಾಫ್ಟ್ವೇರ್ ವರ್ಕ್ಫ್ಲೋ. ಒಂದು ಲ್ಯಾಂಗ್ವೇಜ್ ಮಾಡೆಲ್ ಮುಂದಿನ ಹಂತವನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಟೂಲ್ಗಳನ್ನು ಕರೆಯುತ್ತದೆ. ಬುದ್ಧಿವಂತಿಕೆಯು ಕೇವಲ ಮಾಡೆಲ್ನಲ್ಲಲ್ಲ, ಬದಲಾಗಿ ಅದರ ಸಂಘಟನೆಯಲ್ಲಿ (orchestration) ಇರುತ್ತದೆ.
ಪ್ರತಿಯೊಂದು ಪ್ರೊಡಕ್ಷನ್ ಏಜೆಂಟ್ ಐದು ಸ್ತಂಭಗಳ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ:
- ಪ್ಲಾನಿಂಗ್ (Planning): ಕಾರ್ಯ ಮಾಡುವ ಮೊದಲು ಯೋಚಿಸುವುದು.
- ಟೂಲ್ ಬಳಕೆ (Tool Use): ಪ್ರಪಂಚದೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವುದು.
- ಮೆಮೊರಿ (Memory): ಸಂದರ್ಭ ಮತ್ತು ಸತ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು.
- ನಿರ್ಬಂಧಗಳು (Constraints): ಮಿತಿಗಳು ಮತ್ತು ಬಜೆಟ್ಗಳನ್ನು ನಿಗದಿಪಡಿಸುವುದು.
- ಪರಿಶೀಲನೆ (Verification): ಕೆಲಸವು ಸರಿಯಾಗಿದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುವುದು.
Planning Styles
ನೈವ್ (Naive) ಏಜೆಂಟ್ಗಳು ನೇರವಾಗಿ ಕಾರ್ಯಕ್ಕೆ ಮುಂದಾಗುತ್ತವೆ. ಇದು ಹ್ಯಾಲ್ಯುಸಿನೇಷನ್ಗಳಿಗೆ (hallucinations) ಕಾರಣವಾಗುತ್ತದೆ. ಉತ್ತಮ ಏಜೆಂಟ್ ಮೊದಲು ಯೋಜಿಸುತ್ತದೆ.
- Plan-then-execute: ಮಾಡೆಲ್ ಸಂಪೂರ್ಣ ಯೋಜನೆಯನ್ನು ಬರೆಯುತ್ತದೆ. ಇದನ್ನು ಆಡಿಟ್ ಮಾಡುವುದು ಸುಲಭ, ಆದರೆ ವಾಸ್ತವವು ಬದಲಾದಾಗ ಹೊಂದಿಸಿಕೊಳ್ಳುವುದು ಕಷ್ಟ.
- ReAct (Reason + Act): ಮಾಡೆಲ್ ಒಂದು ಲೂಪ್ನಲ್ಲಿ ಯೋಚಿಸುತ್ತದೆ, ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಗಮನಿಸುತ್ತದೆ. ಇದು ಹೆಚ್ಚು ಹೊಂದಿಕೊಳ್ಳುವ ಗುಣವನ್ನು ಹೊಂದಿದೆ ಆದರೆ ಟೋಕನ್ಗಳು ಮತ್ತು ಸಮಯದ ದೃಷ್ಟಿಯಿಂದ ಹೆಚ್ಚು ವೆಚ್ಚವಾಗುತ್ತದೆ.
Tool Use
ಟೂಲ್ಗಳಿಲ್ಲದೆ, ಏಜೆಂಟ್ ಕೇವಲ ಚಾಟ್ಬಾಟ್ ಆಗಿರುತ್ತದೆ. ಒಂದು ಟೂಲ್ಗೆ ಹೆಸರು, JSON ಸ್ಕೀಮಾ ಮತ್ತು ಒಂದು ಫಂಕ್ಷನ್ ಅಗತ್ಯವಿರುತ್ತದೆ.
ಮಾಡೆಲ್ಗಳು ವಿವರಣೆಗಳ ಆಧಾರದ ಮೇಲೆ ಟೂಲ್ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತವೆ. ನಿಮ್ಮ ವಿವರಣೆಯು ಅಸ್ಪಷ್ಟವಾಗಿದ್ದರೆ, ಏಜೆಂಟ್ ವಿಫಲವಾಗುತ್ತದೆ. ವಿವರಣೆಗಳನ್ನು ಸ್ಪೆಕ್ ಶೀಟ್ಗಳಂತೆ (spec sheets) ಪರಿಗಣಿಸಿ. ಒಂದು ಟೂಲ್ ಯಾವುದಕ್ಕಾಗಿ ಮತ್ತು ಯಾವುದಕ್ಕಾಗಿ ಅಲ್ಲ ಎಂಬುದನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಿ.
ಯಾವಾಗಲೂ ಟೂಲ್ ಕರೆಗಳನ್ನು (tool calls) ವ್ಯಾಲಿಡೇಟ್ ಮಾಡಿ. ಮಾಡೆಲ್ ತಪ್ಪಾದ ಆರ್ಗ್ಯುಮೆಂಟ್ಗಳನ್ನು ಕಳುಹಿಸಿದರೆ, ಆ ಕರೆಯನ್ನು ತಿರಸ್ಕರಿಸಿ ಮತ್ತು ದೋಷವನ್ನು (error) ಮರಳಿ ಮಾಡೆಲ್ಗೆ ನೀಡಿ. ಇದು ಏಜೆಂಟ್ ಲೂಪ್ನ ಮಧ್ಯದಲ್ಲೇ ಕಲಿಯಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
Memory
ಮೆಮೊರಿ ಎಂಬುದು ಕೇವಲ ಒಂದು ವಿಷಯವಲ್ಲ.
- Working Memory: ಪ್ರಸ್ತುತ ಸಂಭಾಷಣೆ ಮತ್ತು ಟೂಲ್ ಫಲಿತಾಂಶಗಳು.
- Scratchpad: ಏಜೆಂಟ್ ತಮಗೇ ಸೂಚನೆಗಳನ್ನು ಬರೆದುಕೊಳ್ಳಲು ಒಂದು ಸ್ಥಳ.
- Long-term Memory: ಭವಿಷ್ಯದ ಸೆಷನ್ಗಳಿಗಾಗಿ ಸತ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು.
ಕೇವಲ ವೆಕ್ಟರ್ ಡೇಟಾಬೇಸ್ಗಳ ಮೇಲೆ ಅವಲಂಬಿತರಾಗಬೇಡಿ. ಮಾರ್ಕ್ಡೌನ್ (markdown) ಫೈಲ್ಗಳನ್ನು ಬಳಸುವ ಫೈಲ್-ಆಧಾರಿತ ಮೆಮೊರಿ ಹೆಚ್ಚಾಗಿ ಉತ್ತಮವಾಗಿರುತ್ತದೆ. ಇದನ್ನು ಆಡಿಟ್ ಮಾಡುವುದು, ಎಡಿಟ್ ಮಾಡುವುದು ಮತ್ತು ಗ್ರೆಪ್ (grep) ಮಾಡುವುದು ಸುಲಭ.
Constraints and Safety
ಪ್ರೊಡಕ್ಷನ್ ಏಜೆಂಟ್ಗಳಿಗೆ ಗಾರ್ಡ್ರೈಲ್ಸ್ (guardrails) ಅಗತ್ಯವಿದೆ. ಈ ನಾಲ್ಕನ್ನು ಬಳಸಿ:
- Tool allowlists: ನಿರ್ದಿಷ್ಟವಾದ, ಹೆಸರಿಸಲಾದ ಟೂಲ್ಗಳನ್ನು ಮಾತ್ರ ಅನುಮತಿಸಿ.
- Iteration budgets: ಅಂತ್ಯವಿಲ್ಲದ ಲೂಪ್ಗಳನ್ನು ತಡೆಯಲು ಹಂತಗಳ ಸಂಖ್ಯೆಯನ್ನು ಮಿತಿಗೊಳಿಸಿ.
- Token budgets: ಒಟ್ಟು ಟೋಕನ್ಗಳನ್ನು ಮಿತಿಗೊಳಿಸುವ ಮೂಲಕ ವೆಚ್ಚವನ್ನು ಸೀಮಿತಗೊಳಿಸಿ
