LLM + RAG + Function Calling என்பது ஒரு AI Agent அல்ல
பலரும் எந்தவொரு AI பயன்பாட்டையும் (application) ஒரு ஏஜென்ட் (agent) என்று அழைக்கிறார்கள். RAG மற்றும் function calling பயன்படுத்தும் ஒரு LLM-ஐக் கண்டவுடன், அவர்கள் அந்தப் பெயரைச் சூட்டுகிறார்கள்.
இது தவறு.
இந்தத் கருவிகள் திறனை (capability) வழங்குகின்றன. அவை தன்னாட்சியை (autonomy) வழங்குவதில்லை. தன்னாட்சி இல்லையென்றால், உங்களிடம் ஒரு ஏஜென்ட் இல்லை என்று அர்த்தம்.
ஒரு அமைப்பு என்ன செய்ய முடியும் என்பதையும், அது எவ்வாறு செயல்படுகிறது என்பதையும் நீங்கள் தனித்தனியாகப் பார்க்க வேண்டும்.
ஒரு LLM சூழலிலிருந்து (context) உரையை உருவாக்குகிறது. அது அமைப்பின் ஓட்டத்தைக் (flow) கட்டுப்படுத்துவதில்லை.
RAG பதில்களை மேம்படுத்தத் தகவல்களைத் திரட்டுகிறது. அது திட்டமிடுவதோ அல்லது முடிவெடுப்பதோ இல்லை.
Function calling ஒரு மாடல் ஒரு செயலைக் கோர அனுமதிக்கிறது. எந்தெந்த functions உள்ளன மற்றும் அவற்றை எப்பொழுது இயக்க வேண்டும் என்பதை அமைப்புதான் தீர்மானிக்கிறது. மாடல் கோரிக்கையை மட்டுமே முன்வைக்கிறது.
நீங்கள் இவை மூன்றையும் இணைத்தாலும், ஒரு ஏஜென்ட் இல்லாமல் போகலாம். செயல்களின் வரிசையின் (sequence of actions) மீதான கட்டுப்பாடு உங்களிடம் இல்லை.
பெரும்பாலான தற்போதைய பயன்பாடுகள் முன்கூட்டியே தீர்மானிக்கப்பட்ட ஒரு pipeline-ஐப் பயன்படுத்துகின்றன. குறியீடு (code) தீர்மானிக்கிறது:
- RAG-ஐ எப்பொழுது பயன்படுத்த வேண்டும்
- LLM-ஐ எப்பொழுது அழைக்க வேண்டும்
- ஒரு function-ஐ எப்பொழுது இயக்க வேண்டும்
- இறுதி முடிவை எவ்வாறு செயலாக்க வேண்டும்
இது ஒரு வரையறுக்கப்பட்ட பணிப்பாய்வு (bounded workflow). மாடல் ஒரு குறிப்பிட்ட பாதையினுள் செயல்படுகிறது. அது ஒரு வரிசையைப் பின்பற்றிவிட்டு நின்றுவிடுகிறது. அது திட்டமிடுவதில்லை.
ஒரு AI ஏஜென்ட் வித்தியாசமாகச் செயல்படுகிறது. அது ஒரு குறிப்பிட்ட பாதையைப் பின்பற்றுவதில்லை. செயல்முறையின் போது என்ன நடக்கிறது என்பதைப் பொறுத்து அது அடுத்த கட்டத்தைத் தீர்மானிக்கிறது.
ஒரு சாதாரண அமைப்பு சொல்கிறது: இந்த பணிப்பாய்வைப் பின்பற்றுங்கள். ஒரு ஏஜென்ட் அமைப்பு சொல்கிறது: இந்த இலக்கை அடையுங்கள்.
ஒரு ஏஜென்ட் அதன் கருவிகளால் அல்ல, அதன் நடத்தையாலேயே (behavior) வரையறுக்கப்படுகிறது. ஒரு ஏஜென்ட் செய்ய வேண்டியவை:
- அடுத்த செயலைத் தீர்மானிக்க வேண்டும்
- கருவிகளைத் துரிதமாக (dynamically) தேர்ந்தெடுக்க வேண்டும்
- பல நிலைகளைக் கடந்து செல்ல வேண்டும்
- முடிவுகளின் அடிப்படையில் உத்தியை (strategy) மாற்றிக்கொள்ள வேண்டும்
- இலக்கை அடையும் வரை தொடர வேண்டும்
இந்த வேறுபாடு பொறுப்பைப் (responsibility) பற்றியது.
ஒரு LLM பயன்பாட்டில், அமைப்பு மாடலிடம் என்ன செய்ய வேண்டும் என்று சொல்கிறது. ஒரு ஏஜென்ட்டில், அமைப்பு மாடலிடம் இலக்கைக் கூறுகிறது. அந்த இலக்கை எவ்வாறு அடைவது என்பதை மாடல் தீர்மானிக்கிறது.
RAG சூழலை (context) வழங்குகிறது. Function calling செயல்களைச் சாத்தியமாக்குகிறது. LLMs பகுத்தறிவை (reasoning) வழங்குகிறது.
ஆனால் மாடல் தனது சொந்தச் செயல்களின் வரிசையைக் கட்டுப்படுத்தும்போது மட்டுமே ஒரு ஏஜென்ட் உருவாகிறது.
Source: https://dev.to/rohith_kn/llm-rag-function-calling-is-not-an-ai-agent-5459
Optional learning community: https://t.me/GyaanSetuAi
