LLM + RAG + Function Calling ಎಂಬುದು AI ಏಜೆಂಟ್ ಅಲ್ಲ
LLM, RAG ಮತ್ತು function calling ಅನ್ನು ಬಳಸುವ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅನೇಕ ಜನರು AI ಏಜೆಂಟ್ ಎಂದು ಕರೆಯುತ್ತಾರೆ.
ಇದು ತಪ್ಪು.
ಈ ಪರಿಕರಗಳು ಸಾಮರ್ಥ್ಯವನ್ನು (capability) ಹೆಚ್ಚಿಸುತ್ತವೆ. ಅವು ಸ್ವಾಯತ್ತತೆಯನ್ನು (autonomy) ನೀಡುವುದಿಲ್ಲ. ಸ್ವಾಯತ್ತತೆಯಿಲ್ಲದೆ, ನೀವು ಏಜೆಂಟ್ ಅನ್ನು ಹೊಂದಲು ಸಾಧ್ಯವಿಲ್ಲ.
ಜನರು ಸಿಸ್ಟಮ್ನ ಸಾಮರ್ಥ್ಯ ಮತ್ತು ಸಿಸ್ಟಮ್ನ ನಡವಳಿಕೆಯನ್ನು (behavior) ಗೊಂದಲ ಮಾಡಿಕೊಳ್ಳುವುದರಿಂದ ಈ ಗೊಂದಲ ಉಂಟಾಗುತ್ತದೆ.
ಈ ಘಟಕಗಳ ಪಾತ್ರಗಳನ್ನು ಗಮನಿಸಿ:
- LLMಗಳು ಸಂದರ್ಭಕ್ಕೆ (context) ಅನುಗುಣವಾಗಿ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ನೀಡುತ್ತವೆ. ಅವು ಸಿಸ್ಟಮ್ನ ಹರಿವನ್ನು (flow) ನಿಯಂತ್ರಿಸುವುದಿಲ್ಲ.
- RAG ಸಂಬಂಧಿತ ಡೇಟಾವನ್ನು ಪಡೆಯುತ್ತದೆ. ಇದು ಸಂದರ್ಭವನ್ನು ಒದಗಿಸುತ್ತದೆ ಆದರೆ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ ಅಥವಾ ಹಂತಗಳನ್ನು ಯೋಜಿಸುವುದಿಲ್ಲ.
- Function calling ಒಂದು LLM ಗೆ ಕ್ರಿಯೆಗಳನ್ನು ವಿನಂತಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಯಾವ ಫಂಕ್ಷನ್ಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿವೆ ಮತ್ತು ಅವುಗಳನ್ನು ಯಾವಾಗ ಚಲಾಯಿಸಬೇಕು ಎಂಬುದನ್ನು ಸಿಸ್ಟಮ್ ನಿರ್ಧರಿಸುತ್ತದೆ.
ನೀವು ಈ ಮೂರನ್ನೂ ಒಟ್ಟಿಗೆ ಬಳಸಿದರೂ ಸಹ, ಸಿಸ್ಟಮ್ಗೆ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಹರಿವಿನ (execution flow) ಮೇಲೆ ನಿಯಂತ್ರಣ ಇರುವುದಿಲ್ಲ.
ಹೆಚ್ಚಿನ ಸೆಟಪ್ಗಳಲ್ಲಿ, ಅಪ್ಲಿಕೇಶನ್ ಮೊದಲೇ ನಿರ್ಧರಿಸಿದ ಪೈಪ್ಲೈನ್ ಅನ್ನು ಅನುಸರಿಸುತ್ತದೆ. ಕೋಡ್ ಈ ಕೆಳಗಿನವುಗಳನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ:
- RAG ಅನ್ನು ಯಾವಾಗ ಬಳಸಬೇಕು.
- LLM ಅನ್ನು ಯಾವಾಗ ಕರೆಯಬೇಕು.
- ಫಂಕ್ಷನ್ ಅನ್ನು ಯಾವಾಗ ಟ್ರಿಗ್ಗರ್ ಮಾಡಬೇಕು.
- ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಹೇಗೆ ಹಿಂತಿರುಗಿಸಬೇಕು.
ಇದು ಒಂದು ಮಿತಿಯೊಳಗಿನ ಕಾರ್ಯವಿಧಾನ (bounded workflow). ಮಾಡೆಲ್ ನಿಗದಿತ ಹಾದಿಯನ್ನು ಅನುಸರಿಸುತ್ತದೆ ಮತ್ತು ನಂತರ ನಿಲ್ಲುತ್ತದೆ. ಅದು ತನ್ನಷ್ಟಕ್ಕೆ ತಾನೇ ಯೋಜಿಸುವುದಿಲ್ಲ ಅಥವಾ ಪುನರಾವರ್ತಿಸುವುದಿಲ್ಲ (iterate).
ಒಂದು AI ಏಜೆಂಟ್ ವಿಭಿನ್ನವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಅದು ಸ್ಥಿರವಾದ ಅನುಕ್ರಮವನ್ನು (fixed sequence) ಅನುಸರಿಸುವುದಿಲ್ಲ. ಪ್ರಕ್ರಿಯೆಯ ಸಮಯದಲ್ಲಿ ಏನಾಗುತ್ತದೆಯೋ ಅದರ ಆಧಾರದ ಮೇಲೆ ಅದು ತನ್ನ ಮುಂದಿನ ಹಂತವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.
ವ್ಯತ್ಯಾಸ ಸರಳವಾಗಿದೆ:
- ಏಜೆಂಟ್ ಅಲ್ಲದ ಸಿಸ್ಟಮ್ ಒಂದು ಕಾರ್ಯವಿಧಾನವನ್ನು (workflow) ಅನುಸರಿಸುತ್ತದೆ.
- ಏಜೆಂಟ್ ಸಿಸ್ಟಮ್ ಒಂದು ಗುರಿಯನ್ನು (goal) ತಲುಪಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ.
ಏಜೆಂಟ್ ಅನ್ನು ಅದರ ನಡವಳಿಕೆಯಿಂದ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ, ಪರಿಕರಗಳಿಂದಲ್ಲ. ಏಜೆಂಟ್ ಈ ಕೆಳಗಿನವುಗಳನ್ನು ಮಾಡಲು ಸಮರ್ಥವಾಗಿರಬೇಕು:
- ಮುಂದಿನ ಕ್ರಿಯೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು.
- ಪರಿಕರಗಳನ್ನು ಡೈನಾಮಿಕ್ ಆಗಿ ಆಯ್ಕೆ ಮಾಡುವುದು.
- ಲೂಪ್ನಲ್ಲಿ ಹಲವಾರು ಹಂತಗಳನ್ನು ಚಲಾಯಿಸುವುದು.
- ಹೊಸ ಫಲಿತಾಂಶಗಳ ಆಧಾರದ ಮೇಲೆ ತನ್ನ ಯೋಜನೆಯನ್ನು ಬದಲಾಯಿಸುವುದು.
- ಗುರಿಯನ್ನು ತಲುಪುವವರೆಗೆ ಕೆಲಸ ಮಾಡುವುದು.
ಜವಾಬ್ದಾರಿಯ ಬಗ್ಗೆ ಯೋಚಿಸಿ.
ಒಂದು LLM ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ, ಸಿಸ್ಟಮ್ ಮಾಡೆಲ್ಗೆ ಏನು ಮಾಡಬೇಕೆಂದು ಹೇಳುತ್ತದೆ.
ಏಜೆಂಟ್ನಲ್ಲಿ, ಸಿಸ್ಟಮ್ ಮಾಡೆಲ್ಗೆ ಗುರಿಯನ್ನು ತಿಳಿಸುತ್ತದೆ. ಆ ಗುರಿಯನ್ನು ಹೇಗೆ ತಲುಪಬೇಕೆಂದು ಮಾಡೆಲ್ ನಿರ್ಧರಿಸುತ್ತದೆ.
RAG ಸಂದರ್ಭವನ್ನು (context) ಸುಧಾರಿಸುತ್ತದೆ. Function calling ಕ್ರಿಯೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. LLMಗಳು ತರ್ಕವನ್ನು (reasoning) ಒದಗಿಸುತ್ತವೆ. ಇವುಗಳಲ್ಲಿ ಯಾವುದೂ ಏಕಾಂಗಿಯಾಗಿ ಏಜೆಂಟ್ ಅನ್ನು ಸೃಷ್ಟಿಸುವುದಿಲ್ಲ.
ಮಾಡೆಲ್ ತನ್ನದೇ ಆದ ಕ್ರಿಯೆಗಳ ಅನುಕ್ರಮವನ್ನು ನಿಯಂತ್ರಿಸಿದಾಗ ಮಾತ್ರ ಏಜೆಂಟ್ ಅಸ್ತಿತ್ವದಲ್ಲಿರುತ್ತದೆ.
ಮೂಲ: https://dev.to/rohith_kn/llm-rag-function-calling-is-not-an-ai-agent-5459
