தயாரிப்பில் AI ஏஜென்ட்களை இயக்கியபோது நான் கற்றுக்கொண்டவை
நான் AI அமைப்புகளை உருவாக்குகிறேன். குறியீடுகளை (code) வெளியிடும் பொறியாளர்களுடன் நான் உரையாடுகிறேன். கண்கவர் டெமோக்களுக்கும் (demos) உண்மையான தயாரிப்பு அமைப்புகளுக்கும் (production systems) இடையே ஒரு இடைவெளி உள்ளது.
இப்போது எல்லாவற்றையும் மக்கள் ஒரு ஏஜென்ட் என்று அழைக்கிறார்கள். ஒரு லூப் (loop) கொண்ட ஸ்கிரிப்ட் ஒரு ஏஜென்ட். நினைவாற்றல் (memory) கொண்ட ஒரு சாட்போட் ஒரு ஏஜென்ட். இந்தத் தவறு மோசமான பொறியியல் முறைக்கு வழிவகுக்கிறது.
குழுக்கள் எளிமையான பணிகளுக்கு அதிகப்படியான பொறியியல் நுட்பங்களைப் பயன்படுத்துகின்றன (over-engineer). ஒரு நல்ல பிராம்ப்ட் (prompt) மட்டுமே போதுமான ஒரு பணிப்பாய்விற்கு (workflow), அவர்கள் சிக்கலான ஒருங்கிணைப்புகளை (orchestration) சேர்க்கிறார்கள்.
ஒரு ஏஜென்ட் வெறும் அறிவுறுத்தலை (instruction) மட்டும் கொண்டிருக்காமல், ஒரு குறிக்கோளைக் (objective) கொண்டிருக்க வேண்டும். அடுத்து என்ன செய்ய வேண்டும் என்பதை அதுவே தீர்மானிக்க வேண்டும். அது தோல்விகளைக் கையாள வேண்டும். அது எப்போது முடிந்தது என்பதை அதுவே அறிய வேண்டும்.
மற்ற அனைத்தும் வெறும் ஃபங்க்ஷன் கால் (function call) மட்டுமே.
• ஒரு மனிதன் ஒவ்வொரு அடியையும் வழிநடத்த வேண்டும் என்றால், அது ஒரு சாட் இன்டர்ஃபேஸ் (chat interface). • ஒரு கருவி அழைப்பு (tool call) தோல்வியடையும் போது, ஒரு அமைப்பு அதிலிருந்து மீண்டு வந்தால், அது ஒரு ஏஜென்ட். • ஒரு அமைப்பு ஒரு இலக்கை துணைப் பணிகளாக (subtasks) பிரிக்கிறது என்றால், அது ஒரு உண்மையான ஏஜென்ட்.
உண்மையான ஏஜென்ட் பயன்பாடுகள் (deployments) குறுகிய எல்லை கொண்டவை. அவை ஆவணப் பிரித்தெடுத்தல் (document extraction) அல்லது குறியீடு ஆய்வு (code review) போன்ற ஒரு வேலையைச் சிறப்பாகச் செய்கின்றன. அவை பொதுவான பகுத்தறிவு இயந்திரங்கள் (general reasoning engines) அல்ல.
வெற்றிகரமான குழுக்கள் மூன்று விஷயங்களில் கவனம் செலுத்துகின்றன:
- கருவி வடிவமைப்பு (Tool design): ஏஜென்ட் அழைக்கும் விஷயங்களுக்கான சுத்தமான இடைமுகங்கள் (interfaces).
- தோல்வி கையாளுதல் (Failure handling): ஒரு கருவி எதையும் திரும்பத் தராதபோது என்ன நடக்கும் என்பது பற்றியது.
- கவனிப்புத்திறன் (Observability): ஒரு ஏஜென்ட் ஏன் ஒரு குறிப்பிட்ட முடிவை எடுத்தது என்பதைக் கண்டறிதல் (tracing).
LangChain அல்லது CrewAI போன்ற கட்டமைப்புகள் (frameworks) ஒவ்வொரு மாதமும் மாறுகின்றன. கட்டமைப்புகளை விட வடிவங்களே (patterns) முக்கியம்.
வெற்றி பெற இந்த வடிவங்களைப் பயன்படுத்தவும்:
- திட்டமிட்டு பின் செயல்படுத்துதல்: திட்டமிடுவதற்கு ஒரு படிநிலையும், செயல்படுத்துவதற்கு ஒரு தனிப் படிநிலையும் பயன்படுத்தவும்.
- மீட்டெடுப்பிலிருந்து (retrieval) பகுத்தறிவைப் பிரித்தல்: சூழலைத் (context) திரட்டுவதும், அந்தச் சூழலைப் பயன்படுத்துவதும் வெவ்வேறு வேலைகள்.
- வெளிப்படையான ஒப்படைப்புகள் (Explicit handoffs): ஒரு ஏஜென்ட் மற்றொரு ஏஜென்ட்டிடம் வேலையை ஒப்படைக்கும்போது கட்டமைக்கப்பட்ட பதிவுகளைப் (structured logs) பயன்படுத்தவும்.
RAG என்பது ஒரு தரநிலையாக உள்ளது, ஆனால் பெரும்பாலானவர்கள் சங்கிங்கில் (chunking) தோல்வியடைகிறார்கள். நீங்கள் உரையைத் தவறாகப் பிரித்தால், மாடல் சூழலை (context) இழந்துவிடும். உங்கள் RAG முடிவுகள் பயனற்றதாக இருந்தால், மாடலைத்탓ப்பதற்கு முன் உங்கள் மெட்டாடேட்டா (metadata) மற்றும் சங்கிங் உத்தியைச் (chunking strategy) சரிபார்க்கவும்.
மாடல்கள் சிறந்ததாகவும் மலிவாகவும் மாறும். இது அடிப்படை பொறியியல் சவாலை மாற்றாது. நீங்கள் கவனித்துக் கொண்டிருக்காத போதும் சரியாகச் செயல்படும் அமைப்புகளை நீங்கள் உருவாக்க வேண்டும்.
நிர்வாகம் (governance) மற்றும் கவனிப்புத்திறன் (observability) ஆகியவற்றில் கவனம் செலுத்துங்கள். மற்றவர்கள் நம்பக்கூடிய அமைப்புகளை உருவாக்குபவர்களே முக்கியமான பொறியாளர்களாக இருப்பார்கள். இது சிஸ்டம்ஸ் டிசைன் (systems design), மாடல் ஆராய்ச்சி அல்ல.
ஆதாரம்: https://dev.to/aibughunter/what-i-learned-after-running-ai-agents-in-production-for-a-year-49n
