LLM + RAG + Function Calling ಎಂಬುದು AI Agent ಅಲ್ಲ

ಅನೇಕ ಜನರು ಯಾವುದೇ AI ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಏಜೆಂಟ್ ಎಂದು ಕರೆಯುತ್ತಾರೆ. ಅವರು RAG ಮತ್ತು function calling ಬಳಸುವ LLM ಅನ್ನು ನೋಡಿ ಆ ಹೆಸರನ್ನು ಬಳಸುತ್ತಾರೆ.

ಇದು ತಪ್ಪು.

ಈ ಪರಿಕರಗಳು ಸಾಮರ್ಥ್ಯವನ್ನು ನೀಡುತ್ತವೆ. ಅವು ಸ್ವಾಯತ್ತತೆಯನ್ನು (autonomy) ನೀಡುವುದಿಲ್ಲ. ಸ್ವಾಯತ್ತತೆಯಿಲ್ಲದೆ, ನಿಮ್ಮ ಬಳಿ ಏಜೆಂಟ್ ಇರುವುದಿಲ್ಲ.

ಒಂದು ವ್ಯವಸ್ಥೆಯು (system) ಏನು ಮಾಡಬಲ್ಲದು ಮತ್ತು ಅದು ಹೇಗೆ ವರ್ತಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೀವು ಪ್ರತ್ಯೇಕಿಸಬೇಕು.

ಒಂದು LLM ಸಂದರ್ಭದಿಂದ (context) ಪಠ್ಯವನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. ಅದು ವ್ಯವಸ್ಥೆಯ ಹರಿವನ್ನು (flow) ನಿಯಂತ್ರಿಸುವುದಿಲ್ಲ.

RAG ಉತ್ತರಗಳನ್ನು ಸುಧಾರಿಸಲು ಮಾಹಿತಿಯನ್ನು ಪಡೆಯುತ್ತದೆ. ಅದು ಯೋಜನೆ ರೂಪಿಸುವುದಿಲ್ಲ ಅಥವಾ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ.

Function calling ಒಂದು ಮಾಡೆಲ್ ಕ್ರಿಯೆಯನ್ನು (action) ವಿನಂತಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. ಯಾವ ಫಂಕ್ಷನ್‌ಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿವೆ ಮತ್ತು ಅವುಗಳನ್ನು ಯಾವಾಗ ಚಲಾಯಿಸಬೇಕು ಎಂಬುದನ್ನು ವ್ಯವಸ್ಥೆಯೇ ನಿರ್ಧರಿಸುತ್ತದೆ. ಮಾಡೆಲ್ ಕೇವಲ ವಿನಂತಿಯನ್ನು ಮಾಡುತ್ತದೆ.

ನೀವು ಈ ಮೂರನ್ನೂ ಸಂಯೋಜಿಸಬಹುದು ಮತ್ತು ಆದರೂ ನಿಮ್ಮ ಬಳಿ ಏಜೆಂಟ್ ಇರಲಿಕ್ಕಿಲ್ಲ. ಕ್ರಿಯೆಗಳ ಅನುಕ್ರಮದ (sequence of actions) ಮೇಲಿನ ನಿಯಂತ್ರಣವು ನಿಮ್ಮಲ್ಲಿ ಇಲ್ಲದಿರಬಹುದು.

ಹೆಚ್ಚಿನ ಪ್ರಸ್ತುತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮೊದಲೇ ನಿರ್ಧರಿಸಿದ ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ಬಳಸುತ್ತವೆ. ಕೋಡ್ ನಿರ್ಧರಿಸುತ್ತದೆ:

  • RAG ಅನ್ನು ಯಾವಾಗ ಬಳಸಬೇಕು
  • LLM ಅನ್ನು ಯಾವಾಗ ಕರೆಯಬೇಕು
  • ಫಂಕ್ಷನ್ ಅನ್ನು ಯಾವಾಗ ಪ್ರಾರಂಭಿಸಬೇಕು
  • ಅಂತಿಮ ಫಲಿತಾಂಶವನ್ನು ಹೇಗೆ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಬೇಕು

ಇದು ಒಂದು ಮಿತಿಯೊಳಗಿನ ಕಾರ್ಯವಿಧಾನ (bounded workflow). ಮಾಡೆಲ್ ನಿಗದಿತ ಹಾದಿಯೊಳಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಅದು ಒಂದು ಅನುಕ್ರಮವನ್ನು ಅನುಸರಿಸುತ್ತದೆ ಮತ್ತು ನಂತರ ನಿಲ್ಲುತ್ತದೆ. ಅದು ಯೋಜನೆ ರೂಪಿಸುವುದಿಲ್ಲ.

ಒಂದು AI ಏಜೆಂಟ್ ವಿಭಿನ್ನವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಅದು ನಿಗದಿತ ಹಾದಿಯನ್ನು ಅನುಸರಿಸುವುದಿಲ್ಲ. ಪ್ರಕ್ರಿಯೆಯ ಸಮಯದಲ್ಲಿ ಏನಾಗುತ್ತದೆ ಎಂಬುದರ ಆಧಾರದ ಮೇಲೆ ಅದು ಮುಂದಿನ ಹಂತವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.

ಒಂದು ಸಾಮಾನ್ಯ ವ್ಯವಸ್ಥೆಯು ಹೀಗೆ ಹೇಳುತ್ತದೆ: ಈ ಕಾರ್ಯವಿಧಾನವನ್ನು ಅನುಸರಿಸಿ. ಒಂದು ಏಜೆಂಟ್ ವ್ಯವಸ್ಥೆಯು ಹೀಗೆ ಹೇಳುತ್ತದೆ: ಈ ಗುರಿಯನ್ನು ಸಾಧಿಸಿ.

ಏಜೆಂಟ್ ಅನ್ನು ಅದರ ವರ್ತನೆಯಿಂದ ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ, ಅದರ ಪರಿಕರಗಳಿಂದಲ್ಲ. ಏಜೆಂಟ್ ಹೀಗಿರಬೇಕು:

  • ಮುಂದಿನ ಕ್ರಿಯೆಯನ್ನು ನಿರ್ಧರಿಸುವುದು
  • ಪರಿಕರಗಳನ್ನು ಡೈನಾಮಿಕವಾಗಿ ಆಯ್ಕೆ ಮಾಡುವುದು
  • ಹಲವಾರು ಹಂತಗಳ ಮೂಲಕ ಪುನರಾವರ್ತಿಸುವುದು
  • ಫಲಿತಾಂಶಗಳ ಆಧಾರದ ಮೇಲೆ ಕಾರ್ಯತಂತ್ರವನ್ನು ಬದಲಾಯಿಸುವುದು
  • ಗುರಿಯನ್ನು ತಲುಪುವವರೆಗೆ ಮುಂದುವರಿಯುವುದು

ವ್ಯತ್ಯಾಸವು ಜವಾಬ್ದಾರಿಯ ಬಗ್ಗೆ ಇದೆ.

ಒಂದು LLM ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ, ವ್ಯವಸ್ಥೆಯು ಮಾಡೆಲ್‌ಗೆ ಏನು ಮಾಡಬೇಕೆಂದು ಹೇಳುತ್ತದೆ. ಏಜೆಂಟ್‌ನಲ್ಲಿ, ವ್ಯವಸ್ಥೆಯು ಮಾಡೆಲ್‌ಗೆ ಗುರಿಯನ್ನು ಹೇಳುತ್ತದೆ. ಅದನ್ನು ಹೇಗೆ ತಲುಪಬೇಕೆಂದು ಮಾಡೆಲ್ ನಿರ್ಧರಿಸುತ್ತದೆ.

RAG ಸಂದರ್ಭವನ್ನು (context) ಒದಗಿಸುತ್ತದೆ. Function calling ಕ್ರಿಯೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. LLMಗಳು ತರ್ಕವನ್ನು (reasoning) ಒದಗಿಸುತ್ತವೆ.

ಆದರೆ ಮಾಡೆಲ್ ತನ್ನದೇ ಆದ ಕ್ರಿಯೆಗಳ ಅನುಕ್ರಮವನ್ನು ನಿಯಂತ್ರಿಸಿದಾಗ ಮಾತ್ರ ಏಜೆಂಟ್ ಅಸ್ತಿತ್ವದಲ್ಲಿರುತ್ತದೆ.

Source: https://dev.to/rohith_kn/llm-rag-function-calling-is-not-an-ai-agent-5459

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