LLM + RAG + Function Calling ਇੱਕ AI Agent ਨਹੀਂ ਹੈ

ਬਹੁਤ ਸਾਰੇ ਲੋਕ ਕਿਸੇ ਵੀ AI ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ agent ਕਹਿ ਦਿੰਦੇ ਹਨ। ਉਹ ਇੱਕ LLM ਨੂੰ RAG ਅਤੇ function calling ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਦੇਖਦੇ ਹਨ ਅਤੇ ਇਸ ਲੇਬਲ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ।

ਇਹ ਗਲਤ ਹੈ।

ਇਹ ਟੂਲ ਸਮਰੱਥਾ (capability) ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ। ਉਹ ਖੁਦਮੁਖਤਿਆਰੀ (autonomy) ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦੇ। ਖੁਦਮੁਖਤਿਆਰੀ ਤੋਂ ਬਿਨਾਂ, ਤੁਹਾਡੇ ਕੋਲ ਕੋਈ agent ਨਹੀਂ ਹੈ।

ਤੁਹਾਨੂੰ ਇਹ ਵੱਖ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਇੱਕ ਸਿਸਟਮ ਕੀ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਉਹ ਕਿਵੇਂ ਵਿਵਹਾਰ ਕਰਦਾ ਹੈ।

ਇੱਕ LLM ਸੰਦਰਭ (context) ਤੋਂ ਟੈਕਸਟ ਤਿਆਰ ਕਰਦਾ ਹੈ। ਇਹ ਸਿਸਟਮ ਦੇ ਪ੍ਰਵਾਹ (flow) ਨੂੰ ਕੰਟਰੋਲ ਨਹੀਂ ਕਰਦਾ।

RAG ਜਵਾਬਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਜਾਣਕਾਰੀ ਲਿਆਉਂਦਾ ਹੈ। ਇਹ ਯੋਜਨਾ ਨਹੀਂ ਬਣਾਉਂਦਾ ਜਾਂ ਫੈਸਲੇ ਨਹੀਂ ਲੈਂਦਾ।

Function calling ਇੱਕ ਮਾਡਲ ਨੂੰ ਕਿਸੇ action ਦੀ ਬੇਨਤੀ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ। ਸਿਸਟਮ ਅਜੇ ਵੀ ਇਹ ਫੈਸਲਾ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜੇ functions ਮੌਜੂਦ ਹਨ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਕਦੋਂ ਚਲਾਉਣਾ ਹੈ। ਮਾਡਲ ਸਿਰਫ਼ ਬੇਨਤੀ ਕਰਦਾ ਹੈ।

ਤੁਸੀਂ ਇਹਨਾਂ ਤਿੰਨਾਂ ਨੂੰ ਮਿਲਾ ਸਕਦੇ ਹੋ ਪਰ ਫਿਰ ਵੀ ਤੁਹਾਡੇ ਕੋਲ agent ਦੀ ਘਾਟ ਹੋ ਸਕਦੀ ਹੈ। ਤੁਹਾਡੇ ਕੋਲ actions ਦੇ ਕ੍ਰਮ (sequence) ਉੱਤੇ ਕੰਟਰੋਲ ਦੀ ਕਮੀ ਹੈ।

ਜ਼ਿਆਦਾਤਰ ਮੌਜੂਦਾ ਐਪਲੀਕੇਸ਼ਨਾਂ ਇੱਕ predefined pipeline ਦੀ ਵਰਤੋਂ ਕਰਦੀਆਂ ਹਨ। ਕੋਡ ਫੈਸਲਾ ਕਰਦਾ ਹੈ:

  • RAG ਦੀ ਵਰਤੋਂ ਕਦੋਂ ਕਰਨੀ ਹੈ
  • LLM ਨੂੰ ਕਦੋਂ ਕਾਲ ਕਰਨਾ ਹੈ
  • ਇੱਕ function ਨੂੰ ਕਦੋਂ trigger ਕਰਨਾ ਹੈ
  • ਅੰਤਿਮ ਨਤੀਜੇ ਨੂੰ ਕਿਵੇਂ process ਕਰਨਾ ਹੈ

ਇਹ ਇੱਕ bounded workflow ਹੈ। ਮਾਡਲ ਇੱਕ ਨਿਰਧਾਰਤ ਮਾਰਗ ਦੇ ਅੰਦਰ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ ਇੱਕ sequence ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ ਅਤੇ ਫਿਰ ਰੁਕ ਜਾਂਦਾ ਹੈ। ਇਹ ਯੋਜਨਾ ਨਹੀਂ ਬਣਾਉਂਦਾ।

ਇੱਕ AI agent ਵੱਖਰੇ ਤਰੀਕੇ ਨਾਲ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ ਕਿਸੇ ਨਿਰਧਾਰਤ ਮਾਰਗ ਦੀ ਪਾਲਣਾ ਨਹੀਂ ਕਰਦਾ। ਇਹ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਕੀ ਹੁੰਦਾ ਹੈ, ਉਸ ਦੇ ਅਧਾਰ 'ਤੇ ਅਗਲਾ ਕਦਮ ਤੈਅ ਕਰਦਾ ਹੈ।

ਇੱਕ standard system ਕਹਿੰਦਾ ਹੈ: ਇਸ workflow ਦੀ ਪਾਲਣਾ ਕਰੋ। ਇੱਕ agent system ਕਹਿੰਦਾ ਹੈ: ਇਸ goal ਨੂੰ ਹੱਲ ਕਰੋ।

ਇੱਕ agent ਦੀ ਪਰਿਭਾਸ਼ਾ ਉਸਦੇ ਵਿਵਹਾਰ ਦੁਆਰਾ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਨਾ ਕਿ ਉਸਦੇ tools ਦੁਆਰਾ। ਇੱਕ agent ਨੂੰ ਇਹ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ:

  • ਅਗਲੀ action ਦਾ ਫੈਸਲਾ ਕਰਨਾ
  • Dynamically tools ਦੀ ਚੋਣ ਕਰਨਾ
  • ਕਈ ਕਦਮਾਂ ਰਾਹੀਂ iterate ਕਰਨਾ
  • ਨਤੀਜਿਆਂ ਦੇ ਅਧਾਰ 'ਤੇ strategy ਬਦਲਣਾ
  • Goal ਤੱਕ ਪਹੁੰਚਣ ਤੱਕ ਜਾਰੀ ਰੱਖਣਾ

ਅੰਤਰ ਜ਼ਿੰਮੇਵਾਰੀ (responsibility) ਬਾਰੇ ਹੈ।

ਇੱਕ LLM ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ, ਸਿਸਟਮ ਮਾਡਲ ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਕੀ ਕਰਨਾ ਹੈ। ਇੱਕ agent ਵਿੱਚ, ਸਿਸਟਮ ਮਾਡਲ ਨੂੰ goal ਦੱਸਦਾ ਹੈ। ਮਾਡਲ ਫੈਸਲਾ ਕਰਦਾ ਹੈ ਕਿ ਉਸ ਤੱਕ ਕਿਵੇਂ ਪਹੁੰਚਣਾ ਹੈ।

RAG context ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। Function calling actions ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦੀ ਹੈ। LLMs reasoning ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ।

ਪਰ ਇੱਕ agent ਉਦੋਂ ਹੀ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਮਾਡਲ ਆਪਣੀਆਂ actions ਦੀ sequence ਨੂੰ ਖੁਦ ਕੰਟਰੋਲ ਕਰਦਾ ਹੈ।

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

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